IMP Reference Guide
2.18.0
The Integrative Modeling Platform
|
A rigid body that is connected by a joint to other rigid bodies. More...
#include <IMP/kinematics/KinematicNode.h>
A rigid body that is connected by a joint to other rigid bodies.
Definition at line 26 of file KinematicNode.h.
Public Member Functions | |
KinematicNode (::IMP::Model *m,::IMP::ParticleIndex id) | |
KinematicNode (const IMP::ParticleAdaptor &d) | |
void | show (std::ostream &out=std::cout) const |
Public Member Functions inherited from IMP::core::RigidBody | |
RigidBody (::IMP::Model *m,::IMP::ParticleIndex id) | |
RigidBody (const IMP::ParticleAdaptor &d) | |
void | add_member (ParticleIndexAdaptor p) |
void | add_non_rigid_member (ParticleIndexAdaptor p) |
void | add_to_derivatives (const algebra::Vector3D &local_derivative, const algebra::Vector3D &local_location, DerivativeAccumulator &da) |
void | add_to_derivatives (const algebra::Vector3D &local_derivative, const algebra::Vector3D &global_derivative, const algebra::Vector3D &local_location, const algebra::Rotation3D &rot_local_to_global, DerivativeAccumulator &da) |
void | add_to_rotational_derivatives (const algebra::Vector4D &other_qderiv, const algebra::Rotation3D &rot_other_to_local, const algebra::Rotation3D &rot_local_to_global, DerivativeAccumulator &da) |
void | add_to_rotational_derivatives (const algebra::Vector4D &qderiv, DerivativeAccumulator &da) |
void | add_to_torque (const algebra::Vector3D &torque_local, DerivativeAccumulator &da) |
const ParticleIndexes & | get_body_member_particle_indexes () const |
algebra::Vector3D | get_coordinates () const |
bool | get_coordinates_are_optimized () const |
ParticleIndexes | get_member_indexes () const |
const ParticleIndexes & | get_member_particle_indexes () const |
IMP::algebra::ReferenceFrame3D | get_reference_frame () const |
RigidMembers | get_rigid_members () const |
IMP::algebra::Rotation3D | get_rotation () const |
algebra::VectorD< 4 > | get_rotational_derivatives () const |
Get the derivatives of the quaternion. More... | |
algebra::Vector3D | get_torque () const |
void | normalize_rotation () |
Normalize the quaternion. More... | |
void | pull_back_body_member_adjoints (ParticleIndex pi, DerivativeAccumulator &da) |
Pull back global adjoints from member that is also a rigid body. More... | |
void | pull_back_body_member_adjoints (ParticleIndex pi, const algebra::Transformation3D &TA, algebra::Transformation3D &TB, algebra::Transformation3DAdjoint &DTC, algebra::Transformation3DAdjoint &DTA, algebra::Transformation3DAdjoint &DTB, algebra::Vector3D &betatorque, DerivativeAccumulator &da) |
void | pull_back_member_adjoints (ParticleIndex pi, DerivativeAccumulator &da) |
Pull back global adjoints from member that is a point. More... | |
void | pull_back_member_adjoints (ParticleIndex pi, const algebra::Transformation3D &T, algebra::Vector3D &x, algebra::Vector3D &Dy, algebra::Vector3D &Dx, algebra::Transformation3DAdjoint &DT, algebra::Vector3D &xtorque, DerivativeAccumulator &da) |
void | pull_back_members_adjoints (DerivativeAccumulator &da) |
Pull back global adjoints from members. More... | |
void | set_coordinates_are_optimized (bool tf) |
void | set_is_rigid_member (ParticleIndex pi, bool tf) |
void | set_reference_frame (const IMP::algebra::ReferenceFrame3D &tr) |
Set the current reference frame. More... | |
void | set_reference_frame_from_members (const ParticleIndexes &members) |
void | set_reference_frame_lazy (const IMP::algebra::ReferenceFrame3D &tr) |
Change the reference, delay updating the members until evaluate. More... | |
void | show (std::ostream &out=std::cout) const |
void | update_members () |
Public Member Functions inherited from IMP::core::XYZ | |
XYZ (::IMP::Model *m,::IMP::ParticleIndex id) | |
XYZ (const IMP::ParticleAdaptor &d) | |
void | add_to_derivative (int i, Float v, DerivativeAccumulator &d) |
void | add_to_derivatives (const algebra::Vector3D &v, DerivativeAccumulator &d) |
Add the vector v to the derivative vector of the x,y,z coordinates. More... | |
Float | get_coordinate (int i) const |
Get the ith coordinate. More... | |
const algebra::Vector3D & | get_coordinates () const |
Convert it to a vector. More... | |
bool | get_coordinates_are_optimized () const |
Get whether the coordinates are optimized. More... | |
Float | get_derivative (int i) const |
algebra::Vector3D | get_derivatives () const |
Get the vector of derivatives accumulated by add_to_derivatives(). More... | |
algebra::Vector3D | get_vector_to (const XYZ &b) const |
Get the vector from this particle to another. More... | |
Float | get_x () const |
Float | get_y () const |
Float | get_z () const |
void | set_coordinate (unsigned int i, Float v) |
set the ith coordinate More... | |
void | set_coordinates (const algebra::Vector3D &v) |
set all coordinates from a vector More... | |
void | set_coordinates_are_optimized (bool tf) const |
Set whether the coordinates are optimized. More... | |
void | set_x (Float t) |
void | set_y (Float t) |
void | set_z (Float t) |
void | show (std::ostream &out=std::cout) const |
Public Member Functions inherited from IMP::Decorator | |
bool | get_is_valid () const |
Returns true if constructed with a non-default constructor. More... | |
Model * | get_model () const |
Returns the Model containing the particle. More... | |
Particle * | get_particle () const |
Returns the particle decorated by this decorator. More... | |
ParticleIndex | get_particle_index () const |
Returns the particle index decorated by this decorator. More... | |
operator Particle * () const | |
operator ParticleIndex () const | |
Particle * | operator-> () const |
Static Public Member Functions | |
static bool | get_is_setup (const IMP::ParticleAdaptor &p) |
static bool | get_is_setup (Model *m, ParticleIndex pi) |
Return true if the particle is a kinematic node. More... | |
static KinematicNode | setup_particle (Model *m, ParticleIndex pi, KinematicForest *owner) |
static KinematicNode | setup_particle (IMP::ParticleAdaptor decorator, KinematicForest *owner) |
static KinematicNode | setup_particle (IMP::ParticleAdaptor decorator, KinematicForest *owner, Joint *in_joint) |
static KinematicNode | setup_particle (Model *m, ParticleIndex pi, KinematicForest *owner, Joint *in_joint) |
static KinematicNode | setup_particle (Model *m, ParticleIndex pi, KinematicForest *owner, Joint *in_joint, Joints out_joints) |
static KinematicNode | setup_particle (IMP::ParticleAdaptor decorator, KinematicForest *owner, Joint *in_joint, Joints out_joints) |
Static Public Member Functions inherited from IMP::core::RigidBody | |
static bool | get_is_setup (const IMP::ParticleAdaptor &p) |
static bool | get_is_setup (Model *m, ParticleIndex pi) |
Return true if the particle is a rigid body. More... | |
static FloatKeys | get_rotation_keys () |
Get keys for rotation quaternion. More... | |
static RigidBody | setup_particle (IMP::ParticleAdaptor decorator, ParticleIndexesAdaptor ps) |
static RigidBody | setup_particle (Model *m, ParticleIndex pi, ParticleIndexesAdaptor ps) |
static RigidBody | setup_particle (IMP::ParticleAdaptor decorator, algebra::ReferenceFrame3D rf) |
static RigidBody | setup_particle (Model *m, ParticleIndex pi, algebra::ReferenceFrame3D rf) |
static void | teardown_particle (RigidBody rb) |
Make the rigid body no longer rigid. More... | |
Static Public Member Functions inherited from IMP::core::XYZ | |
static FloatKey | get_coordinate_key (unsigned int i) |
static bool | get_is_setup (const IMP::ParticleAdaptor &p) |
static bool | get_is_setup (Model *m, ParticleIndex pi) |
static const FloatKeys & | get_xyz_keys () |
Get a vector containing the keys for x,y,z. More... | |
static XYZ | setup_particle (IMP::ParticleAdaptor decorator) |
static XYZ | setup_particle (Model *m, ParticleIndex pi) |
static XYZ | setup_particle (IMP::ParticleAdaptor decorator, algebra::Vector3D v) |
static XYZ | setup_particle (Model *m, ParticleIndex pi, algebra::Vector3D v) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Decorator | |
Decorator (Model *m, ParticleIndex pi) | |
Decorator (ParticleAdaptor p) | |
|
static |
Return true if the particle is a kinematic node.
Definition at line 79 of file KinematicNode.h.
|
static |
Definition at line 36 of file KinematicNode.h.
|
static |
Setup the particle so that it can be used with this decorator
Definition at line 36 of file KinematicNode.h.
|
static |
Setup the particle so it can be used with this decorator.
Definition at line 38 of file KinematicNode.h.
|
static |
Setup the particle so it can be used with this decorator.
Definition at line 40 of file KinematicNode.h.