18 TypeHandle CConstrainPosInterval::_type_handle;
31 bool wrt,
const LVecBase3 posOffset) :
47 check_started(get_class_type(),
"priv_step");
54 interval_cat.warning()
55 <<
"Unable to copy position in CConstrainPosInterval::priv_step;\n"
57 <<
") and target (" << _target.
get_name()
58 <<
") are not in the same graph.\n";
61 _target.set_pos(_node, _posOffset);
63 if(_posOffset == LVector3::zero()) {
64 _target.set_pos(_node.
get_pos());
66 _target.set_pos(_node.
get_pos() + _posOffset);
75 void CConstrainPosInterval::
76 output(std::ostream &out)
const {
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
CConstrainPosInterval(const std::string &name, double duration, const NodePath &node, const NodePath &target, bool wrt, const LVecBase3 posOffset=LVector3::zero())
Constructs a constraint interval that will constrain the position of one node to the position of anot...
virtual void priv_step(double t)
Advances the time on the interval.
The base class for a family of intervals that constrain some property to a value over time.
get_name
Returns the interval's name.
get_duration
Returns the duration of the interval in seconds.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
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...
LPoint3 get_pos() const
Retrieves the translation component of the transform.
bool is_empty() const
Returns true if the NodePath contains no nodes.
get_name
Returns the name of the referenced node.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.