EgtGeomKernel : Modifiche per Scanner e Load/Save di GeomDB con nome file.
This commit is contained in:
+1
-1
@@ -142,7 +142,7 @@ CurveArc::Save( ostream& osOut) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CurveArc::Load( CScan& TheScanner)
|
||||
CurveArc::Load( Scanner& TheScanner)
|
||||
{
|
||||
string sLine ;
|
||||
STRVECTOR vsParams ;
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -221,7 +221,7 @@ CurveBezier::Save( ostream& osOut) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CurveBezier::Load( CScan& TheScanner)
|
||||
CurveBezier::Load( Scanner& TheScanner)
|
||||
{
|
||||
string sLine ;
|
||||
STRVECTOR vsParams ;
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -197,7 +197,7 @@ CurveComposite::Save( ostream& osOut) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CurveComposite::Load( CScan& TheScanner)
|
||||
CurveComposite::Load( Scanner& TheScanner)
|
||||
{
|
||||
int nType ;
|
||||
string sLine ;
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -81,7 +81,7 @@ CurveLine::Save( ostream& osOut) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CurveLine::Load( CScan& TheScanner)
|
||||
CurveLine::Load( Scanner& TheScanner)
|
||||
{
|
||||
string sLine ;
|
||||
STRVECTOR vsParams ;
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+2
-40
@@ -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]) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -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) ;
|
||||
|
||||
+1
-1
@@ -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 ;
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
+1
-1
@@ -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 ;
|
||||
|
||||
@@ -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)
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ GeoFrame3d::Save( ostream& osOut) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GeoFrame3d::Load( CScan& TheScanner)
|
||||
GeoFrame3d::Load( Scanner& TheScanner)
|
||||
{
|
||||
Point3d ptOrig ;
|
||||
Vector3d vtDirX ;
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ GeoPoint3d::Save( ostream& osOut) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GeoPoint3d::Load( CScan& TheScanner)
|
||||
GeoPoint3d::Load( Scanner& TheScanner)
|
||||
{
|
||||
string sLine ;
|
||||
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@ GeoVector3d::Save( ostream& osOut) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GeoVector3d::Load( CScan& TheScanner)
|
||||
GeoVector3d::Load( Scanner& TheScanner)
|
||||
{
|
||||
string sLine ;
|
||||
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
+25
-13
@@ -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 <new>
|
||||
|
||||
@@ -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 ;
|
||||
}
|
||||
|
||||
@@ -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<GdbObj*>( GetGdbNode( nId)) ; }
|
||||
GdbGroup* GetGdbGroup( int nId) { return dynamic_cast<GdbGroup*>( 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
|
||||
|
||||
Reference in New Issue
Block a user