IMP logo
IMP Reference Guide  develop.374319d7bb,2024/06/17
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 pa)
 
static XYZR setup_particle (IMP::ParticleAdaptor pa, 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 pa, 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 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)
 

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 ( IMP::ParticleAdaptor  pa)
static
Returns
a XYZR object that decorates the particle specified by pa
See Also
setup_particle(m, p)

Definition at line 48 of file XYZR.h.

static XYZR IMP::core::XYZR::setup_particle ( Model m,
ParticleIndex  pi 
)
static
Returns
a XYZR object that decorates particle pi

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.

Returns
a XYZR object that decorates particle pi

Definition at line 50 of file XYZR.h.

static XYZR IMP::core::XYZR::setup_particle ( IMP::ParticleAdaptor  pa,
Float  radius 
)
static
Returns
a XYZR object that decorates the particle specified by pa
See Also
setup_particle(m, pi, radius )

Definition at line 50 of file XYZR.h.

static XYZR IMP::core::XYZR::setup_particle ( IMP::ParticleAdaptor  pa,
algebra::Sphere3D  ball 
)
static
Returns
a XYZR object that decorates the particle specified by pa
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
Returns
a XYZR object that decorates particle pi

Definition at line 51 of file XYZR.h.


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