basic/universe/Entity.h

Go to the documentation of this file.
00001 //## begin module%37195CDA01B8.cm preserve=no
00002 //        %X% %Q% %Z% %W%
00003 //## end module%37195CDA01B8.cm
00004 
00005 //## begin module%37195CDA01B8.cp preserve=no
00006 //## end module%37195CDA01B8.cp
00007 
00008 //## Module: Entity%37195CDA01B8; Pseudo Package specification
00009 //## Source file: C:\project\mpk\code\Universe\Entity.h
00010 
00011 #ifndef Entity_h
00012 #define Entity_h 1
00013 
00014 //## begin module%37195CDA01B8.additionalIncludes preserve=no
00015 //## end module%37195CDA01B8.additionalIncludes
00016 
00017 //## begin module%37195CDA01B8.includes preserve=yes
00018 #include "additional/streams/ifstreamwithcomments.h"
00019 //## end module%37195CDA01B8.includes
00020 
00021 // FrameManager
00022 #include "Kinematics\FrameManager.h"
00023 
00024 class Matrix4x4;
00025 
00026 //## begin module%37195CDA01B8.additionalDeclarations preserve=yes
00027 //## end module%37195CDA01B8.additionalDeclarations
00028 
00029 
00030 //## begin Entity%37195CDA01B8.preface preserve=yes
00031 //## end Entity%37195CDA01B8.preface
00032 
00033 //## Class: Entity%37195CDA01B8; Abstract
00034 //      this is the base class for every type of c++ object that
00035 //      can be added to the universe
00036 //## Category: Universe%36FB145C0082
00037 //## Persistence: Transient
00038 //## Cardinality/Multiplicity: n
00039 
00040 //## Uses: <unnamed>%3731E04D001E;Matrix4x4 { -> F}
00041 //## Uses: <unnamed>%37FCF3160113;FrameManager { -> F}
00042 
00043 class Entity 
00044 {
00045   //## begin Entity%37195CDA01B8.initialDeclarations preserve=yes
00046   //## end Entity%37195CDA01B8.initialDeclarations
00047 
00048   public:
00049     //## Constructors (specified)
00050       //## Operation: Entity%925324836
00051       Entity (FrameManager* frameManager);
00052 
00053       //## Operation: Entity%925324843
00054       Entity (const Entity& right);
00055 
00056     //## Destructor (generated)
00057       virtual ~Entity();
00058 
00059 
00060     //## Other Operations (specified)
00061       //## Operation: Clone%924739812
00062       //        this operation allocates memory for a copy of this
00063       //        object, and returns a pointer to this new instantiation.
00064       virtual Entity* Clone () const = 0;
00065 
00066       //## Operation: IsInterfering%925235846
00067       virtual bool IsInterfering (const Entity* entity) const = 0;
00068 
00069       //## Operation: SetBaseFrame%925235861
00070       virtual void SetBaseFrame (const unsigned int baseFrame);
00071 
00072       //## Operation: SetFrameManager%925503316
00073       virtual void SetFrameManager (FrameManager* frameManager);
00074 
00075       //## Operation: GetTransform%926014529
00076       Matrix4x4 GetTransform () const;
00077 
00078       //## Operation: CanCheckInterference%926300301
00079       virtual bool CanCheckInterference (const Entity* entity) const = 0;
00080 
00081       //## Operation: BaseFrame%926807003
00082       unsigned int BaseFrame () const;
00083 
00084       //## Operation: SetName%961125353
00085       void SetName (const char* name);
00086 
00087       //## Operation: GetName%961125354
00088       const char* GetName () const;
00089 
00090     // Additional Public Declarations
00091       //## begin Entity%37195CDA01B8.public preserve=yes
00092           virtual bool DeserializeEntity( IfstreamWithComments& is ) ;
00093       //## end Entity%37195CDA01B8.public
00094   protected:
00095     // Data Members for Class Attributes
00096 
00097       //## Attribute: baseFrame%371E7E9202F8
00098       //        this is the frame in which the entity is defined
00099       //## begin Entity::baseFrame%371E7E9202F8.attr preserve=no  protected: unsigned int {UA} 
00100       unsigned int baseFrame;
00101       //## end Entity::baseFrame%371E7E9202F8.attr
00102 
00103       //## Attribute: name%39499B9C0014
00104       //## begin Entity::name%39499B9C0014.attr preserve=no  protected: char* {UA} NULL
00105       char* name;
00106       //## end Entity::name%39499B9C0014.attr
00107 
00108     // Data Members for Associations
00109 
00110       //## Association: geometry::<unnamed>%37263D5600F0
00111       //## Role: Entity::frameManager%37263D560349
00112       //## begin Entity::frameManager%37263D560349.role preserve=no  protected: FrameManager { -> 1RHAN}
00113       FrameManager* frameManager;
00114       //## end Entity::frameManager%37263D560349.role
00115 
00116     // Additional Protected Declarations
00117       //## begin Entity%37195CDA01B8.protected preserve=yes
00118       //## end Entity%37195CDA01B8.protected
00119 
00120   private:
00121     // Additional Private Declarations
00122       //## begin Entity%37195CDA01B8.private preserve=yes
00123       //## end Entity%37195CDA01B8.private
00124 
00125   private: //## implementation
00126     // Additional Implementation Declarations
00127       //## begin Entity%37195CDA01B8.implementation preserve=yes
00128       //## end Entity%37195CDA01B8.implementation
00129 
00130 };
00131 
00132 //## begin Entity%37195CDA01B8.postscript preserve=yes
00133 //## end Entity%37195CDA01B8.postscript
00134 
00135 // Class Entity 
00136 
00137 //## begin module%37195CDA01B8.epilog preserve=yes
00138 //## end module%37195CDA01B8.epilog
00139 
00140 
00141 #endif

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