IMP logo
IMP Reference Guide  develop.d97d4ead1f,2024/11/21
The Integrative Modeling Platform
IMP::kinematics::CompositeJoint Class Reference

Joint that combines several inner joints, acting on the same rigid body pair. More...

#include <IMP/kinematics/CompositeJoint.h>

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

Detailed Description

Joint that combines several inner joints, acting on the same rigid body pair.

Definition at line 28 of file CompositeJoint.h.

Public Member Functions

 CompositeJoint (IMP::core::RigidBody parent, IMP::core::RigidBody child, Joints joints=Joints())
 Constructor. More...
 
void add_downstream_joint (Joint *j)
 Adds a joint at the end of the list (closest to the child rigid body) More...
 
void add_upstream_joint (Joint *j)
 Adds a joint at the front of the list (closest to the parent rigid body) More...
 
const Jointsget_inner_joints () const
 Returns the inner joints. More...
 
Jointsget_inner_joints ()
 Returns the inner joints. More...
 
void set_joints (Joints joints)
 Sets the list of inner joints instead of the existing one. More...
 
- Public Member Functions inherited from IMP::kinematics::Joint
 Joint (IMP::core::RigidBody parent, IMP::core::RigidBody child)
 Constructor. More...
 
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 override
 
virtual ::IMP::VersionInfo get_version_info () const override
 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 override
 Update the child node reference frame by applying all the inner joints. More...
 
virtual void update_joint_from_cartesian_witnesses () override
 
- 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() 
)

Constructor.

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 (closest to the child rigid body)

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

Definition at line 51 of file CompositeJoint.h.

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

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

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

Definition at line 64 of file CompositeJoint.h.

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

Returns the inner joints.

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

Definition at line 88 of file CompositeJoint.h.

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

Returns the inner joints.

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

Definition at line 95 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
overrideprotectedvirtual

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 ( )
overrideprotectedvirtual

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: