//---------------------------------------------------------------------------- // 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 int GetGdbType( void) const = 0 ; virtual IGeoObj* GetGeoObj( void) = 0 ; virtual Frame3d* GetGroupFrame( void) = 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_NONE) const = 0 ; virtual bool GetGlobalBBox( BBox3d& b3Glob, int nFlag = BBF_NONE) const = 0 ; virtual bool GetRefBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_NONE) const = 0 ; 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 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 ExistsInfo( const std::string& sKey) const = 0 ; virtual bool RemoveInfo( const std::string& sKey) = 0 ; } ; //----------------------------------------------------------------------------- EGK_EXPORT IGdbIterator* CreateGdbIterator( IGeomDB* pGDB = nullptr) ;