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 {
77 out << get_name() <<
":";
78 out <<
" dur " << get_duration();
bool is_empty() const
Returns true if the NodePath contains no nodes.
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...
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.
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.
virtual void priv_step(double t)
Advances the time on the interval.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...