8 #ifndef IMPATOM_ANGLE_DECORATORS_H
9 #define IMPATOM_ANGLE_DECORATORS_H
11 #include <IMP/atom/atom_config.h>
15 IMPATOM_BEGIN_NAMESPACE
37 for (
unsigned int i = 0; i < 3; ++i) {
38 if (!m->get_has_attribute(get_particle_key(i), pi))
return false;
90 for (
unsigned int i = 0; i < 4; ++i) {
91 if (!m->get_has_attribute(get_particle_key(i), pi))
return false;
109 static IntKey get_multiplicity_key();
110 static FloatKey get_stiffness_key();
115 IMPATOM_END_NAMESPACE
The base class for decorators.
#define IMP_DECORATOR_GET_SET_OPT(name, AttributeKey, Type, ReturnType, default_value)
Define methods for getting and setting an optional simple field.
static bool get_is_setup(Model *m, ParticleIndex pi)
Return true if the particle is an angle.
Class for storing model, its restraints, constraints, and particles.
A particle that describes an angle between three particles.
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
Particle * get_particle(unsigned int i) const
Get the ith particle in the angle.
A decorator for a particle with x,y,z coordinates.
#define IMP_DECORATOR_SETUP_4(Name, FirstArgumentType, first_argument_name,SecondArgumentType, second_argument_name,ThirdArgumentType, third_argument_name,FourthArgumentType, fourth_argument_name)
A particle that describes a dihedral angle between four particles.
Particle * get_particle() const
Returns the particle decorated by this decorator.
Interface to specialized Particle types (e.g. atoms)
#define IMP_DECORATOR_METHODS(Name, Parent)
double Float
Basic floating-point value (could be float, double...)
Class to handle individual model particles.
#define IMP_DECORATORS(Name, PluralName, Parent)
Define the types for storing sets of decorators.
int Int
Basic integer value.
#define IMP_DECORATOR_SETUP_3(Name, FirstArgumentType, first_argument_name,SecondArgumentType, second_argument_name,ThirdArgumentType, third_argument_name)
Particle * get_particle(unsigned int i) const
Get the ith particle in the dihedral.