IMP logo
IMP Reference Guide  2.5.0
The Integrative Modeling Platform
IMP::kinematics::CompositeJoint Class Reference

#include <IMP/kinematics/CompositeJoint.h>

+ Inheritance diagram for IMP::kinematics::CompositeJoint:

Detailed Description

A joint that combines several inner joints, acting on the same pair of rigid bodies

Definition at line 33 of file CompositeJoint.h.

Public Member Functions

 CompositeJoint (IMP::core::RigidBody parent, IMP::core::RigidBody child, Joints joints=Joints())
 
void add_downstream_joint (Joint *j)
 
void add_upstream_joint (Joint *j)
 
const Jointsget_inner_joints () const
 
Jointsget_inner_joints ()
 
void set_joints (Joints joints)
 
- Public Member Functions inherited from IMP::kinematics::Joint
 Joint (IMP::core::RigidBody parent, IMP::core::RigidBody child)
 
IMP::core::RigidBody get_child_node () const
 
KinematicForestget_owner_kf () const
 
IMP::core::RigidBody get_parent_node () const
 
virtual const
IMP::algebra::Transformation3D
get_transformation_child_to_parent () const
 
virtual std::string get_type_name () const
 
virtual ::IMP::VersionInfo get_version_info () const
 Get information about the module and version of the object. More...
 
- Public Member Functions inherited from IMP::Object
virtual void clear_caches ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Protected Member Functions

virtual void update_child_node_reference_frame () const
 
virtual void update_joint_from_cartesian_witnesses ()
 
- Protected Member Functions inherited from IMP::kinematics::Joint
virtual const
IMP::algebra::Transformation3D
get_transformation_child_to_parent_no_checks () const
 
void set_owner_kf (KinematicForest *kf)
 
void set_transformation_child_to_parent_no_checks (IMP::algebra::Transformation3D transformation)
 
- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Constructor & Destructor Documentation

IMP::kinematics::CompositeJoint::CompositeJoint ( IMP::core::RigidBody  parent,
IMP::core::RigidBody  child,
Joints  joints = Joints() 
)

Constructs a composite joint between parent and child, with the specified list of inner joints connecting them.

Parameters
parentrigid body upstream of this joint
childrigid body downstream of this joint
[in]jointsThe list of inner joints connecting the two rigid bodies. These will be applied by their specified order in the list, from the parent rigid body to the child rigid body. It is assumed all these joints share the same parent and child as the composite joint.

Member Function Documentation

void IMP::kinematics::CompositeJoint::add_downstream_joint ( Joint j)

adds a joint at the end of the list of joints (closest to the child rigid body)

Note
the joint must have the same parent and child as the composite joint

Definition at line 57 of file CompositeJoint.h.

void IMP::kinematics::CompositeJoint::add_upstream_joint ( Joint j)

adds a joint at the front of the list of joints (closest to the parent rigid body)

Note
the joint must have the same parent and child as the composite joint

Definition at line 72 of file CompositeJoint.h.

const Joints& IMP::kinematics::CompositeJoint::get_inner_joints ( ) const

returns the list of inner joints, ordered from the parent rigid body downstream to the child rigid body

Definition at line 98 of file CompositeJoint.h.

Joints& IMP::kinematics::CompositeJoint::get_inner_joints ( )

returns the list of inner joints, ordered from the parent rigid body downstream to the child rigid body

Definition at line 105 of file CompositeJoint.h.

void IMP::kinematics::CompositeJoint::set_joints ( Joints  joints)

Sets the list of inner joints instead of the existing one,

Parameters
jointsthe new joints, ordered from the parent rigid body downstream to the child rigid body.
Note
All joints must have the same parent and child as the composite joint
This invalidates all existing inner joints if any, detaching them from their current KinematicForest owner if it exists.
virtual void IMP::kinematics::CompositeJoint::update_child_node_reference_frame ( ) const
protectedvirtual

update the child node reference frame by applying all the inner joints

Reimplemented from IMP::kinematics::Joint.

virtual void IMP::kinematics::CompositeJoint::update_joint_from_cartesian_witnesses ( )
protectedvirtual

Updates all inner joints value, and the overall transformation resulting from their combinations, based on the external coordinates of the witnesses to each of the inner joints.

Note
It is assumed that external coordinates are updated before calling this function.

Reimplemented from IMP::kinematics::Joint.


The documentation for this class was generated from the following file: