11 #ifndef IMPKINEMATICS_COMPOSITE_JOINT_H
12 #define IMPKINEMATICS_COMPOSITE_JOINT_H
14 #include "kinematics_config.h"
20 #include <IMP/core/internal/dihedral_helpers.h>
24 IMPKINEMATICS_BEGIN_NAMESPACE
60 j->get_child_node() == this->get_child_node(),
61 "inner joint within a composite joint must have"
62 "the same parent and child rigid body nodes",
75 j->get_child_node() == this->get_child_node(),
76 "inner joint within a composite joint must have"
77 <<
"the same parent and child rigid body nodes",
79 joints_.insert(joints_.begin(), j);
93 void set_joints(
Joints joints);
133 IMPKINEMATICS_END_NAMESPACE
void add_upstream_joint(Joint *j)
Joints & get_inner_joints()
virtual void update_joint_from_cartesian_witnesses()
functionality for defining a kinematic joint between rigid bodies as part of a kinematic tree ...
functionality for defining nodes on a kinematic chain
const Joints & get_inner_joints() const
IMP::base::Vector< IMP::base::Pointer< Joint > > Joints
virtual void update_child_node_reference_frame() const
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Exception definitions and assertions.
void add_downstream_joint(Joint *j)
Exception definitions and assertions.
A shared base class to help in debugging and things.
A decorator for a rigid body.
#define IMP_ALWAYS_CHECK(condition, message, exception_name)
Throw an exception if a check fails.