IMP logo
IMP Reference Guide  2.7.0
The Integrative Modeling Platform
IMP::core::XYZ Class Reference

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

#include <IMP/core/XYZ.h>

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

Detailed Description

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

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 XYZ decorator to set the coordinates
3 # of some particles and compute the distance between them.
4 
5 import IMP
6 import IMP.core
7 import IMP.algebra
8 import sys
9 
10 IMP.setup_from_argv(sys.argv, "XYZ decorator example")
11 
12 m = IMP.Model()
13 p0 = m.add_particle("xyz0")
14 # add x,y,z coordinates to the particle
16 p1 = m.add_particle("xyz1")
17 # add slots for the coordinates, but leave them uninitialized
19 # set the coordinate values
20 d1.set_coordinates(IMP.algebra.Vector3D(3, 4, 5))
21 
22 # return the distance between the two points described by the decorated
23 # particles
24 print(IMP.core.get_distance(d0, d1))
See Also
XYZR
Examples:
core/simple.cpp.

Definition at line 30 of file XYZ.h.

Public Member Functions

 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::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
 
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...
 
Modelget_model () const
 Returns the Model containing the particle. More...
 
Particleget_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
 
Particleoperator-> () const
 

Static Public Member Functions

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 FloatKeysget_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)
 

Member Function Documentation

void IMP::core::XYZ::add_to_derivative ( int  i,
Float  v,
DerivativeAccumulator d 
)

Add v to the derivative of the ith coordinate, used by various

Definition at line 78 of file XYZ.h.

+ Here is the call graph for this function:

void IMP::core::XYZ::add_to_derivatives ( const algebra::Vector3D v,
DerivativeAccumulator d 
)

Add the vector v to the derivative vector of the x,y,z coordinates.

Definition at line 82 of file XYZ.h.

+ Here is the call graph for this function:

Float IMP::core::XYZ::get_coordinate ( int  i) const

Get the ith coordinate.

Definition at line 69 of file XYZ.h.

+ Here is the call graph for this function:

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

Convert it to a vector.

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

Definition at line 109 of file XYZ.h.

+ Here is the call graph for this function:

bool IMP::core::XYZ::get_coordinates_are_optimized ( ) const

Get whether the coordinates are optimized.

Returns
true only if all of them are optimized.

Definition at line 89 of file XYZ.h.

+ Here is the call graph for this function:

Float IMP::core::XYZ::get_derivative ( int  i) const

Get the derivative of the ith coordinate, as accumulated by add_to_derivative()

Definition at line 74 of file XYZ.h.

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

Get the vector of derivatives accumulated by add_to_derivatives().

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

Definition at line 116 of file XYZ.h.

+ Here is the call graph for this function:

algebra::Vector3D IMP::core::XYZ::get_vector_to ( const XYZ b) const

Get the vector from this particle to another.

Definition at line 102 of file XYZ.h.

+ Here is the call graph for this function:

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

Get a vector containing the keys for x,y,z.

This is quite handy for initializing movers and things.

void IMP::core::XYZ::set_coordinate ( unsigned int  i,
Float  v 
)

set the ith coordinate

Definition at line 58 of file XYZ.h.

+ Here is the call graph for this function:

void IMP::core::XYZ::set_coordinates ( const algebra::Vector3D v)

set all coordinates from a vector

Examples:
core/simple.cpp.

Definition at line 62 of file XYZ.h.

+ Here is the call graph for this function:

void IMP::core::XYZ::set_coordinates_are_optimized ( bool  tf) const

Set whether the coordinates are optimized.

Definition at line 95 of file XYZ.h.

+ Here is the call graph for this function:

static XYZ IMP::core::XYZ::setup_particle ( Model m,
ParticleIndex  pi 
)
static

Setup the particle with unspecified coordinates. Setup the particle so it can be used with this decorator.

Examples:
atom/dope_and_excluded_volume.cpp, and core/simple.cpp.

Definition at line 51 of file XYZ.h.

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

Setup the particle so that it can be used with this decorator

Definition at line 52 of file XYZ.h.

static XYZ IMP::core::XYZ::setup_particle ( IMP::ParticleAdaptor  decorator,
algebra::Vector3D  v 
)
static
See Also
setup_particle(m, pi, v )

Definition at line 52 of file XYZ.h.


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