basic/universe/Universe.h

Go to the documentation of this file.
00001 #ifndef Universe_h
00002 #define Universe_h 1
00003 
00004 #include "CollisionDetectors\CD_JointLimits.h"
00005 
00006 #include "Kinematics\FrameManager.h"
00007 
00008 
00009 class Configuration;
00010 class DH_Link;
00011 class Entity;
00012 class IfstreamWithComments;
00013 class LinkBase;
00014 class Mesh;
00015 class RobotBase;
00016 
00017 class Universe : public CD_JointLimits  //## Inherits: <unnamed>%375439E90135
00018 {
00019   //## begin Universe%36FB1455010E.initialDeclarations preserve=yes
00020   //## end Universe%36FB1455010E.initialDeclarations
00021 
00022   public:
00023     //## Constructors (specified)
00024       //## Operation: Universe%961125355
00025       Universe ();
00026 
00027       //## Operation: Universe%961125358
00028       Universe (const Universe& right);
00029 
00030     //## Destructor (generated)
00031       virtual ~Universe();
00032 
00033 
00034     //## Other Operations (specified)
00035       //## Operation: AddEntity%922649211
00036       void AddEntity (Entity* entity);
00037 
00038       //## Operation: AddLink%924739817
00039       void AddLink (LinkBase* link);
00040 
00041       //## Operation: GetFrameManager%924978286
00042       //        Returns the frame manager associated with this universe.
00043       FrameManager* GetFrameManager ();
00044 
00045       //## Operation: GetAllEntities%924978289
00046       //        provides access to all the entities in the universe
00047       const std::vector< Entity* >& GetAllEntities () const;
00048 
00049       //## Operation: GetAllLinks%924978292
00050       //        provides access to all the entities in the universe
00051       const std::vector< LinkBase* > GetAllLinks () const;
00052 
00053       //## Operation: SetConfiguration%926014533
00054       void SetConfiguration (const Configuration& configuration);
00055 
00056       //## Operation: Empty%927844451
00057       void Empty ();
00058 
00059       //## Operation: JointMax%928263339
00060       virtual double JointMax (const unsigned int jointNum) const;
00061 
00062       //## Operation: JointMin%928263340
00063       virtual double JointMin (const unsigned int jointNum) const;
00064 
00065       //## Operation: DOF%928263341
00066       virtual unsigned int DOF () const;
00067 
00068       //## Operation: JointWraps%928263342
00069       virtual bool JointWraps (const unsigned int jointNum) const;
00070 
00071       //## Operation: GetConfiguration%940357560
00072       Configuration GetConfiguration () const;
00073 
00074       //## Operation: GetEntity%961125356
00075       const Entity* GetEntity (const char* name) const;
00076 
00077       //## Operation: Clone%961125360
00078       //        this virtual function provides a copy of the object
00079       virtual CollisionDetectorBase* Clone () const;
00080 
00081     // Additional Public Declarations
00082       //## begin Universe%36FB1455010E.public preserve=yes
00083       //## end Universe%36FB1455010E.public
00084 
00085   protected:
00086 
00087     //## Other Operations (specified)
00088       //## Operation: TotalPolys%961125357
00089       int TotalPolys () const;
00090 
00091     // Data Members for Associations
00092 
00093       //## Association: Universe::<unnamed>%37195D99001E
00094       //## Role: Universe::entities%37195D990280
00095       //## begin Universe::entities%37195D990280.role preserve=no  protected: Entity { -> 0..nRFHAN}
00096       std::vector<Entity*> entities;
00097       //## end Universe::entities%37195D990280.role
00098 
00099       //## Association: Universe::<unnamed>%371E857F03D4
00100       //## Role: Universe::links%371E85820154
00101       //## begin Universe::links%371E85820154.role preserve=no  protected: LinkBase { -> 0..nRFHAN}
00102       std::vector<LinkBase*> links;
00103       //## end Universe::links%371E85820154.role
00104 
00105       FrameManager theFrameManager;
00106    
00107       int totalPolys ;
00108    private:
00109   private: //## implementation
00110 };
00111 
00112 std::ostream & operator<<( std::ostream &os, const Universe& v ) ;
00113 IfstreamWithComments & operator>>( IfstreamWithComments &is, Universe& v ) ;
00114 
00115 #endif

Generated on Sat Apr 1 21:30:35 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO