869ec96cc2
- aggiornamenti.
159 lines
9.3 KiB
C++
159 lines
9.3 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2013-2013
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkGdbIterator.h Data : 04.12.13 Versione : 1.4a3
|
|
// Contenuto : Dichiarazione della interfaccia IGdbIterator.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 04.12.13 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkGeomDB.h"
|
|
|
|
//----------------------- Macro per import/export ----------------------------
|
|
#undef EGK_EXPORT
|
|
#if defined( I_AM_EGK) // da definirsi solo nella DLL
|
|
#define EGK_EXPORT __declspec( dllexport)
|
|
#else
|
|
#define EGK_EXPORT __declspec( dllimport)
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class __declspec( novtable) IGdbIterator
|
|
{
|
|
public :
|
|
virtual ~IGdbIterator( void) {}
|
|
virtual bool SetGDB( IGeomDB* pGDB) = 0 ;
|
|
virtual IGeomDB* GetGDB( void) const = 0 ;
|
|
virtual bool GoTo( int nId) = 0 ;
|
|
virtual bool GoToFirstInGroup( int nIdGroup) = 0 ;
|
|
virtual bool GoToFirstInGroup( const IGdbIterator& iIter) = 0 ;
|
|
virtual bool GoToNext( void) = 0 ;
|
|
virtual bool GoToLastInGroup( int nIdGroup) = 0 ;
|
|
virtual bool GoToLastInGroup( const IGdbIterator& iIter) = 0 ;
|
|
virtual bool GoToPrev( void) = 0 ;
|
|
virtual bool EraseAndGoToNext( void) = 0 ;
|
|
virtual bool EraseAndGoToPrev( void) = 0 ;
|
|
virtual bool GoToFirstNameInGroup( int nIdGroup, const std::string& sName) ;
|
|
virtual bool GoToFirstNameInGroup( const IGdbIterator& iIter, const std::string& sName) ;
|
|
virtual bool GoToNextName( const std::string& sName) ;
|
|
virtual bool GoToLastNameInGroup( int nIdGroup, const std::string& sName) ;
|
|
virtual bool GoToLastNameInGroup( const IGdbIterator& iIter, const std::string& sName) ;
|
|
virtual bool GoToPrevName( const std::string& sName) ;
|
|
virtual bool EraseAndGoToNextName( const std::string& sName) ;
|
|
virtual bool EraseAndGoToPrevName( const std::string& sName) ;
|
|
virtual bool GoToFirstGroupInGroup( int nIdGroup) = 0 ;
|
|
virtual bool GoToFirstGroupInGroup( const IGdbIterator& iIter) = 0 ;
|
|
virtual bool GoToNextGroup( void) = 0 ;
|
|
virtual bool GoToLastGroupInGroup( int nIdGroup) = 0 ;
|
|
virtual bool GoToLastGroupInGroup( const IGdbIterator& iIter) = 0 ;
|
|
virtual bool GoToPrevGroup( void) = 0 ;
|
|
virtual bool EraseAndGoToNextGroup( void) = 0 ;
|
|
virtual bool EraseAndGoToPrevGroup( void) = 0 ;
|
|
// Gets
|
|
virtual int GetGdbType( void) const = 0 ;
|
|
virtual int GetGeoType( void) const = 0 ;
|
|
virtual IGeoObj* GetGeoObj( void) = 0 ;
|
|
virtual const IGeoObj* GetGeoObj( void) const = 0 ;
|
|
virtual Frame3d* GetGroupFrame( void) = 0 ;
|
|
virtual const Frame3d* GetGroupFrame( void) const = 0 ;
|
|
virtual bool GetGroupFrame( Frame3d& frGlob) const = 0 ;
|
|
virtual bool GetGroupGlobFrame( Frame3d& frGlob) const = 0 ;
|
|
virtual int GetGroupObjs( void) const = 0 ;
|
|
virtual int GetId( void) const = 0 ;
|
|
virtual int GetParentId( void) const = 0 ;
|
|
virtual bool GetGlobFrame( Frame3d& frGlob) const = 0 ;
|
|
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const = 0 ;
|
|
virtual bool GetGlobalBBox( BBox3d& b3Glob, int nFlag = BBF_STANDARD) const = 0 ;
|
|
virtual bool GetRefBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const = 0 ;
|
|
// Transformations
|
|
virtual bool Translate( const Vector3d& vtMove) = 0 ;
|
|
virtual bool TranslateGlob( const Vector3d& vtMove) = 0 ;
|
|
virtual bool TranslateGroup( const Vector3d& vtMove) = 0 ;
|
|
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) = 0 ;
|
|
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) = 0 ;
|
|
virtual bool RotateGlob( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) = 0 ;
|
|
virtual bool RotateGlob( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) = 0 ;
|
|
virtual bool RotateGroup( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) = 0 ;
|
|
virtual bool RotateGroup( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) = 0 ;
|
|
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) = 0 ;
|
|
virtual bool ScaleGlob( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) = 0 ;
|
|
virtual bool ScaleGroup( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) = 0 ;
|
|
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
|
|
virtual bool MirrorGlob( const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
|
|
virtual bool MirrorGroup( const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
|
|
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) = 0 ;
|
|
virtual bool ShearGlob( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) = 0 ;
|
|
virtual bool ShearGroup( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) = 0 ;
|
|
// Attributes
|
|
virtual bool SetLevel( int nLevel) = 0 ;
|
|
virtual bool RevertLevel( void) = 0 ;
|
|
virtual bool GetLevel( int& nLevel) const = 0 ;
|
|
virtual bool GetCalcLevel( int& nLevel) const = 0 ;
|
|
virtual bool SetMode( int nMode) = 0 ;
|
|
virtual bool RevertMode( void) = 0 ;
|
|
virtual bool GetMode( int& nMode) const = 0 ;
|
|
virtual bool GetCalcMode( int& nMode) const = 0 ;
|
|
virtual bool SetStatus( int nStat) = 0 ;
|
|
virtual bool RevertStatus( void) = 0 ;
|
|
virtual bool GetStatus( int& nStat) const = 0 ;
|
|
virtual bool GetCalcStatus( int& nStat) const = 0 ;
|
|
virtual bool SetMark( void) = 0 ;
|
|
virtual bool ResetMark( void) = 0 ;
|
|
virtual bool GetMark( int& nMark) const = 0 ;
|
|
virtual bool GetCalcMark( int& nMark) const = 0 ;
|
|
virtual bool SetMaterial( int nMat) = 0 ;
|
|
virtual bool SetMaterial( int nMat, const std::string& sMatName) = 0 ;
|
|
virtual bool SetMaterial( Color cCol) = 0 ;
|
|
virtual bool GetMaterial( int& nMat) const = 0 ;
|
|
virtual bool GetMaterial( Material& mMat) const = 0 ;
|
|
virtual bool GetMaterial( Color& cCol) const = 0 ;
|
|
virtual bool GetCalcMaterial( int& nMat) const = 0 ;
|
|
virtual bool GetCalcMaterial( Material& mMat) const = 0 ;
|
|
virtual bool GetCalcMaterial( Color& cCol) const = 0 ;
|
|
virtual bool SetName( const std::string& sName) = 0 ;
|
|
virtual bool GetName( std::string& sName) const = 0 ;
|
|
virtual bool ExistsName( void) const = 0 ;
|
|
virtual bool RemoveName( void) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, const std::string& sInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, bool bInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, int nInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, double dInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, const Point3d& ptInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, const Vector3d& vtInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, const Frame3d& frInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, const INTVECTOR& vnInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, const DBLVECTOR& vdInfo) = 0 ;
|
|
virtual bool SetInfo( const std::string& sKey, const STRVECTOR& vsInfo) = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, std::string& sInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, bool& bInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, int& nInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, double& dInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, Point3d& ptInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, Vector3d& vtInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, Frame3d& frInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, INTVECTOR& vnInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, DBLVECTOR& vdInfo) const = 0 ;
|
|
virtual bool GetInfo( const std::string& sKey, STRVECTOR& vsInfo) const = 0 ;
|
|
virtual bool ExistsInfo( const std::string& sKey) const = 0 ;
|
|
virtual bool RemoveInfo( const std::string& sKey) = 0 ;
|
|
// TextureData
|
|
virtual bool SetTextureName( const std::string& sTxrName) = 0 ;
|
|
virtual bool SetTextureFrame( const Frame3d& frTxrRef) = 0 ;
|
|
virtual bool RemoveTextureData( void) = 0 ;
|
|
virtual bool GetTextureName( std::string& sTxrName) const = 0 ;
|
|
virtual bool GetTextureFrame( Frame3d& frTxrRef) const = 0 ;
|
|
// UserObj
|
|
virtual bool SetUserObj( IUserObj* pUserObj) = 0 ;
|
|
virtual IUserObj* GetUserObj( void) = 0 ;
|
|
virtual const IUserObj* GetUserObj( void) const = 0 ;
|
|
virtual bool RemoveUserObj( void) = 0 ;
|
|
} ;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
EGK_EXPORT IGdbIterator* CreateGdbIterator( IGeomDB* pGDB = nullptr) ; |