IMP Reference Guide  develop.6100cc8943,2021/10/26 The Integrative Modeling Platform
IMP::kinematics::PrismaticJoint Class Reference

Joint in which two rigid bodies may slide along a line. More...

#include <IMP/kinematics/PrismaticJoint.h>

Inheritance diagram for IMP::kinematics::PrismaticJoint:

Detailed Description

Joint in which two rigid bodies may slide along a line.

Definition at line 24 of file PrismaticJoint.h.

Public Member Functions

PrismaticJoint (IMP::core::RigidBody parent, IMP::core::RigidBody child, IMP::core::XYZ a, IMP::core::XYZ b)

PrismaticJoint (IMP::core::RigidBody parent, IMP::core::RigidBody child)

double get_length () const
Get the length of the prismatic joint. More...

void set_length (double l)

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

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_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)

virtual void update_child_node_reference_frame () const

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::PrismaticJoint::PrismaticJoint ( IMP::core::RigidBody parent, IMP::core::RigidBody child, IMP::core::XYZ a, IMP::core::XYZ b )

Create a prismatic joint whose axis of translation is from a to b, which serve as witnesses for the joint transformation (a is associated with the parent and b with the child)

 IMP::kinematics::PrismaticJoint::PrismaticJoint ( IMP::core::RigidBody parent, IMP::core::RigidBody child )

Create a prismatic joint whose axis of translation is between the reference frames of parent and child, who also serve as witnesses for the joint transformation

Member Function Documentation

 double IMP::kinematics::PrismaticJoint::get_length ( ) const

Get the length of the prismatic joint.

The length is defined as the length between the two witnesses.

 void IMP::kinematics::PrismaticJoint::set_length ( double l )

sets the length of the prismatic joint to l, that is the length between the two witnesses set up upon construction (in a lazy fashion, without updating external coords). Updates the owner of the change in internal coordinates.

Note
it is assumed that l > 0, and for efficiency, runtime checks for this are not made in fast mode
 virtual void IMP::kinematics::PrismaticJoint::update_joint_from_cartesian_witnesses ( )
protectedvirtual

Update the length and transformation of the prismatic joint based on the distance and relative orientation of the witnesses given upon construction.

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: