//---------------------------------------------------------------------------- // EgalTech 2014-2014 //---------------------------------------------------------------------------- // File : ObjNewGraphics.h Data : 13.02.14 Versione : 1.5b1 // Contenuto : Dichiarazione della classe grafica di un oggetto geometrico. // // // // Modifiche : 13.02.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "ObjEGrGraphics.h" //---------------------------------------------------------------------------- class ObjNewGraphics : public ObjEGrGraphics { public : ObjNewGraphics( void) : m_pScene( nullptr), m_bValid( false), m_nMode( 0), m_nCount( 0) {} virtual ~ObjNewGraphics( void) ; virtual void Reset( void) ; public : virtual bool IsValid( void) { return m_bValid ; } virtual void SetScene( Scene* pScene) { m_pScene = pScene ; } virtual Scene* GetScene( void) { return m_pScene ; } virtual bool AddPolyLine( const PolyLine& PL) ; virtual bool Draw( void) ; private : bool DeleteVaoVbo( void) ; private : Scene* m_pScene ; // puntatore alla scena bool m_bValid ; // flag int m_nMode ; // modo di utilizzo dei vertici int m_nCount ; // numero di vertici nel VBO unsigned int m_nVaoId ; // Id del VAO unsigned int m_nVboId ; // Id del VBO } ; //---------------------------------------------------------------------------- inline const ObjNewGraphics* GetObjNewGraphics( const IGeoObj* pGObj) { return (dynamic_cast(pGObj->GetObjGraphics())) ; } inline ObjNewGraphics* GetObjNewGraphics( IGeoObj* pGObj) { return (dynamic_cast(pGObj->GetObjGraphics())) ; }