//---------------------------------------------------------------------------- // EgalTech 2017-2017 //---------------------------------------------------------------------------- // File : ObjMultiGraphics.h Data : 02.02.17 Versione : 1.6x3 // Contenuto : Dichiarazione classe multi-grafica di un oggetto geometrico. // // // // Modifiche : 02.02.17 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "ObjEGrGraphics.h" #include //---------------------------------------------------------------------------- class ObjMultiGraphics : public ObjEGrGraphics { public : // IObjGraphics ~ObjMultiGraphics( void) override ; void Reset( void) override ; void ResetAll( void) override ; public : // ObjEGrGraphics bool IsValid( void) override { return m_bValid ; } void SetScene( Scene* pScene) override ; Scene* GetScene( void) override { return m_pScene ; } bool SetCurrent( int nCurr) override ; void Clear( void) override ; bool AddColor( const Color& colC) override ; bool AddMaterial( const Color& colAmb, const Color& colDiff, const Color& colSpec, float fShin) override ; bool AddBackMaterial( const Color& colAmbDiff) override ; bool AddLineStipple( int nFactor, int nPattern) override ; bool AddPoint( const Point3d& ptP, bool bAux = false) override ; bool AddPoints( const PNTVECTOR& vPnt, bool bAux = false) override ; bool AddLines( const PNTVECTOR& vPnt, bool bAux = false) override ; bool AddPolyLine( const PolyLine& PL, bool bAux = false) override ; bool StartTriangles( int nNum, bool bAux = false) override ; bool AddTriangle( const Triangle3d& Tria, const TriFlags3d& TFlags, const TriNormals3d& TNrms) override ; bool EndTriangles( void) override ; bool Draw( int nStat, int nMark, bool bSurfSha, bool bSurf, int nAlpha, bool bShowAux) override ; bool GetLocalBBox( BBox3d& b3Loc) const override ; bool SetCounter( int nCnt) override ; int GetCounter( void) const override ; public : ObjMultiGraphics( int nCount, bool bNewWay) ; private : Scene* m_pScene ; // puntatore alla scena bool m_bValid ; // flag mutable BBox3d m_b3Loc ; // BoundingBox locale int m_nCurr ; // Graphics corrente std::vector m_vOEGR ; // vettore di Graphics std::vector m_Counter ; // vettore contatori di aggiornamento } ;