8 #ifndef IMPKINEMATICS_DO_FS_SAMPLER_H
9 #define IMPKINEMATICS_DO_FS_SAMPLER_H
11 #include "kinematics_config.h"
14 IMPKINEMATICS_BEGIN_NAMESPACE
27 IMP::base::Object(
"IMP_KINEMATICS_DOFSSAMPLER"),
29 last_sample_( DOFValues( dofs ) )
38 last_sample_ = do_get_sample();
48 virtual void apply(
const DOFValues& values) = 0;
74 "Accessing out-of-range dof in DOFsSampler");
78 unsigned int get_number_of_dofs()
const
79 {
return dofs_.size(); }
83 virtual DOFValues do_get_sample()
const = 0;
91 mutable DOFValues last_sample_;
96 IMPKINEMATICS_END_NAMESPACE
a simple class for storage of DOF values.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
DOF const * get_dof(unsigned int i) const
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Common base class for heavy weight IMP objects.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
DOFValues get_sample() const
DOFs const & get_dofs() const
IMP::base::Vector< IMP::base::Pointer< DOF > > DOFs