8 #ifndef IMPCORE_SYMMETRY_H
9 #define IMPCORE_SYMMETRY_H
10 #include <IMP/core/core_config.h>
17 IMPCORE_BEGIN_NAMESPACE
33 Particle *get_reference_particle()
const {
92 "Cannot get transformation of rigid body");
101 "Cannot set transformation of rigid body");
128 Float max_translation_;
139 void set_maximum_translation(
Float mt) {
141 max_translation_ = mt;
144 void set_maximum_rotation(
Float mr) {
149 Float get_maximum_translation()
const {
return max_translation_; }
151 Float get_maximum_rotation()
const {
return max_angle_; }
160 IMPCORE_END_NAMESPACE
A base class for modifiers of ParticlesTemp.
A particle that has an associated reference particle.
#define IMP_DECORATOR_SETUP_1(Name, FirstArgumentType, first_argument_name)
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual void do_reject()=0
Implement reset_proposed_move()
Return value of the MonteCarloMover::propose() function.
virtual ModelObjectsTemp do_get_outputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the outputs.
A more IMP-like version of the std::vector.
Class for storing model, its restraints, constraints, and particles.
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
add particle atribute with the specied key and initial value
#define IMP_SINGLETON_MODIFIER_METHODS(Name)
A base class for classes which perturb particles.
functionality for defining rigid bodies
The base class for movers for Monte Carlo optimization.
A smart pointer to a ref-counted Object that is a class member.
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
virtual MonteCarloMoverResult do_propose()=0
Implement propose_move()
Reflect about a plane in 3D.
Particle * get_particle() const
Returns the particle decorated by this decorator.
Interface to specialized Particle types (e.g. atoms)
virtual void apply_index(Model *m, ParticleIndex v) const =0
#define IMP_DECORATOR_METHODS(Name, Parent)
double Float
Basic floating-point value (could be float, double...)
Class to handle individual particles of a Model object.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
#define IMP_DECORATORS(Name, PluralName, Parent)
Define the types for storing sets of decorators.
Reflect about a plane in 3D.
bool get_has_attribute(TypeKey attribute_key, ParticleIndex particle) const
return true if particle has attribute with the specified key
virtual ModelObjectsTemp do_get_inputs() const =0
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.