IMP  2.0.1
The Integrative Modeling Platform
IMP::core::XYZ Class Reference

A a decorator for a particle with x,y,z coordinates. More...

#include <IMP/core/XYZ.h>

+ Inheritance diagram for IMP::core::XYZ:

Public Member Functions

 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::Vector3Dget_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
 
Particleget_particle () const
 
Modelget_model () const
 Returns the Model containing the particle.
 
 Decorator (Particle *p)
 
 Decorator ()
 

Static Public Member Functions

static XYZ decorate_particle (::IMP::kernel::Particle *p)
 
static FloatKey get_coordinate_key (unsigned int i)
 
static const FloatKeysget_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...
 

Related Functions

(Note that these are not member functions.)

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.
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::kernel::Decorator
 Decorator (Model *m, ParticleIndex pi)
 
 Decorator (Particle *p)
 

Detailed Description

Using the decorator one can get and set coordinates and modify derivatives.

1 ## \example core/XYZ_Decorator.py
2 ## This is a simple example using the XYZDecorator to set the coordinates of some particles and compute the distance between them.
3 
4 import IMP
5 import IMP.core
6 import IMP.algebra
7 
8 m= IMP.Model()
9 p0= IMP.Particle(m)
10 # add x,y,z coordinates to the particle
12 p1= IMP.Particle(m)
13 # add slots for the coordinates, but leave them uninitialized
15 # set the coordinate values
16 d1.set_coordinates(IMP.algebra.Vector3D(3,4,5))
17 
18 # return the distance between the two points described by the decorated
19 # particles
20 print IMP.core.get_distance(d0, d1)
See Also
XYZR

Definition at line 32 of file XYZ.h.

Member Function Documentation

const algebra::Vector3D& IMP::core::XYZ::get_coordinates ( ) const

Somewhat suspect based on wanting a Point/Vector differentiation but we don't have points

Definition at line 123 of file XYZ.h.

+ Here is the call graph for this function:

bool IMP::core::XYZ::get_coordinates_are_optimized ( ) const
Returns
true only if all of them are optimized.

Definition at line 103 of file XYZ.h.

+ Here is the call graph for this function:

algebra::Vector3D IMP::core::XYZ::get_derivatives ( ) const

Somewhat suspect based on wanting a Point/Vector differentiation but we don't have points

Definition at line 130 of file XYZ.h.

+ Here is the call graph for this function:

static const FloatKeys& IMP::core::XYZ::get_xyz_keys ( )
static

This is quite handy for initializing movers and things.

static XYZ IMP::core::XYZ::setup_particle ( Model m,
ParticleIndex  pi,
const algebra::Vector3D  v = algebra::Vector3D(0,0,0) 
)
static

Create a decorator with the passed coordinates.

Examples:
atom/dope_and_excluded_volume.cpp.

Definition at line 44 of file XYZ.h.

+ Here is the call graph for this function:


The documentation for this class was generated from the following file: