00001 #ifndef RobotBase_h 00002 #define RobotBase_h 1 00003 00004 #include <list> 00005 //#include < additional/streams/IfstreamWithComments.h> 00006 00007 #include "Universe\Entity.h" 00008 00009 class LinkBase; 00010 00011 class RobotBase : public Entity //## Inherits: <unnamed>%37195CE40258 00012 { 00013 00014 public: 00015 RobotBase (FrameManager* frameManager); 00016 00017 RobotBase (const RobotBase& right); 00018 00019 virtual ~RobotBase(); 00020 00021 00022 // returns the number of degrees of freedom in a robot 00023 virtual unsigned int DOF () const = 0; 00024 00025 // this operation allocates memory for a copy of this 00026 // object, and returns a pointer to this new instantiation. 00027 virtual Entity* Clone () const = 0; 00028 00029 00030 // Returns a list of pointers to all the links that compose 00031 // the robot. 00032 virtual std::list< LinkBase*> GetAllLinks() const = 0; 00033 virtual LinkBase* GetLink( const unsigned int i ) = 0; 00034 00035 virtual std::list< int > GetAllToolFrames() const = 0; 00036 00037 static RobotBase* DeserializeAbstract (IfstreamWithComments& is, FrameManager* frameManager); 00038 virtual bool Deserialize( IfstreamWithComments& is ) ; 00039 00040 }; 00041 #endif