Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

/lib/libtvuvisu3D/tvu_3dobject.h

Go to the documentation of this file.
00001 
00011 #ifndef __TVU_3DOBJECT_H__
00012 #define __TVU_3DOBJECT_H__
00013 
00014 #ifndef __TVU_TYPESDEF_H__
00015 #include "tvu_typesdef.h"
00016 #endif 
00017 
00018 #ifndef __TVU_VISU3D_APPLICATION_H__
00019 #include "tvu_visu3d.application.h"
00020 #endif 
00021 /*========================================================*/
00022 
00023 #define CLASSNAME_3DOBJECT                                      "3DObject"
00024 #define CLASSNAME_3DOBJECT_ID                           10000
00025 
00026 #define ENAME_3DOBJECT_RGB                                      "color"
00027 #define ENAME_3DOBJECT_PRIMITIVES                       "primitives"
00028 #define ENAME_3DOBJECT_CHILDREN                         "sub_part"
00029 #define ENAME_3DOBJECT_POSITION                         "position"
00030 #define ENAME_3DOBJECT_ANGLES                           "angles"
00031 #define ENAME_3DOBJECT_SIZE                                     "size"
00032 /*--------------------------------------------------------*/
00034 class CT3DObject : public CTReferableObject
00035 {
00036         public:
00038                 CT3DObject();
00039                 virtual ~CT3DObject() { Delete(); };
00040                 DEFINE_ID_FUNCTIONS(CT3DObject, CTReferableObject, CLASSNAME_3DOBJECT_ID, CLASSNAME_3DOBJECT)
00041         public:
00043                 virtual TBOOL           Is3DObject() { return TTRUE; };
00044                 virtual TPOINT3D        GetLocation() { return m_Position.POINT3D(); };
00045         public:
00047                 virtual TBOOL OnPostLoad(LPTBYTE* lpBuffers);
00049                 virtual CTList  GetSaveLoadObjects(TBOOL bOnLoad = TTRUE);
00052                 virtual TBOOL Display(THFILE lpDevice = TNULL);
00053                 virtual TBOOL OnDisplaying(THFILE lpDevice);
00055                 virtual TBOOL Move();
00056                 virtual TBOOL MoveTo(CTPoint3D& Position);
00057                 virtual TBOOL Rotate();
00058                 virtual TBOOL Project();
00060                 virtual TBOOL BuildObject();
00062                 virtual TBOOL IsWellConstructed();
00064                 virtual TBOOL ReferTo(CTReferableObject* lpObject);
00066                 virtual TBOOL GetBoundary(BOUNDARY& Boundary);
00068                 void SetColor(CTRGB& RGBColor) { SetColor(RGBColor.r, RGBColor.g, RGBColor.b); };
00069                 void SetColor(TINT r, TINT g, TINT b);
00070                 void SetColor(TLPCSTR lpStrColor);
00071         public:
00073                 CT3DObject* GetChild(TLPCSTR lpName);   
00074                 CT3DObject* GetSubPart(TLPCSTR lpName); 
00075         public:
00077                 virtual void Delete();
00078         public:
00080                 CT3DObject& operator = (CT3DObject& AnObject);  
00081         public:
00084                 CTPoint3D&      GetPosition() { return m_Position; };
00085                 CTAngles&       GetAngles() { return m_Angles; };
00086                 CTSize3D&       GetSize() { return m_Size; };
00088                 CTList GetPrimitives(){ return m_Primitives; };
00089                 CTList GetChildren(){ return m_Children; };
00090                 CTList GetSiblings(){ return m_Siblings; };
00091         protected:
00094                 CTRGB    m_RGB;
00096                 CTPoint3D       m_Position;
00097                 CTAngles        m_Angles;
00098                 CTSize3D        m_Size, m_SizeOriginal;
00101                 CTList  m_Primitives;
00103                 CTList  m_Children;
00105                 CTList  m_Siblings;
00106 };
00107 /*========================================================*/
00108 #endif 

Generated at Wed Aug 6 15:58:58 2003 for TVU's libraries for video surveillance: by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001