diff --git a/CurveArc.cpp b/CurveArc.cpp index 59d6439..67bc934 100644 --- a/CurveArc.cpp +++ b/CurveArc.cpp @@ -142,7 +142,7 @@ CurveArc::Save( ostream& osOut) const //---------------------------------------------------------------------------- bool -CurveArc::Load( CScan& TheScanner) +CurveArc::Load( Scanner& TheScanner) { string sLine ; STRVECTOR vsParams ; diff --git a/CurveArc.h b/CurveArc.h index 10407c2..d7f3b7a 100644 --- a/CurveArc.h +++ b/CurveArc.h @@ -26,7 +26,7 @@ class CurveArc : public ICurveArc virtual const std::string& GetKey( void) const ; virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( CScan& TheScanner) ; + virtual bool Load( Scanner& TheScanner) ; virtual bool Translate( const Vector3d& vtMove) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngRad) diff --git a/CurveBezier.cpp b/CurveBezier.cpp index 3062c4e..4430404 100644 --- a/CurveBezier.cpp +++ b/CurveBezier.cpp @@ -221,7 +221,7 @@ CurveBezier::Save( ostream& osOut) const //---------------------------------------------------------------------------- bool -CurveBezier::Load( CScan& TheScanner) +CurveBezier::Load( Scanner& TheScanner) { string sLine ; STRVECTOR vsParams ; diff --git a/CurveBezier.h b/CurveBezier.h index a3d23a3..c6cb0c7 100644 --- a/CurveBezier.h +++ b/CurveBezier.h @@ -26,7 +26,7 @@ class CurveBezier : public ICurveBezier virtual const std::string& GetKey( void) const ; virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( CScan& TheScanner) ; + virtual bool Load( Scanner& TheScanner) ; virtual bool Translate( const Vector3d& vtMove) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngRad) diff --git a/CurveComposite.cpp b/CurveComposite.cpp index 59e1b28..50efc8b 100644 --- a/CurveComposite.cpp +++ b/CurveComposite.cpp @@ -197,7 +197,7 @@ CurveComposite::Save( ostream& osOut) const //---------------------------------------------------------------------------- bool -CurveComposite::Load( CScan& TheScanner) +CurveComposite::Load( Scanner& TheScanner) { int nType ; string sLine ; diff --git a/CurveComposite.h b/CurveComposite.h index 65f33e6..7566651 100644 --- a/CurveComposite.h +++ b/CurveComposite.h @@ -30,7 +30,7 @@ class CurveComposite : public ICurveComposite virtual const std::string& GetKey( void) const ; virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( CScan& TheScanner) ; + virtual bool Load( Scanner& TheScanner) ; virtual bool Translate( const Vector3d& vtMove) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngRad) diff --git a/CurveLine.cpp b/CurveLine.cpp index 5eadd1a..af2835d 100644 --- a/CurveLine.cpp +++ b/CurveLine.cpp @@ -81,7 +81,7 @@ CurveLine::Save( ostream& osOut) const //---------------------------------------------------------------------------- bool -CurveLine::Load( CScan& TheScanner) +CurveLine::Load( Scanner& TheScanner) { string sLine ; STRVECTOR vsParams ; diff --git a/CurveLine.h b/CurveLine.h index f79a832..c12a6ac 100644 --- a/CurveLine.h +++ b/CurveLine.h @@ -26,7 +26,7 @@ class CurveLine : public ICurveLine virtual const std::string& GetKey( void) const ; virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( CScan& TheScanner) ; + virtual bool Load( Scanner& TheScanner) ; virtual bool Translate( const Vector3d& vtMove) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngRad) diff --git a/GdbExecutor.cpp b/GdbExecutor.cpp index 4b7040d..ff1e6dc 100644 --- a/GdbExecutor.cpp +++ b/GdbExecutor.cpp @@ -57,44 +57,6 @@ GdbExecutor::Init( IGeomDB* pGdb, ILogger* pLogger) return ( m_pGDB != nullptr) ; } -//---------------------------------------------------------------------------- -bool -GdbExecutor::Load( const string& sFile) -{ - bool bOk ; - ifstream ifLoad ; - - - ifLoad.open( stringtoW( sFile)) ; - if ( ifLoad.good()) { - bOk = m_pGDB->Load( ifLoad) ; - ifLoad.close() ; - } - else - bOk = false ; - - return bOk ; -} - -//---------------------------------------------------------------------------- -bool -GdbExecutor::Save( const string& sFile) -{ - bool bOk ; - ofstream ofSave ; - - - ofSave.open( stringtoW( sFile)) ; - if ( ofSave.good()) { - bOk = m_pGDB->Save( ofSave) ; - ofSave.close() ; - } - else - bOk = false ; - - return bOk ; -} - //---------------------------------------------------------------------------- bool GdbExecutor::Execute( const string& sCmd1, const string& sCmd2, const STRVECTOR& vsParams) @@ -847,7 +809,7 @@ GdbExecutor::ExecuteLoad( const STRVECTOR& vsParams) m_pGDB->Clear() ; m_pGDB->ReInit() ; // esecuzione caricamento - return Load( vsParams[0]) ; + return m_pGDB->Load( vsParams[0]) ; } //---------------------------------------------------------------------------- @@ -858,7 +820,7 @@ GdbExecutor::ExecuteSave( const STRVECTOR& vsParams) if ( vsParams.size() != 1) return false ; // esecuzione salvataggio - return Save( vsParams[0]) ; + return m_pGDB->Save( vsParams[0]) ; } //---------------------------------------------------------------------------- diff --git a/GdbExecutor.h b/GdbExecutor.h index e92c8d9..bffef3a 100644 --- a/GdbExecutor.h +++ b/GdbExecutor.h @@ -27,8 +27,6 @@ class GdbExecutor : public IGdbExecutor public : GdbExecutor( void) ; ~GdbExecutor( void) ; - bool Load( const std::string& sFile) ; - bool Save( const std::string& sFile) ; private : bool AddGeoObj( const std::string& sId, const std::string& sIdParent, IGeoObj* pGeoObj) ; diff --git a/GdbGroup.cpp b/GdbGroup.cpp index 8691d73..30cbca2 100644 --- a/GdbGroup.cpp +++ b/GdbGroup.cpp @@ -125,7 +125,7 @@ GdbGroup::Save( std::ostream& osOut) const //---------------------------------------------------------------------------- bool -GdbGroup::Load( const string& sType, CScan& TheScanner, int& nParentId) +GdbGroup::Load( const string& sType, Scanner& TheScanner, int& nParentId) { string sLine ; STRVECTOR vsParams ; diff --git a/GdbGroup.h b/GdbGroup.h index f35ddb0..719fe80 100644 --- a/GdbGroup.h +++ b/GdbGroup.h @@ -28,7 +28,7 @@ class GdbGroup : public GdbNode virtual ~GdbGroup( void) ; virtual GdbGroup* Clone( int nId, IdManager& IdMgr) const ; virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( const std::string& sType, CScan& TheScanner, int& nParentId) ; + virtual bool Load( const std::string& sType, Scanner& TheScanner, int& nParentId) ; virtual bool Translate( const Vector3d& vtMove) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) diff --git a/GdbNode.h b/GdbNode.h index 88d5eff..07bf436 100644 --- a/GdbNode.h +++ b/GdbNode.h @@ -29,7 +29,7 @@ class GdbNode virtual ~GdbNode( void) {} virtual GdbNode* Clone( int nId, IdManager& IdMgr) const = 0 ; virtual bool Save( std::ostream& osOut) const = 0 ; - virtual bool Load( const std::string& sType, CScan& TheScanner, int& nParentId) = 0 ; + virtual bool Load( const std::string& sType, Scanner& TheScanner, int& nParentId) = 0 ; virtual bool Translate( const Vector3d& vtMove) = 0 ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) = 0 ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngRad) = 0 ; diff --git a/GdbObj.cpp b/GdbObj.cpp index dfc962f..a398fa0 100644 --- a/GdbObj.cpp +++ b/GdbObj.cpp @@ -87,7 +87,7 @@ GdbObj::Save( std::ostream& osOut) const //---------------------------------------------------------------------------- bool -GdbObj::Load( const std::string& sType, CScan& TheScanner, int& nParentId) +GdbObj::Load( const std::string& sType, Scanner& TheScanner, int& nParentId) { int nType ; string sLine ; diff --git a/GdbObj.h b/GdbObj.h index d086157..30f269d 100644 --- a/GdbObj.h +++ b/GdbObj.h @@ -25,7 +25,7 @@ class GdbObj : public GdbNode virtual ~GdbObj( void) ; virtual GdbObj* Clone( int nId, IdManager& IdMgr) const ; virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( const std::string& sType, CScan& TheScanner, int& nParentId) ; + virtual bool Load( const std::string& sType, Scanner& TheScanner, int& nParentId) ; virtual bool Translate( const Vector3d& vtMove) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ; virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) diff --git a/GeoFrame3d.cpp b/GeoFrame3d.cpp index a588902..cc367da 100644 --- a/GeoFrame3d.cpp +++ b/GeoFrame3d.cpp @@ -91,7 +91,7 @@ GeoFrame3d::Save( ostream& osOut) const //---------------------------------------------------------------------------- bool -GeoFrame3d::Load( CScan& TheScanner) +GeoFrame3d::Load( Scanner& TheScanner) { Point3d ptOrig ; Vector3d vtDirX ; diff --git a/GeoFrame3d.h b/GeoFrame3d.h index d336cc0..09acc73 100644 --- a/GeoFrame3d.h +++ b/GeoFrame3d.h @@ -26,7 +26,7 @@ class GeoFrame3d : public IGeoFrame3d virtual const std::string& GetKey( void) const ; virtual bool IsValid( void) const { return ( m_frF.GetType() != Frame3d::ERR) ; } virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( CScan& TheScanner) ; + virtual bool Load( Scanner& TheScanner) ; virtual bool GetFrame( Frame3d& frF) const { frF = m_frF ; return true ;} virtual bool Translate( const Vector3d& vtMove) diff --git a/GeoPoint3d.cpp b/GeoPoint3d.cpp index b72d424..584a57c 100644 --- a/GeoPoint3d.cpp +++ b/GeoPoint3d.cpp @@ -77,7 +77,7 @@ GeoPoint3d::Save( ostream& osOut) const //---------------------------------------------------------------------------- bool -GeoPoint3d::Load( CScan& TheScanner) +GeoPoint3d::Load( Scanner& TheScanner) { string sLine ; diff --git a/GeoPoint3d.h b/GeoPoint3d.h index 08a684a..1bc6bc8 100644 --- a/GeoPoint3d.h +++ b/GeoPoint3d.h @@ -26,7 +26,7 @@ class GeoPoint3d : public IGeoPoint3d virtual const std::string& GetKey( void) const ; virtual bool IsValid( void) const { return true ; } virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( CScan& TheScanner) ; + virtual bool Load( Scanner& TheScanner) ; virtual bool GetPoint( Point3d& ptP) const { ptP = m_ptP ; return true ;} virtual bool Translate( const Vector3d& vtMove) diff --git a/GeoVector3d.cpp b/GeoVector3d.cpp index 2a5fa5a..4f09d8e 100644 --- a/GeoVector3d.cpp +++ b/GeoVector3d.cpp @@ -76,7 +76,7 @@ GeoVector3d::Save( ostream& osOut) const //---------------------------------------------------------------------------- bool -GeoVector3d::Load( CScan& TheScanner) +GeoVector3d::Load( Scanner& TheScanner) { string sLine ; diff --git a/GeoVector3d.h b/GeoVector3d.h index ef41c9d..1cad663 100644 --- a/GeoVector3d.h +++ b/GeoVector3d.h @@ -26,7 +26,7 @@ class GeoVector3d : public IGeoVector3d virtual const std::string& GetKey( void) const ; virtual bool IsValid( void) const { return true ; } virtual bool Save( std::ostream& osOut) const ; - virtual bool Load( CScan& TheScanner) ; + virtual bool Load( Scanner& TheScanner) ; virtual bool GetVector( Vector3d& vtV) const { vtV = m_vtV ; return true ;} virtual bool Translate( const Vector3d& vtMove) diff --git a/GeomDB.cpp b/GeomDB.cpp index 1937601..14bc900 100644 --- a/GeomDB.cpp +++ b/GeomDB.cpp @@ -16,6 +16,7 @@ #include "GeomDB.h" #include "GdbObj.h" #include "/EgtDev/Include/EgnStringUtils.h" +#include "/EgtDev/Include/EgnStringConverter.h" #include "/EgtDev/Include/EgtPointerOwner.h" #include @@ -80,15 +81,15 @@ GeomDB::Clear( void) //---------------------------------------------------------------------------- bool -GeomDB::Load( std::ifstream& osIn) +GeomDB::Load( const std::string& sFileIn) { - bool bOk ; - bool bEnd ; - CScan TheScanner ; + bool bOk ; + bool bEnd ; + Scanner TheScanner ; // inizializzo lo scanner - if ( ! TheScanner.Init( osIn)) { + if ( ! TheScanner.Init( sFileIn)) { LOG_ERROR( m_pLogger, "GeomDbLoad : Error on Init ") ; return false ; } @@ -115,7 +116,7 @@ GeomDB::Load( std::ifstream& osIn) //---------------------------------------------------------------------------- bool -GeomDB::LoadStart( CScan& TheScanner) +GeomDB::LoadStart( Scanner& TheScanner) { string sLine ; @@ -140,7 +141,7 @@ GeomDB::LoadStart( CScan& TheScanner) //---------------------------------------------------------------------------- bool -GeomDB::LoadOneNode( CScan& TheScanner, bool& bEnd) +GeomDB::LoadOneNode( Scanner& TheScanner, bool& bEnd) { int nParentId ; string sType ; @@ -188,21 +189,32 @@ GeomDB::LoadOneNode( CScan& TheScanner, bool& bEnd) //---------------------------------------------------------------------------- bool -GeomDB::Save( std::ofstream& osOut) const +GeomDB::Save( const std::string& sFileOut) const { - bool bOk = true ; + ofstream ofSave ; + + + // apertura file + ofSave.open( stringtoW( sFileOut)) ; + if ( ! ofSave.good()) + return false ; + // intestazione - osOut << "START" << endl ; - osOut << "GeomDB,1.4a4" << endl ; + ofSave << "START" << endl ; + ofSave << "GeomDB,1.4a4" << endl ; // ciclo di scrittura degli oggetti + bool bOk = true ; const GdbNode* pGdbNode = m_GrpRadix.GetFirstNode() ; while ( pGdbNode != nullptr) { // oggetto geometrico - if ( ! pGdbNode->Save( osOut)) + if ( ! pGdbNode->Save( ofSave)) bOk = false ; pGdbNode = pGdbNode->GetNext() ; } - osOut << "END" << endl ; + ofSave << "END" << endl ; + + // chiusura file + ofSave.close() ; return bOk ; } diff --git a/GeomDB.h b/GeomDB.h index 7085c19..f7de089 100644 --- a/GeomDB.h +++ b/GeomDB.h @@ -33,8 +33,8 @@ class GeomDB : public IGeomDB virtual bool Init( ILogger* pLogger) ; virtual bool ReInit( void) ; virtual bool Clear( void) ; - virtual bool Load( std::ifstream& osIn) ; - virtual bool Save( std::ofstream& osOut) const ; + virtual bool Load( const std::string& sFileIn) ; + virtual bool Save( const std::string& sFileOut) const ; virtual bool ExistsNode( int nId) const ; virtual int AddGroup( int nId, int nParentId, const Frame3d& frFrame) ; virtual int AddGeoObj( int nId, int nParentId, IGeoObj* pGeoObj) ; @@ -61,8 +61,8 @@ class GeomDB : public IGeomDB GdbObj* GetGdbObj( int nId) { return dynamic_cast( GetGdbNode( nId)) ; } GdbGroup* GetGdbGroup( int nId) { return dynamic_cast( GetGdbNode( nId)) ; } bool AddToGeomDB( GdbNode* pGNode, int nParentId) ; - bool LoadStart( CScan& TheScanner) ; - bool LoadOneNode( CScan& TheScanner, bool& bEnd) ; + bool LoadStart( Scanner& TheScanner) ; + bool LoadOneNode( Scanner& TheScanner, bool& bEnd) ; private : GdbGroup m_GrpRadix ; // gruppo radice di tutto il DB