18 TypeHandle CConstrainPosHprInterval::_type_handle;
32 bool wrt,
const LVecBase3 posOffset,
33 const LVecBase3 hprOffset) :
40 _quatOffset.set_hpr(hprOffset);
50 check_started(get_class_type(),
"priv_step");
57 interval_cat.warning()
58 <<
"Unable to copy position and orientation in CConstrainPosHprInterval::priv_step;\n" 60 <<
") and target (" << _target.
get_name()
61 <<
") are not in the same graph.\n";
74 void CConstrainPosHprInterval::
75 output(std::ostream &out)
const {
76 out << get_name() <<
":";
77 out <<
" dur " << get_duration();
bool is_empty() const
Returns true if the NodePath contains no nodes.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual void priv_step(double t)
Advances the time on the interval.
void set_pos_quat(const LVecBase3 &pos, const LQuaternion &quat)
Sets the translation and rotation component of the transform, leaving scale untouched.
CConstrainPosHprInterval(const std::string &name, double duration, const NodePath &node, const NodePath &target, bool wrt, const LVecBase3 posOffset=LVector3::zero(), const LVecBase3 hprOffset=LVector3::zero())
Constructs a constraint interval that will constrain the position and orientation of one node to the ...
get_name
Returns the name of the referenced node.
The base class for a family of intervals that constrain some property to a value over time.
LQuaternion get_quat() const
Retrieves the rotation component of the transform.
LPoint3 get_pos() const
Retrieves the translation component of the transform.
bool is_same_graph(const NodePath &other, Thread *current_thread=Thread::get_current_thread()) const
Returns true if the node represented by this NodePath is parented within the same graph as that of th...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...