basic/geometry/IGS/IGS_Object.h

Go to the documentation of this file.
00001 #ifndef _IGS_OBJECT_H_
00002 #define _IGS_OBJECT_H_
00003 
00004 class IGS_Controller;
00005 class Vector2;
00006 class Vector4;
00007 
00008 class IGS_Object
00009 {
00010 public:
00011                         IGS_Object();
00012         virtual         ~IGS_Object();
00013         virtual int     BinaryFileSize() const;
00014     void            CreateDisplayList( const IGS_Controller& controller ) const;
00015         static int      GenerateUid();
00016         const char*     GetIdCode() const;
00017         virtual void    GlDraw( const IGS_Controller& controller ) const;
00018         virtual void    Prepare( const IGS_Controller& controller );
00019         virtual bool    ReadBinary( char* buffer );
00020         virtual void    Render( const IGS_Controller& controller ) const = 0;
00021         virtual void    WriteBinary( char* buffer ) const;
00022 
00023 protected:
00024     void GlDraw( const Vector2& point ) const;
00025     void GlDraw( const Vector4& point ) const;
00026     bool PreparationComplete() const;
00027 
00028         static char g_IdCode[];
00029 
00030         mutable int m_DisplayListNumber;
00031         int  mUid;
00032         bool mPreparationComplete;
00033 };
00034 
00035 #ifdef _DEBUG
00036 void CheckGlErrorCode();
00037 #else
00038 inline void CheckGlErrorCode(){};
00039 #endif
00040 
00041 #endif

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