5e317faba6
- in curve composite aggiunti punti intermedi su giunzioni interne tra componenti elementari.
62 lines
2.6 KiB
C++
62 lines
2.6 KiB
C++
//----------------------------------------------------------------------------
|
|
// 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 <vector>
|
|
|
|
//----------------------------------------------------------------------------
|
|
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 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<ObjEGrGraphics*> m_vOEGR ; // vettore di Graphics
|
|
std::vector<int> m_Counter ; // vettore contatori di aggiornamento
|
|
} ;
|