IMP
2.0.0
The Integrative Modeling Platform
|
A decorator for a particle with x,y,z coordinates and a radius. More...
#include <IMP/misc/CustomXYZR.h>
Public Types | |
typedef FloatKey | DecoratorTraits |
typedef core::XYZ | DecoratorTraitsBase |
Public Member Functions | |
CustomXYZR (Model *m, ParticleIndex id, const FloatKey &tr) | |
CustomXYZR (::IMP::kernel::Particle *p, const FloatKey &tr=get_default_radius_key()) | |
CustomXYZR (const FloatKey &tr) | |
void | add_to_radius_derivative (double v, DerivativeAccumulator &d) |
const DecoratorTraits & | get_decorator_traits () const |
Float | get_radius () const |
const FloatKey & | get_radius_key () const |
algebra::Sphere3D | get_sphere () const |
Return a sphere object. | |
FloatKey | get_traits () |
void | set_radius (Float t) |
void | set_sphere (const algebra::Sphere3D &s) |
Set the attributes from a sphere. | |
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 CustomXYZR | decorate_particle (::IMP::kernel::Particle *p, const FloatKey &tr=get_default_radius_key()) |
static const DecoratorTraits & | get_default_decorator_traits () |
static FloatKey | get_default_radius_key () |
Get the default radius key. | |
static bool | particle_is_instance (Particle *p, FloatKey radius_key=get_default_radius_key()) |
Check if the particle has the required attributes. | |
static CustomXYZR | setup_particle (Particle *p, FloatKey radius_key=get_default_radius_key()) |
static CustomXYZR | setup_particle (Particle *p, Float radius, FloatKey radius_key=get_default_radius_key()) |
static CustomXYZR | setup_particle (Particle *p, const algebra::Sphere3D &s, FloatKey radius_key=get_default_radius_key()) |
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. | |
A simple example illustrating some of the functionality.
Definition at line 27 of file CustomXYZR.h.
|
static |
Create a decorator using radius_key to store the FloatKey.
[in] | p | The particle to wrap. |
[in] | radius_key | The (optional) key name to use. The default is "radius". |
Definition at line 39 of file CustomXYZR.h.
|
static |
Create a decorator using radius_key to store the FloatKey. The particle should already be an XYZ particle.
[in] | p | The particle to wrap. |
[in] | radius | The radius to set initially |
[in] | radius_key | The (optional) key name to use. The default is "radius". |
Definition at line 56 of file CustomXYZR.h.
|
static |
Create a decorator using radius_key to store the FloatKey.
[in] | p | The particle to wrap. |
[in] | s | The sphere to use to set the position and radius |
[in] | radius_key | The (optional) key name to use. The default is "radius". |
Definition at line 69 of file CustomXYZR.h.