Files
Include/EGkGeomDB.h
T

50 lines
2.2 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 <string>
#include "/EgtDev/Include/EGkGeoObj.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) IGeomDB
{
public :
virtual ~IGeomDB( void) {}
virtual bool Init( void) = 0 ;
virtual bool Clear( void) = 0 ;
virtual bool Load( std::ifstream& osIn) = 0 ;
virtual bool Save( std::ofstream& osOut) = 0 ;
virtual bool ExistsObj( const std::string& sName) = 0 ;
virtual bool AddGeoObj( const std::string& sName, IGeoObj* pGeoObj) = 0 ;
virtual GeoObjType GetObjType( const std::string& sName) = 0 ;
virtual IGeoObj* GetGeoObj( const std::string& sName) = 0 ;
virtual bool Copy( const std::string& sNameSou, const std::string& sNameDest) = 0 ;
virtual bool Erase( const std::string& sName) = 0 ;
virtual bool Translate( const std::string& sName, const Vector3d& vtMove) = 0 ;
virtual bool Rotate( const std::string& sName, const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) = 0 ;
virtual bool Rotate( const std::string& sName, const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) = 0 ;
virtual bool Scale( const std::string& sName, const Point3d& ptCen, double dCoeffX, double dCoeffY, double dCoeffZ) = 0 ;
virtual bool Mirror( const std::string& sName, const Point3d& ptOn, const Vector3d& vtNorm) = 0 ;
} ;
//-----------------------------------------------------------------------------
EGK_EXPORT IGeomDB* CreateGeomDB( void) ;