IMP logo
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: