| 
    IMP Reference Guide
    2.23.0
    
   The Integrative Modeling Platform 
   | 
 
Abstract class for all revolute joints. More...
#include <IMP/kinematics/revolute_joints.h>
 Inheritance diagram for IMP::kinematics::RevoluteJoint:Abstract class for all revolute joints.
Definition at line 47 of file revolute_joints.h.
Public Member Functions | |
| RevoluteJoint (IMP::core::RigidBody parent, IMP::core::RigidBody child) | |
| Construct on the line connecting a and b, with an initial angle 'angle'.  More... | |
| double | get_angle () const | 
| void | set_angle (double angle) | 
  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 | 
| KinematicForest * | get_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 double | get_current_angle_from_cartesian_witnesses () const =0 | 
| const IMP::algebra::Vector3D & | get_rot_axis_origin () const | 
| const IMP::algebra::Vector3D & | get_rot_axis_unit_vector () const | 
| IMP::algebra::Transformation3D | get_rotation_about_joint_in_parent_coordinates () const | 
| virtual void | update_axis_of_rotation_from_cartesian_witnesses ()=0 | 
| virtual void | update_child_node_reference_frame () const override | 
| 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 () | 
Protected Attributes | |
| double | angle_ | 
| double | last_updated_angle_ | 
| IMP::algebra::Vector3D | rot_axis_origin_ | 
| IMP::algebra::Vector3D | rot_axis_unit_vector_ | 
| IMP::kinematics::RevoluteJoint::RevoluteJoint | ( | IMP::core::RigidBody | parent, | 
| IMP::core::RigidBody | child | ||
| ) | 
Construct on the line connecting a and b, with an initial angle 'angle'.
| parent,child | kinematic nodes upstream and downstream (resp.) of this joint | 
| double IMP::kinematics::RevoluteJoint::get_angle | ( | ) | const | 
gets the angle of the revolute joint. This method is kinematically safe (it triggers an update to internal coordinates if needed)
      
  | 
  protectedpure virtual | 
this protected method uses the Cartesian witnesses to compute the actual current angle of this joint (assuming external coordinates of required Cartesian witnesses are up to date).
Implemented in IMP::kinematics::BondAngleRevoluteJoint, and IMP::kinematics::DihedralAngleRevoluteJoint.
      
  | 
  protected | 
Returns the transformation matrix for rotating a vector in parent coordinates about the axis of the joint, in a way that would bring the Cartesian witnesses to the correct joint angle (as measured by get_angle_from_cartesian_witnesses() ).
Definition at line 133 of file revolute_joints.h.
 Here is the call graph for this function:| void IMP::kinematics::RevoluteJoint::set_angle | ( | double | angle | ) | 
sets the angle of the revolute joint and marks the internal coordinates as changed in the kinematic forest object
      
  | 
  protectedpure virtual | 
this protected method updates the rot_axis_unit_vector_ and rot_axis_origin_ variables based on the Cartesian witnesses appropriate for a specific implementation of this abstract class, using parent coordinates, assuming all Cartesian witnesses are updated
Implemented in IMP::kinematics::BondAngleRevoluteJoint, and IMP::kinematics::DihedralAngleRevoluteJoint.
      
  | 
  overrideprotectedvirtual | 
Updates the reference frame of the child node by this joint angle, assuming the parent reference frame and the witnesses that affect update_axis_of_rotation_from_cartesian_witnesses() are all updated already
Reimplemented from IMP::kinematics::Joint.
      
  | 
  overrideprotectedvirtual | 
Update the joint internal parameters based on external reference frames of witnesses and rigid bodies, assuming external parameters are updated
Reimplemented from IMP::kinematics::Joint.
Definition at line 119 of file revolute_joints.h.
 Here is the call graph for this function: