aa80fb63af
- in import ed export 3MF gestione della gerarchia dei gruppi - migliorie e correzioni varie.
51 lines
2.2 KiB
C++
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
|
|
} ; |