Files
EgtExchange/Export3MF.h
T
SaraP aa80fb63af EgtExchange 2.6l3 :
- in import ed export 3MF gestione della gerarchia dei gruppi
- migliorie e correzioni varie.
2024-12-16 10:52:28 +01:00

51 lines
2.2 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2014-2014
//----------------------------------------------------------------------------
// File : Export3MF.h Data : 01.09.21 Versione : 2.3i1
// Contenuto : Dichiarazione della classe Export3MF.
//
//
//
// Modifiche : 26.08.21 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#define NOMINMAX
#include "/EgtDev/Extern/Lib3MF/Include/lib3mf_implicit.hpp"
#include "/EgtDev/Include/EExExport3MF.h"
class IGdbIterator ;
//----------------------------------------------------------------------------
class Export3MF : public IExport3MF
{
public :
virtual bool SetOptions( int nFilter) ;
virtual bool Export( IGeomDB* pGDB, int nId, const std::string& sFile) ;
public :
Export3MF( void) : m_nFilter( EEXFLT_DEFAULT) {
CalcGroupFilter() ;
}
private :
bool ExportObject( const IGdbIterator& iIter, Lib3MF::PComponentsObject pParent = nullptr, bool bSaveGrpAsComponent = false) ;
bool ExportGroup( const IGdbIterator& iIter, const std::string& sName, const STRVECTOR& vsInfo, Lib3MF::PComponentsObject pParent,
bool bSaveAsComponent) ;
bool ExportSFR( const IGeoObj* pGeoObj, const Frame3d& frFrame, const std::string& sName, const STRVECTOR& vInfo,
const Color& cCol, Lib3MF::PComponentsObject pParent) ;
bool ExportSTM( const IGeoObj* pGeoObj, const Frame3d& frFrame, const std::string& sName, const STRVECTOR& vInfo,
const Color& cCol, Lib3MF::PComponentsObject pParent) ;
bool TestFilter( int nLev, int nMode, int nStat, bool bGroup) const ;
bool CalcGroupFilter( void) ;
Lib3MF_uint32 ColorHandler3MF( const Color& cCol) ;
private :
int m_nFilter ; // filtro su livello, modo e stato, se l'oggetto da valutare è un oggetto geometrico
int m_nGroupFilter ; // filtro su livello, modo e stato, se l'oggetto da valutare è un gruppo
Lib3MF::PWrapper m_wrapper ; // lib3mf wrapper
Lib3MF::PModel m_model ; // lib3mf model
} ;