d4fb909a0f
- in import BTLX varie migliorie e correzioni.
131 lines
9.0 KiB
C++
131 lines
9.0 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2020-2020
|
|
//----------------------------------------------------------------------------
|
|
// File : ImportBtlx.h Data : 14.12.20 Versione : 2.3a6
|
|
// Contenuto : Dichiarazione della classe ImportBtlx.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 14.12.20 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "BtlGeom.h"
|
|
#include "/EgtDev/Include/EExImportBtlx.h"
|
|
#include <unordered_map>
|
|
|
|
//----------------------------------------------------------------------------
|
|
class ImportBtlx : public IImportBtlx
|
|
{
|
|
public :
|
|
bool Import( const std::string& sFile, IGeomDB* pGDB, int nFlag = 0) override ;
|
|
|
|
public :
|
|
ImportBtlx( void) ;
|
|
|
|
bool ReadFileHistory( pugi::xml_node node) ;
|
|
bool ReadProjectAttributes( pugi::xml_attribute attr) ;
|
|
bool ReadUserAttributes( pugi::xml_node node, int caller, STRVECTOR* pvsAttr = nullptr) ;
|
|
bool ReadPart( pugi::xml_node node) ;
|
|
bool ReadPartAttributes( pugi::xml_attribute attr) ;
|
|
bool ReadCamber( pugi::xml_node node) ;
|
|
bool ReadAlignment( pugi::xml_node node) ;
|
|
bool ReadPartOffset( pugi::xml_node node) ;
|
|
bool ReadProcessings( pugi::xml_node node) ;
|
|
bool ReadTransformation( pugi::xml_node node) ;
|
|
bool ReadOutline( pugi::xml_node node) ;
|
|
bool ReadContour( pugi::xml_node node, FCEDEQUE& dqFce, FreeContourEnt::TYPE type) ;
|
|
bool ReadDualContour( pugi::xml_node node, FCEDEQUE& dqFce) ;
|
|
bool ReadAperture( pugi::xml_node node, int nSide) ;
|
|
bool ReadUserReferencePlane( pugi::xml_node node) ;
|
|
bool ReadShape( pugi::xml_node node) ;
|
|
bool CheckGuid( const std::string& s) ;
|
|
|
|
// processing
|
|
bool ReadJackRafterCutParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadLongitudinalCutParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadDoubleCutParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadRidgeValleyCutParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadSawCutParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadSlotParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadBirdsMouthParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadHipValleyRafterNotchParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadLapParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadLogHouseHalfLapParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadFrenchRidgeLapParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadChamferParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadLogHouseJointParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadLogHouseFrontParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadPocketParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadDrillingParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadTenonParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadMortiseParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadDovetailTenonParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadDovetailMortiseParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadMarkingParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadTextParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadSimpleScarfParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadScarfJointParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadStepJointParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadStepJointNotchParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadPlaningParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadProfileFrontParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadProfileCamberedParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadRoundArchParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadProfileHeadParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadSphereParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadTriangleCutParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadTyroleanDovetailParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadDovetailParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar,
|
|
DBLVECTOR& vdPar, std::string& sPar) ;
|
|
bool ReadFreeContourParams( pugi::xml_node process, const STRVECTOR& vsUAtt) ;
|
|
bool ReadSContourParams( pugi::xml_node process, int nType, int nOtherId, int nGroup, int nProc, int nSide, bool bCounterSink,
|
|
int& nCrvCnt, const STRVECTOR& vsUAtt) ;
|
|
bool ReadDContourParams( pugi::xml_node process, int nGroup, int nProc, int nSide, bool bCounterSink,
|
|
int& nCrvCnt, const STRVECTOR& vsUAtt) ;
|
|
|
|
private :
|
|
BtlGeom m_BtlGeom ; // gestore geometria pezzi Btl
|
|
std::string m_sVersion ; // versione btlx
|
|
std::unordered_map< int, Frame3d> m_mapRefPlanes ;
|
|
} ;
|
|
|
|
|