IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
|
A decorator for a particle that is part of a rigid body but not rigid. More...
#include <IMP/core/rigid_bodies.h>
A decorator for a particle that is part of a rigid body but not rigid.
NonRigidMembers, like RigidMembers, have internal coordinates and move along with the rigid body. However, it is expected that their internal coordinates will change, and so they are not part of structures that assume rigidity.
Definition at line 768 of file rigid_bodies.h.
Public Member Functions | |
NonRigidMember (::IMP::Model *m,::IMP::ParticleIndex id) | |
NonRigidMember (const IMP::ParticleAdaptor &d) | |
NonRigidMember (const NonRigidMember &)=default | |
void | add_to_internal_derivatives (const algebra::Vector3D &deriv_parent, DerivativeAccumulator &da) |
Add to derivatives of local coordinates. More... | |
void | add_to_internal_rotational_derivatives (const algebra::Vector4D &local_qderiv, const algebra::Rotation3D &rot_local_to_parent, const algebra::Rotation3D &rot_parent_to_global, DerivativeAccumulator &da) |
void | add_to_internal_rotational_derivatives (const algebra::Vector4D &qderiv, DerivativeAccumulator &da) |
algebra::Vector3D | get_internal_derivatives () const |
Get derivatives wrt translation component of internal transformation. More... | |
algebra::Vector4D | get_internal_rotational_derivatives () const |
Get derivatives wrt quaternion component of internal transformation. More... | |
NonRigidMember & | operator= (const NonRigidMember &)=default |
void | show (std::ostream &out=std::cout) const |
Public Member Functions inherited from IMP::core::RigidBodyMember | |
RigidBodyMember (::IMP::Model *m,::IMP::ParticleIndex id) | |
RigidBodyMember (const IMP::ParticleAdaptor &d) | |
RigidBodyMember (const RigidBodyMember &)=default | |
const algebra::Vector3D & | get_internal_coordinates () const |
Return the internal (local) coordinates of this member. More... | |
algebra::Transformation3D | get_internal_transformation () const |
RigidBody | get_rigid_body () const |
RigidBodyMember & | operator= (const RigidBodyMember &)=default |
void | set_coordinates (const algebra::Vector3D ¢er) |
sets the global coordinates of this member using XYZ::set_coordinates() More... | |
void | set_internal_coordinates (const algebra::Vector3D &v) const |
set the internal (local) coordinates for this member More... | |
void | set_internal_transformation (const algebra::Transformation3D &v) |
void | show (std::ostream &out=std::cout) const |
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 p) |
return true if it is a rigid member More... | |
Static Public Member Functions inherited from IMP::core::RigidBodyMember | |
static FloatKeys | get_internal_coordinate_keys () |
static FloatKeys | get_internal_rotation_keys () |
static bool | get_is_setup (const IMP::ParticleAdaptor &p) |
static bool | get_is_setup (Model *m, ParticleIndexAdaptor p) |
return true if it is a rigid member 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 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) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Decorator | |
Decorator (Model *m, ParticleIndex pi) | |
Decorator (ParticleAdaptor p) | |
void IMP::core::NonRigidMember::add_to_internal_derivatives | ( | const algebra::Vector3D & | deriv_parent, |
DerivativeAccumulator & | da | ||
) |
Add to derivatives of local coordinates.
deriv_parent | The derivative vector in local coordinates of the parent rigid body. |
da | Accumulates the derivative over the local translation. |
Definition at line 784 of file rigid_bodies.h.
void IMP::core::NonRigidMember::add_to_internal_rotational_derivatives | ( | const algebra::Vector4D & | local_qderiv, |
const algebra::Rotation3D & | rot_local_to_parent, | ||
const algebra::Rotation3D & | rot_parent_to_global, | ||
DerivativeAccumulator & | da | ||
) |
Update the rotational derivatives of the internal transformation.
Updates only local quaternion derivatives.
local_qderiv | The derivative on the quaternion taking this non-rigid body's local coordinates to global. |
rot_local_to_parent | Rotation taking the local coordinates of the non-rigid body to its parent's. |
rot_parent_to_global | Rotation taking the parent rigid body's local coordinates to global coordinates. |
da | Accumulates the output derivatives. |
void IMP::core::NonRigidMember::add_to_internal_rotational_derivatives | ( | const algebra::Vector4D & | qderiv, |
DerivativeAccumulator & | da | ||
) |
Add to internal quaternion derivatives of this non-rigid body
qderiv | Derivative wrt to quaternion taking local coordinates to parent. |
da | Object for accumulating derivatives |
Definition at line 817 of file rigid_bodies.h.
algebra::Vector3D IMP::core::NonRigidMember::get_internal_derivatives | ( | ) | const |
Get derivatives wrt translation component of internal transformation.
Definition at line 832 of file rigid_bodies.h.
algebra::Vector4D IMP::core::NonRigidMember::get_internal_rotational_derivatives | ( | ) | const |
Get derivatives wrt quaternion component of internal transformation.
Definition at line 842 of file rigid_bodies.h.
|
static |
return true if it is a rigid member
Definition at line 775 of file rigid_bodies.h.