8 #ifndef IMPKINEMATICS_DO_FS_SAMPLER_H
9 #define IMPKINEMATICS_DO_FS_SAMPLER_H
11 #include "kinematics_config.h"
14 IMPKINEMATICS_BEGIN_NAMESPACE
23 : IMP::
Object(
"IMP_KINEMATICS_DOFSSAMPLER"),
29 last_sample_ = do_get_sample();
39 virtual void apply(
const DOFValues& values) = 0;
61 "Accessing out-of-range dof in DOFsSampler");
65 unsigned int get_number_of_dofs()
const {
return dofs_.size(); }
68 virtual DOFValues do_get_sample()
const = 0;
76 mutable DOFValues last_sample_;
81 IMPKINEMATICS_END_NAMESPACE
a simple class for storage of DOF values.
IMP::Vector< IMP::Pointer< DOF > > DOFs
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
DOFsSampler(DOFs dofs)
Constructs the dofs sampler over specified dofs.
Base class for sampling certain combinations of degrees of freedom.
DOF const * get_dof(unsigned int i) const
Returns the i'th dof over which this sampler works.
Representation of one degree of freedom (DOF).
Common base class for heavy weight IMP objects.
A class that holds DOF values for DOFs.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
DOFValues get_sample() const
DOFs const & get_dofs() const
Returns the dofs over which this sampler works.