fc00d6273a
- generalizzato l'uso di override (ovviamente dove va messo).
166 lines
9.2 KiB
C++
166 lines
9.2 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2013-2013
|
|
//----------------------------------------------------------------------------
|
|
// File : GdbIterator.h Data : 04.12.13 Versione : 1.4a3
|
|
// Contenuto : Dichiarazione della classe GdbIterator.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 04.12.13 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkGdbIterator.h"
|
|
#include "GeomDB.h"
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class GdbIterator : public IGdbIterator
|
|
{
|
|
public :
|
|
~GdbIterator( void) override ;
|
|
bool SetGDB( IGeomDB* pGDB) override ;
|
|
GeomDB* GetGDB( void) const override
|
|
{ return m_pGDB ; }
|
|
bool GoTo( int nId) override ;
|
|
bool GoToFirstInGroup( int nIdGroup) override ;
|
|
bool GoToFirstInGroup( const IGdbIterator& iIter) override ;
|
|
bool GoToNext( void) override ;
|
|
bool GoToLastInGroup( int nIdGroup) override ;
|
|
bool GoToLastInGroup( const IGdbIterator& iIter) override ;
|
|
bool GoToPrev( void) override ;
|
|
bool EraseAndGoToNext( void) override ;
|
|
bool EraseAndGoToPrev( void) override ;
|
|
bool GoToFirstNameInGroup( int nIdGroup, const std::string& sName) override ;
|
|
bool GoToFirstNameInGroup( const IGdbIterator& iIter, const std::string& sName) override ;
|
|
bool GoToNextName( const std::string& sName) override ;
|
|
bool GoToLastNameInGroup( int nIdGroup, const std::string& sName) override ;
|
|
bool GoToLastNameInGroup( const IGdbIterator& iIter, const std::string& sName) override ;
|
|
bool GoToPrevName( const std::string& sName) override ;
|
|
bool EraseAndGoToNextName( const std::string& sName) override ;
|
|
bool EraseAndGoToPrevName( const std::string& sName) override ;
|
|
bool GoToFirstGroupInGroup( int nIdGroup) override ;
|
|
bool GoToFirstGroupInGroup( const IGdbIterator& iIter) override ;
|
|
bool GoToNextGroup( void) override ;
|
|
bool GoToLastGroupInGroup( int nIdGroup) override ;
|
|
bool GoToLastGroupInGroup( const IGdbIterator& iIter) override ;
|
|
bool GoToPrevGroup( void) override ;
|
|
bool EraseAndGoToNextGroup( void) override ;
|
|
bool EraseAndGoToPrevGroup( void) override ;
|
|
// Gets
|
|
int GetGdbType( void) const override ;
|
|
int GetGeoType( void) const override ;
|
|
IGeoObj* GetGeoObj( void) override ;
|
|
const IGeoObj* GetGeoObj( void) const override ;
|
|
Frame3d* GetGroupFrame( void) override ;
|
|
const Frame3d* GetGroupFrame( void) const override ;
|
|
bool GetGroupFrame( Frame3d& frGlob) const override ;
|
|
bool GetGroupGlobFrame( Frame3d& frGlob) const override ;
|
|
int GetGroupObjs( void) const override ;
|
|
int GetId( void) const override ;
|
|
int GetParentId( void) const override ;
|
|
bool GetGlobFrame( Frame3d& frGlob) const override ;
|
|
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
|
|
bool GetGlobalBBox( BBox3d& b3Glob, int nFlag = BBF_STANDARD) const override ;
|
|
bool GetRefBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
|
|
// Transformations
|
|
bool Translate( const Vector3d& vtMove) override ;
|
|
bool TranslateGlob( const Vector3d& vtMove) override ;
|
|
bool TranslateGroup( const Vector3d& vtMove) override ;
|
|
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
|
|
{ double dAngRad = dAngDeg * DEGTORAD ;
|
|
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
|
|
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
|
|
bool RotateGlob( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
|
|
{ double dAngRad = dAngDeg * DEGTORAD ;
|
|
return RotateGlob( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
|
|
bool RotateGlob( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
|
|
bool RotateGroup( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
|
|
{ double dAngRad = dAngDeg * DEGTORAD ;
|
|
return RotateGroup( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
|
|
bool RotateGroup( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
|
|
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
|
|
bool ScaleGlob( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
|
|
bool ScaleGroup( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
|
|
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override ;
|
|
bool MirrorGlob( const Point3d& ptOn, const Vector3d& vtNorm) override ;
|
|
bool MirrorGroup( const Point3d& ptOn, const Vector3d& vtNorm) override ;
|
|
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
|
|
bool ShearGlob( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
|
|
bool ShearGroup( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
|
|
// Attributes
|
|
bool SetLevel( int nLevel) override ;
|
|
bool RevertLevel( void) override ;
|
|
bool GetLevel( int& nLevel) const override ;
|
|
bool GetCalcLevel( int& nLevel) const override ;
|
|
bool SetMode( int nMode) override ;
|
|
bool RevertMode( void) override ;
|
|
bool GetMode( int& nMode) const override ;
|
|
bool GetCalcMode( int& nMode) const override ;
|
|
bool SetStatus( int nStat) override ;
|
|
bool RevertStatus( void) override ;
|
|
bool GetStatus( int& nStat) const override ;
|
|
bool GetCalcStatus( int& nStat) const override ;
|
|
bool SetMark( void) override ;
|
|
bool ResetMark( void) override ;
|
|
bool GetMark( int& nMark) const override ;
|
|
bool GetCalcMark( int& nMark) const override ;
|
|
bool SetMaterial( int nMat) override ;
|
|
bool SetMaterial( int nMat, const std::string& sMatName) override ;
|
|
bool SetMaterial( Color cCol) override ;
|
|
bool GetMaterial( int& nMat) const override ;
|
|
bool GetMaterial( Material& mMat) const override ;
|
|
bool GetMaterial( Color& cCol) const override ;
|
|
bool GetCalcMaterial( int& nMat) const override ;
|
|
bool GetCalcMaterial( Material& mMat) const override ;
|
|
bool GetCalcMaterial( Color& cCol) const override ;
|
|
bool SetName( const std::string& sName) override ;
|
|
bool GetName( std::string& sName) const override ;
|
|
bool ExistsName( void) const override ;
|
|
bool RemoveName( void) override ;
|
|
bool SetInfo( const std::string& sKey, const std::string& sInfo) override ;
|
|
bool SetInfo( const std::string& sKey, bool bInfo) override ;
|
|
bool SetInfo( const std::string& sKey, int nInfo) override ;
|
|
bool SetInfo( const std::string& sKey, double dInfo) override ;
|
|
bool SetInfo( const std::string& sKey, const Point3d& ptInfo) override ;
|
|
bool SetInfo( const std::string& sKey, const Vector3d& vtInfo) override ;
|
|
bool SetInfo( const std::string& sKey, const Frame3d& frInfo) override ;
|
|
bool SetInfo( const std::string& sKey, const INTVECTOR& vnInfo) override ;
|
|
bool SetInfo( const std::string& sKey, const DBLVECTOR& vdInfo) override ;
|
|
bool SetInfo( const std::string& sKey, const STRVECTOR& vsInfo) override ;
|
|
bool GetInfo( const std::string& sKey, std::string& sInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, bool& bInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, int& nInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, double& dInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, Point3d& ptInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, Vector3d& vtInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, Frame3d& frInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, INTVECTOR& vnInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, DBLVECTOR& vdInfo) const override ;
|
|
bool GetInfo( const std::string& sKey, STRVECTOR& vsInfo) const override ;
|
|
bool ExistsInfo( const std::string& sKey) const ;
|
|
bool RemoveInfo( const std::string& sKey) ;
|
|
// TextureData
|
|
bool SetTextureName( const std::string& sTxrName) override ;
|
|
bool SetTextureFrame( const Frame3d& frTxrRef) override ;
|
|
bool RemoveTextureData( void) override ;
|
|
bool GetTextureName( std::string& sTxrName) const override ;
|
|
bool GetTextureFrame( Frame3d& frTxrRef) const override ;
|
|
// UserObj
|
|
bool SetUserObj( IUserObj* pUserObj) override ;
|
|
IUserObj* GetUserObj( void) override ;
|
|
const IUserObj* GetUserObj( void) const override ;
|
|
bool RemoveUserObj( void) override ;
|
|
|
|
public :
|
|
GdbIterator( IGeomDB* pGDB = nullptr) ;
|
|
void ResetCurrObjIfSame( GdbObj* pObj)
|
|
{ if ( m_pCurrObj == pObj)
|
|
m_pCurrObj = nullptr ; }
|
|
private :
|
|
GeomDB* m_pGDB ;
|
|
GdbObj* m_pCurrObj ;
|
|
} ;
|