Files
Dario Sassi d4fb909a0f EgtExchange :
- in import BTLX varie migliorie e correzioni.
2024-02-04 23:53:45 +01:00

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 ;
} ;