Merge branch 'blender2.7'
[blender.git] / intern / itasc / FixedObject.hpp
1 /*
2  * FixedObject.h
3  *
4  *  Created on: Feb 10, 2009
5  *      Author: benoitbolsee
6  */
7
8 #ifndef FIXEDOBJECT_HPP_
9 #define FIXEDOBJECT_HPP_
10
11 #include "UncontrolledObject.hpp"
12 #include <vector>
13
14
15 namespace iTaSC{
16
17 class FixedObject: public UncontrolledObject {
18 public:
19     FixedObject();
20     virtual ~FixedObject();
21
22         int addFrame(const std::string& name, const Frame& frame);
23
24         virtual void updateCoordinates(const Timestamp& timestamp) {};
25         virtual int addEndEffector(const std::string& name);
26         virtual bool finalize();
27         virtual const Frame& getPose(const unsigned int frameIndex);
28         virtual void updateKinematics(const Timestamp& timestamp) {};
29         virtual void pushCache(const Timestamp& timestamp) {};
30         virtual void initCache(Cache *_cache) {};
31
32 protected:
33         virtual void updateJacobian() {}
34 private:
35     typedef std::vector<std::pair<std::string, Frame> > FrameList;
36
37         bool m_finalized;
38         unsigned int m_nframe;
39         FrameList m_frameArray;
40
41 };
42
43 }
44
45 #endif /* FIXEDOBJECT_H_ */