54 CopyPose(
unsigned int control_output=
CTL_ALL,
unsigned int dynamic_output=
CTL_NONE,
double armlength=1.0,
double accuracy=1
e-6,
unsigned int maximum_iterations=100);
67 unsigned int m_poseCacheSize;
68 unsigned int m_outputDynamic;
69 unsigned int m_outputControl;
70 unsigned int m_nvalues;
87 void pushPose(
CacheTS timestamp);
88 bool popPose(
CacheTS timestamp);
89 int nBitsOn(
unsigned int v)
90 {
int n=0;
while(
v) {
if (
v&1) n++;
v>>=1; }
return n; }
91 double* restoreValues(
double* item, ConstraintValues* _values, ControlState* _state,
unsigned int mask);
92 double* pushValues(
double* item, ControlState* _state,
unsigned int mask);
93 void updateState(ConstraintValues* _values, ControlState* _state,
unsigned int mask,
double timestep);
94 void updateValues(Vector& vel, ConstraintValues* _values, ControlState* _state,
unsigned int mask);
95 void updateOutput(Vector& vel, ControlState* _state,
unsigned int mask);
96 void interpolateOutput(ControlState* _state,
unsigned int mask,
const Timestamp& timestamp);
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
represents a frame transformation in 3D space (rotation + translation)
virtual void initCache(Cache *_cache)
virtual double getMaxTimestep(double ×tep)
virtual bool initialise(Frame &init_pose)
virtual bool setControlParameters(struct ConstraintValues *_values, unsigned int _nvalues, double timestep)
virtual void updateJacobian()
CopyPose(unsigned int control_output=CTL_ALL, unsigned int dynamic_output=CTL_NONE, double armlength=1.0, double accuracy=1e-6, unsigned int maximum_iterations=100)
virtual void modelUpdate(Frame &_external_pose, const Timestamp ×tamp)
virtual void pushCache(const Timestamp ×tamp)
virtual const ConstraintValues * getControlParameters(unsigned int *_nvalues)
virtual void updateKinematics(const Timestamp ×tamp)
virtual void updateControlOutput(const Timestamp ×tamp)