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

#include <IMP/kinematics/Joint.h>

+ Inheritance diagram for IMP::kinematics::Joint:

Detailed Description

Base class for joints between rigid bodies in a kinematic tree.

Definition at line 33 of file Joint.h.

Public Member Functions

 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
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 const
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)
virtual void update_child_node_reference_frame () const
virtual void update_joint_from_cartesian_witnesses ()
- 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::Joint::Joint ( IMP::core::RigidBody  parent,
IMP::core::RigidBody  child 

An abstract class for a joint between a parent and a child

parentrigid body upstream of this joint
childrigid body downstream of this joint
we currently assume that a parent cannot be switched

Member Function Documentation

virtual const IMP::algebra::Transformation3D& IMP::kinematics::Joint::get_transformation_child_to_parent ( ) const

returns the transformation of a vector from the child reference frame to the parent reference frame in a safe way (= after updating internal coordinates if needed)

virtual const IMP::algebra::Transformation3D& IMP::kinematics::Joint::get_transformation_child_to_parent_no_checks ( ) const

returns the transformation of a vector from the child reference frame to the parent reference frame, without any checks (= without updating internal coordinates even if needed)

Definition at line 79 of file Joint.h.

virtual ::IMP::VersionInfo IMP::kinematics::Joint::get_version_info ( ) const

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 37 of file Joint.h.

void IMP::kinematics::Joint::set_owner_kf ( KinematicForest kf)

this sets the kinematic forest that manages this joint, and also declares it as used (

See Also

Definition at line 89 of file Joint.h.

+ Here is the call graph for this function:

void IMP::kinematics::Joint::set_transformation_child_to_parent_no_checks ( IMP::algebra::Transformation3D  transformation)

Sets the transformation from parent to child reference frame (without any checks that internal coords are updated, and without marking the owner internal coords as changed)

Definition at line 99 of file Joint.h.

virtual void IMP::kinematics::Joint::update_child_node_reference_frame ( ) const

Updates the reference frame of the rigid body directly downstream of this joint

Reimplemented in IMP::kinematics::CompositeJoint, and IMP::kinematics::RevoluteJoint.

virtual void IMP::kinematics::Joint::update_joint_from_cartesian_witnesses ( )

Updates the joint transformation based on external coordinates of 'witness' particles.

It is assumed that external coordinates are updated before calling this function.
Witness particles do not necessarily belong to the child or parent rigid bodes.

Reimplemented in IMP::kinematics::CompositeJoint, IMP::kinematics::RevoluteJoint, and IMP::kinematics::PrismaticJoint.

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