Files
Include/EGkGdbIterator.h
Dario Sassi 00f5e38f61 Include :
- aggiornamento prototipi e costanti (per Mark).
2024-08-22 09:09:18 +02:00

166 lines
9.7 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2013-2023
//----------------------------------------------------------------------------
// File : EGkGdbIterator.h Data : 09.07.23 Versione : 2.5g1
// Contenuto : Dichiarazione della interfaccia IGdbIterator.
//
//
//
// Modifiche : 04.12.13 DS Creazione modulo.
// 29.01.23 DS Aggiunte GetAllInfo e CopyAllInfoFrom.
// 09.07.23 DS Aggiunte SetStipple e GetStipple.
//
//----------------------------------------------------------------------------
#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( int nMark = GDB_MK_ON) = 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 ;
virtual bool GetAllInfo( STRVECTOR& vsInfo) const = 0 ;
virtual bool CopyAllInfoFrom( const IGdbIterator& iIter) = 0 ;
// Stipple
virtual bool SetStipple( int nFactor, int nPattern) = 0 ;
virtual bool GetStipple( int& nFactor, int& nPattern) const = 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) ;