d7a307339e
- aggiunte ad interfacce.
81 lines
4.3 KiB
C++
81 lines
4.3 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2013-2013
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkGeomDB.h Data : 24.11.13 Versione : 1.3a1
|
|
// Contenuto : Dichiarazione della interfaccia IGeomDB.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 24.11.13 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkGdbConst.h"
|
|
#include "/EgtDev/Include/EGkGeoFrame3d.h"
|
|
#include "/EgtDev/Include/EGkGeoObj.h"
|
|
#include "/EgtDev/Include/EGkColor.h"
|
|
#include "/EgtDev/Include/EGtILogger.h"
|
|
#include <string>
|
|
|
|
//----------------------- 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) IGeomDB
|
|
{
|
|
public :
|
|
virtual ~IGeomDB( void) {}
|
|
virtual bool Init( void) = 0 ;
|
|
virtual bool Clear( void) = 0 ;
|
|
virtual bool Load( const std::string& sFileIn) = 0 ;
|
|
virtual bool Save( const std::string& sFileOut) const = 0 ;
|
|
virtual bool ExistsObj( int nId) const = 0 ;
|
|
virtual int AddGroup( int nId, int nParentId, const Frame3d& frFrame) = 0 ;
|
|
virtual int AddGeoObj( int nId, int nParentId, IGeoObj* pGeoObj) = 0 ;
|
|
virtual GdbType GetGdbType( int nId) const = 0 ;
|
|
virtual IGeoObj* GetGeoObj( int nId) = 0 ;
|
|
virtual IGeoFrame3d* GetGeoFrame( int nId) = 0 ;
|
|
virtual bool GetGroupFrame( int nId, Frame3d& frGrp) const = 0 ;
|
|
virtual bool GetGroupGlobFrame( int nId, Frame3d& frGlob) const = 0 ;
|
|
virtual int GetGroupObjs( int nId) const = 0 ;
|
|
virtual int GetParentId( int nId) const = 0 ;
|
|
virtual bool GetGlobFrame( int nId, Frame3d& frGlob) const = 0 ;
|
|
virtual bool GetLocalBBox( int nId, BBox3d& b3Loc) const = 0 ;
|
|
virtual bool GetGlobalBBox( int nId, BBox3d& b3Glob) const = 0 ;
|
|
virtual bool GetRefBBox( int nId, const Frame3d& frRef, BBox3d& b3Ref) const = 0 ;
|
|
virtual int Copy( int nIdSou, int nIdDest, int nParentIdDest) = 0 ;
|
|
virtual int CopyGlob( int nIdSou, int nIdDest, int nParentIdDest) = 0 ;
|
|
virtual bool Erase( int nId) = 0 ;
|
|
virtual bool Translate( int nId, const Vector3d& vtMove) = 0 ;
|
|
virtual bool TranslateGlob( int nId, const Vector3d& vtMove) = 0 ;
|
|
virtual bool Rotate( int nId, const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) = 0 ;
|
|
virtual bool RotateGlob( int nId, const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) = 0 ;
|
|
virtual bool Rotate( int nId, const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) = 0 ;
|
|
virtual bool RotateGlob( int nId, const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) = 0 ;
|
|
virtual bool Scale( int nId, const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) = 0 ;
|
|
virtual bool ScaleGlob( int nId, const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) = 0 ;
|
|
virtual bool Mirror( int nId, const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
|
|
virtual bool MirrorGlob( int nId, const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
|
|
virtual bool DumpAttributes( int nId, std::string& sOut, const char* szNewLine) const = 0 ;
|
|
virtual bool SetDefaultColor( Color cCol) = 0 ;
|
|
virtual bool GetDefaultColor( Color& cCol) const = 0 ;
|
|
virtual bool SetColor( int nId, Color cCol) = 0 ;
|
|
virtual bool GetColor( int nId, Color& cCol) const = 0 ;
|
|
virtual bool SetName( int nId, const std::string& sName) = 0 ;
|
|
virtual bool GetName( int nId, std::string& sName) const = 0 ;
|
|
virtual bool RemoveName( int nId) = 0 ;
|
|
virtual bool SetInfo( int nId, const std::string& sKey, const std::string& sInfo) = 0 ;
|
|
virtual bool GetInfo( int nId, const std::string& sKey, std::string& sInfo) const = 0 ;
|
|
virtual bool RemoveInfo( int nId, const std::string& sKey) = 0 ;
|
|
} ;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
EGK_EXPORT IGeomDB* CreateGeomDB( void) ; |