Blender  V3.3
MovingFrame.hpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: LGPL-2.1-or-later
2  * Copyright 2009 Benoit Bolsee. */
3 
8 #ifndef MOVINGFRAME_HPP_
9 #define MOVINGFRAME_HPP_
10 
11 #include "UncontrolledObject.hpp"
12 #include <vector>
13 
14 
15 namespace iTaSC{
16 
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:14
virtual void updateCoordinates(const Timestamp &timestamp)
Definition: MovingFrame.cpp:90
bool setCallback(MovingFrameCallback _function, void *_param)
Definition: MovingFrame.cpp:83
virtual void pushCache(const Timestamp &timestamp)
virtual void initCache(Cache *_cache)
Definition: MovingFrame.cpp:33
virtual bool finalize()
Definition: MovingFrame.cpp:27
virtual ~MovingFrame()
Definition: MovingFrame.cpp:23
bool setFrame(const Frame &frame)
Definition: MovingFrame.cpp:77
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