A rigid body that is connected by a joint to other rigid bodies.
Definition at line 26 of file KinematicNode.h.
|
| 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) |
|
| RigidBody (const RigidBody &)=default |
|
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...
|
|
RigidBody & | operator= (const RigidBody &)=default |
|
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 | remove_member (ParticleIndexAdaptor p) |
| Remove the member from this rigid body. 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 () |
|
| 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 |
|
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 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 pa, KinematicForest *owner) |
|
static KinematicNode | setup_particle (IMP::ParticleAdaptor pa, 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 pa, 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 pa, ParticleIndexesAdaptor ps) |
|
static RigidBody | setup_particle (Model *m, ParticleIndex pi, ParticleIndexesAdaptor ps) |
|
static RigidBody | setup_particle (IMP::ParticleAdaptor pa, 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 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 pa) |
|
static XYZ | setup_particle (Model *m, ParticleIndex pi) |
|
static XYZ | setup_particle (IMP::ParticleAdaptor pa, algebra::Vector3D v) |
|
static XYZ | setup_particle (Model *m, ParticleIndex pi, algebra::Vector3D v) |
|