Blender  V2.59
FixedObject.hpp
Go to the documentation of this file.
00001 /* $Id: FixedObject.hpp 19905 2009-04-23 13:29:54Z ben2610 $
00002  * FixedObject.h
00003  *
00004  *  Created on: Feb 10, 2009
00005  *      Author: benoitbolsee
00006  */
00007 
00008 #ifndef FIXEDOBJECT_HPP_
00009 #define FIXEDOBJECT_HPP_
00010 
00011 #include "UncontrolledObject.hpp"
00012 #include <vector>
00013 
00014 
00015 namespace iTaSC{
00016 
00017 class FixedObject: public UncontrolledObject {
00018 public:
00019     FixedObject();
00020     virtual ~FixedObject();
00021 
00022         int addFrame(const std::string& name, const Frame& frame);
00023 
00024         virtual void updateCoordinates(const Timestamp& timestamp) {};
00025         virtual int addEndEffector(const std::string& name);
00026         virtual void finalize();
00027         virtual const Frame& getPose(const unsigned int frameIndex);
00028         virtual void updateKinematics(const Timestamp& timestamp) {};
00029         virtual void pushCache(const Timestamp& timestamp) {};
00030         virtual void initCache(Cache *_cache) {};
00031 
00032 protected:
00033         virtual void updateJacobian() {}
00034 private:
00035     typedef std::vector<std::pair<std::string, Frame> > FrameList;
00036 
00037         bool m_finalized;
00038         unsigned int m_nframe;
00039         FrameList m_frameArray;
00040 
00041 };
00042 
00043 }
00044 
00045 #endif /* FIXEDOBJECT_H_ */