IMP
2.0.1
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>
Public Member Functions | |
NonRigidMember (Model *m, ParticleIndex id) | |
NonRigidMember (::IMP::kernel::Particle *p) | |
const algebra::Vector3D & | get_internal_coordinates () const |
Return the current orientation of the body. | |
algebra::Transformation3D | get_internal_transformation () const |
RigidBody | get_rigid_body () const |
void | set_coordinates (const algebra::Vector3D ¢er) |
XYZ::set_coordiantes() | |
void | set_internal_coordinates (const algebra::Vector3D &v) const |
set the internal coordinates for this member | |
void | set_internal_transformation (const algebra::Transformation3D &v) |
Member must be a rigid body. | |
void | show (std::ostream &out=std::cout) const |
Public Member Functions inherited from IMP::core::XYZ | |
XYZ (Model *m, ParticleIndex id) | |
XYZ (::IMP::kernel::Particle *p) | |
void | add_to_derivative (int i, Float v, DerivativeAccumulator &d) |
Add something to the derivative of the ith coordinate. | |
void | add_to_derivatives (const algebra::Vector3D &v, DerivativeAccumulator &d) |
Add something to the derivative of the coordinates. | |
Float | get_coordinate (int i) const |
Get the ith coordinate. | |
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 |
Get the ith coordinate derivative. | |
algebra::Vector3D | get_derivatives () const |
Get the vector of derivatives. More... | |
algebra::Vector3D | get_vector_to (const XYZ &b) const |
Get the vector from this particle to another. | |
Float | get_x () const |
Float | get_y () const |
Float | get_z () const |
void | set_coordinate (unsigned int i, Float v) |
set the ith coordinate | |
void | set_coordinates (const algebra::Vector3D &v) |
set all coordinates from a vector | |
void | set_coordinates_are_optimized (bool tf) const |
Set whether the coordinates are optimized. | |
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::kernel::Decorator | |
ParticleIndex | get_particle_index () const |
Particle * | get_particle () const |
Model * | get_model () const |
Returns the Model containing the particle. | |
Decorator (Particle *p) | |
Decorator () | |
Static Public Member Functions | |
static NonRigidMember | decorate_particle (::IMP::kernel::Particle *p) |
static FloatKeys | get_internal_coordinate_keys () |
static bool | particle_is_instance (Particle *p) |
return true if it is a rigid member | |
static bool | particle_is_instance (Model *m, ParticleIndex p) |
return true if it is a rigid member | |
Static Public Member Functions inherited from IMP::core::XYZ | |
static XYZ | decorate_particle (::IMP::kernel::Particle *p) |
static FloatKey | get_coordinate_key (unsigned int i) |
static const FloatKeys & | get_xyz_keys () |
Get a vector containing the keys for x,y,z. More... | |
static bool | particle_is_instance (Particle *p) |
static bool | particle_is_instance (Model *m, ParticleIndex pi) |
static XYZ | setup_particle (Model *m, ParticleIndex pi, const algebra::Vector3D v=algebra::Vector3D(0, 0, 0)) |
static XYZ | setup_particle (Particle *p, const algebra::Vector3D v=algebra::Vector3D(0, 0, 0)) |
Static Public Member Functions inherited from IMP::kernel::Decorator | |
static bool | particle_is_instance (Particle *p) |
Return true if the particle can be cast to the decorator. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::kernel::Decorator | |
Decorator (Model *m, ParticleIndex pi) | |
Decorator (Particle *p) | |
Related Functions inherited from IMP::core::XYZ | |
double | get_dihedral (XYZ a, XYZ b, XYZ c, XYZ d) |
Compute the dihedral angle (in radians) between the four particles. | |
double | get_distance (XYZ a, XYZ b) |
Compute the distance between a pair of particles. | |
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 375 of file rigid_bodies.h.