IMP logo
IMP Reference Guide  develop.2640aaee5c,2019/11/13
The Integrative Modeling Platform
IMP::core::XYZR Class Reference

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

#include <IMP/core/XYZR.h>

+ Inheritance diagram for IMP::core::XYZR:

Detailed Description

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

A simple example illustrating some of the functionality.

1 ## \example core/XYZR_Decorator.py
2 # This is a simple example using the XYZRDecorator to set the coordinates
3 # and radius of a particle and compute distances between the resulting
4 # spheres.
5 
6 import IMP
7 import IMP.core
8 import IMP.algebra
9 import sys
10 
11 IMP.setup_from_argv(sys.argv, "XYZR decorator example")
12 
13 m = IMP.Model()
14 p0 = IMP.Particle(m)
17  1.0))
18 p1 = IMP.Particle(m)
20 d1.set_coordinates(IMP.algebra.Vector3D(3, 4, 5))
21 d1.set_radius(2.0)
22 
23 print(IMP.core.get_distance(d0, d1))
24 
25 # use them as XYZ particles
26 xd0 = IMP.core.XYZ(p0)
27 xd1 = IMP.core.XYZ(p1)
28 
29 # distance without radii
30 print(IMP.core.get_distance(xd0, xd1))

Definition at line 27 of file XYZR.h.

Public Member Functions

 XYZR (::IMP::Model *m,::IMP::ParticleIndex id)
 
 XYZR (const IMP::ParticleAdaptor &d)
 
void add_to_radius_derivative (double v, DerivativeAccumulator &d)
 add v to the derivative of the radius attribute More...
 
double get_radius () const
 
const algebra::Sphere3Dget_sphere () const
 Return a sphere object. More...
 
void set_radius (double r) const
 
void set_sphere (const algebra::Sphere3D &s)
 Set the attributes from a sphere. More...
 
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::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 bool get_is_setup (const IMP::ParticleAdaptor &p)
 
static bool get_is_setup (Model *m, ParticleIndex pi)
 Check if the particle has the required attributes. More...
 
static FloatKey get_radius_key ()
 Get the key for the radius. More...
 
static XYZR setup_particle (Model *m, ParticleIndex pi)
 
static XYZR setup_particle (IMP::ParticleAdaptor decorator)
 
static XYZR setup_particle (IMP::ParticleAdaptor decorator, Float radius)
 
static XYZR setup_particle (Model *m, ParticleIndex pi, Float radius)
 
static XYZR setup_particle (Model *m, ParticleIndex pi, algebra::Sphere3D ball)
 
static XYZR setup_particle (IMP::ParticleAdaptor decorator, algebra::Sphere3D ball)
 
- 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 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::XYZR::add_to_radius_derivative ( double  v,
DerivativeAccumulator d 
)

add v to the derivative of the radius attribute

Definition at line 79 of file XYZR.h.

+ Here is the call graph for this function:

static bool IMP::core::XYZR::get_is_setup ( Model m,
ParticleIndex  pi 
)
static

Check if the particle has the required attributes.

Add the coordinates and radius from the sphere to the particle.

Definition at line 57 of file XYZR.h.

+ Here is the call graph for this function:

static FloatKey IMP::core::XYZR::get_radius_key ( )
static

Get the key for the radius.

Definition at line 76 of file XYZR.h.

const algebra::Sphere3D& IMP::core::XYZR::get_sphere ( ) const

Return a sphere object.

Definition at line 67 of file XYZR.h.

+ Here is the call graph for this function:

void IMP::core::XYZR::set_sphere ( const algebra::Sphere3D s)

Set the attributes from a sphere.

Definition at line 72 of file XYZR.h.

+ Here is the call graph for this function:

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

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

Definition at line 48 of file XYZR.h.

static XYZR IMP::core::XYZR::setup_particle ( Model m,
ParticleIndex  pi,
Float  radius 
)
static

Setup an XYZ particle as an XYZR particle. Setup the particle so that it can be used with this decorator

Definition at line 50 of file XYZR.h.

static XYZR IMP::core::XYZR::setup_particle ( IMP::ParticleAdaptor  decorator,
Float  radius 
)
static
See Also
setup_particle(m, pi, radius )

Definition at line 50 of file XYZR.h.

static XYZR IMP::core::XYZR::setup_particle ( IMP::ParticleAdaptor  decorator,
algebra::Sphere3D  ball 
)
static
See Also
setup_particle(m, pi, ball )

Definition at line 51 of file XYZR.h.

static XYZR IMP::core::XYZR::setup_particle ( Model m,
ParticleIndex  pi,
algebra::Sphere3D  ball 
)
static

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

Definition at line 51 of file XYZR.h.


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