00001 #ifndef ObjectBase_h 00002 #define ObjectBase_h 1 00003 #include <iostream> 00004 #include <vector> 00005 00006 using std::istream ; 00007 00008 #include "Universe\Entity.h" 00009 #include "geometry\Frame.h" 00010 #include "serializable\MPK_Serializable.h" 00011 00012 class GL_Group; 00013 class GL_Mesh; 00014 class IGS_Object; 00015 00016 class ObjectBase : public Entity, //## Inherits: <unnamed>%37195D57029E 00017 public MPK_Serializable //## Inherits: <unnamed>%37AF17950286 00018 { 00019 public: 00020 ObjectBase (FrameManager* frameManager); 00021 ObjectBase (const ObjectBase& right); 00022 virtual ~ObjectBase(); 00023 void PrintDebugInfo() const; 00024 virtual Entity* Clone () const = 0; 00025 static ObjectBase* Create(const IGS_Object* right ); 00026 const Matrix4x4& GetFrame () const; 00027 virtual void SetFrame (const Matrix4x4& frame); 00028 virtual bool IsInterfering (const Entity* entity) const = 0; 00029 static ObjectBase* Deserialize (IfstreamWithComments& is); 00030 virtual int TotalPolys() const; 00031 virtual bool Verify() const = 0; 00032 00033 Matrix4x4 theFrame; 00034 00035 00036 protected: 00037 // Additional Protected Declarations 00038 //## begin ObjectBase%36FE7BF30032.protected preserve=yes 00039 //## end ObjectBase%36FE7BF30032.protected 00040 00041 private: 00042 // Additional Private Declarations 00043 //## begin ObjectBase%36FE7BF30032.private preserve=yes 00044 //## end ObjectBase%36FE7BF30032.private 00045 00046 private: //## implementation 00047 // Additional Implementation Declarations 00048 //## begin ObjectBase%36FE7BF30032.implementation preserve=yes 00049 //## end ObjectBase%36FE7BF30032.implementation 00050 00051 }; 00052 00053 #endif