Blender  V2.93
MovingFrame.hpp
Go to the documentation of this file.
1 /*
2  * MovingFrame.h
3  *
4  * Created on: Feb 10, 2009
5  * Author: benoitbolsee
6  */
7 
8 #ifndef MOVINGFRAME_HPP_
9 #define MOVINGFRAME_HPP_
10 
11 #include "UncontrolledObject.hpp"
12 #include <vector>
13 
14 
15 namespace iTaSC{
16 
17 typedef bool (*MovingFrameCallback)(
18  const Timestamp& timestamp,
19  const Frame& _current,
20  Frame& _next,
21  void *param);
22 
24 public:
25  MovingFrame(const Frame& frame=F_identity);
26  virtual ~MovingFrame();
27 
28  bool setFrame(const Frame& frame);
29  bool setCallback(MovingFrameCallback _function, void* _param);
30 
31  virtual void updateCoordinates(const Timestamp& timestamp);
32  virtual void updateKinematics(const Timestamp& timestamp);
33  virtual void pushCache(const Timestamp& timestamp);
34  virtual void initCache(Cache *_cache);
35  virtual bool finalize();
36 protected:
37  virtual void updateJacobian();
38 
39 private:
40  void pushInternalFrame(CacheTS timestamp);
41  bool popInternalFrame(CacheTS timestamp);
42  MovingFrameCallback m_function;
43  void* m_param;
44  Frame m_nextPose;
45  Twist m_velocity;
46  int m_poseCCh; // cache channel for pose
47  unsigned int m_poseCTs;
48 };
49 
50 }
51 
52 #endif /* MOVINGFRAME_H_ */
represents a frame transformation in 3D space (rotation + translation)
Definition: frames.hpp:526
represents both translational and rotational velocities.
Definition: frames.hpp:679
virtual void updateKinematics(const Timestamp &timestamp)
virtual void updateJacobian()
MovingFrame(const Frame &frame=F_identity)
Definition: MovingFrame.cpp:17
virtual void updateCoordinates(const Timestamp &timestamp)
Definition: MovingFrame.cpp:93
bool setCallback(MovingFrameCallback _function, void *_param)
Definition: MovingFrame.cpp:86
virtual void pushCache(const Timestamp &timestamp)
virtual void initCache(Cache *_cache)
Definition: MovingFrame.cpp:36
virtual bool finalize()
Definition: MovingFrame.cpp:30
virtual ~MovingFrame()
Definition: MovingFrame.cpp:26
bool setFrame(const Frame &frame)
Definition: MovingFrame.cpp:80
const Frame F_identity
bool(* MovingFrameCallback)(const Timestamp &timestamp, const Frame &_current, Frame &_next, void *param)
Definition: MovingFrame.hpp:17
unsigned int CacheTS
Definition: Cache.hpp:32