15 m_function(
NULL), m_param(
NULL), m_velocity(), m_poseCCh(-1), m_poseCTs(0)
44 void MovingFrame::pushInternalFrame(
CacheTS timestamp)
52 m_poseCTs = timestamp;
58 bool MovingFrame::popInternalFrame(
CacheTS timestamp)
63 if (item && m_poseCTs != timestamp) {
67 m_poseCTs = timestamp;
71 return (item) ? true :
false;
85 m_function = _function;
94 bool cacheAvail =
true;
104 for (iXu=0; iXu<6; iXu++)
105 m_xudot(iXu) = m_velocity(iXu);
represents a frame transformation in 3D space (rotation + translation)
Rotation M
Orientation of the Frame.
void Integrate(const Twist &t_this, double frequency)
Vector p
origine of the Frame
Rotation Inverse() const
Gives back the inverse rotation matrix of *this.
represents both translational and rotational velocities.
int addChannel(const void *device, const char *name, unsigned int maxItemSize)
double * addCacheVectorIfDifferent(const void *device, int channel, CacheTS timestamp, double *data, unsigned int length, double threshold)
const void * getPreviousCacheItem(const void *device, int channel, CacheTS *timestamp)
virtual void updateKinematics(const Timestamp ×tamp)
virtual void updateJacobian()
MovingFrame(const Frame &frame=F_identity)
virtual void updateCoordinates(const Timestamp ×tamp)
bool setCallback(MovingFrameCallback _function, void *_param)
virtual void pushCache(const Timestamp ×tamp)
virtual void initCache(Cache *_cache)
bool setFrame(const Frame &frame)
KDL::Frame m_internalPose
std::vector< e_matrix > m_JuArray
virtual void initialize(unsigned int _nu, unsigned int _nf)
#define e_identity_matrix
IMETHOD Vector diff(const Vector &a, const Vector &b, double dt=1)
double epsilon
default precision while comparing with Equal(..,..) functions. Initialized at 0.0000001.
bool(* MovingFrameCallback)(const Timestamp ×tamp, const Frame &_current, Frame &_next, void *param)
static const unsigned int frameCacheSize