diff --git a/Attribs.cpp b/Attribs.cpp index 6f10af1..7cc95ff 100644 --- a/Attribs.cpp +++ b/Attribs.cpp @@ -27,7 +27,7 @@ static const string NAME = "N" ; //---------------------------------------------------------------------------- bool -Attribs::Dump( const GeomDB& GDB, string& sOut, const char* szNewLine) const +Attribs::Dump( const GeomDB& GDB, string& sOut, bool bMM, const char* szNewLine) const { // livello sOut += "Lev=" ; diff --git a/Attribs.h b/Attribs.h index 7fda97a..1287bf3 100644 --- a/Attribs.h +++ b/Attribs.h @@ -41,7 +41,7 @@ class Attribs if ( pAttribs != nullptr) *pAttribs = *this ; return pAttribs ; } - bool Dump( const GeomDB& GDB, std::string& sOut, const char* szNewLine) const ; + bool Dump( const GeomDB& GDB, std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; bool Save( NgeWriter& ngeOut) const ; bool Load( NgeReader& ngeIn) ; void SetLevel( int nLev) diff --git a/CurveArc.cpp b/CurveArc.cpp index 26096e8..a7ac49c 100644 --- a/CurveArc.cpp +++ b/CurveArc.cpp @@ -23,6 +23,7 @@ #include "NgeReader.h" #include "/EgtDev/Include/EGkAngle.h" #include "/EgtDev/Include/EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkUiUnits.h" #include "/EgtDev/Include/EgtPointerOwner.h" #include @@ -546,18 +547,18 @@ CurveArc::GetTitle( void) const //---------------------------------------------------------------------------- bool -CurveArc::Dump( string& sOut, const char* szNewLine) const +CurveArc::Dump( string& sOut, bool bMM, const char* szNewLine) const { // dati generali di una curva - if ( ! CurveDump( *this, sOut, szNewLine)) + if ( ! CurveDump( *this, sOut, bMM, szNewLine)) return false ; // parametri : Centro, Normale, DirStart, Rad, AngCenDeg, DeltaN - sOut += "C(" + ToString( m_PtCen, 3) + ") " + szNewLine ; + sOut += "C(" + ToString( GetInUiUnits( m_PtCen, bMM), 3) + ") " + szNewLine ; sOut += "VN(" + ToString( m_VtN, 6) + ") " + szNewLine ; sOut += "VS(" + ToString( m_VtS, 6) + ") " + szNewLine ; - sOut += "R=" + ToString( m_dRad, 3) ; + sOut += "R=" + ToString( GetInUiUnits( m_dRad, bMM), 3) ; sOut += " Ac=" + ToString( m_dAngCenDeg, 3) ; - sOut += " Dn=" + ToString( m_dDeltaN, 3) + szNewLine ; + sOut += " Dn=" + ToString( GetInUiUnits( m_dDeltaN, bMM), 3) + szNewLine ; return true ; } diff --git a/CurveArc.h b/CurveArc.h index 40b268b..aedb19f 100644 --- a/CurveArc.h +++ b/CurveArc.h @@ -29,7 +29,7 @@ class CurveArc : public ICurveArc, public IGeoObjRW virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) ; diff --git a/CurveAux.cpp b/CurveAux.cpp index 8e7a19c..3738070 100644 --- a/CurveAux.cpp +++ b/CurveAux.cpp @@ -21,6 +21,7 @@ #include "CurveComposite.h" #include "/EgtDev/Include/EGkDistPointCurve.h" #include "/EgtDev/Include/EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkUiUnits.h" #include "/EgtDev/Include/EgtPointerOwner.h" using namespace std ; @@ -279,7 +280,7 @@ CurveGetAreaXY( const ICurve& crvC, double& dArea) //---------------------------------------------------------------------------- bool -CurveDump( const ICurve& crvC, string& sOut, const char* szNewLine) +CurveDump( const ICurve& crvC, string& sOut, bool bMM, const char* szNewLine) { // verifico validità curva if ( ! crvC.IsValid()) @@ -288,10 +289,10 @@ CurveDump( const ICurve& crvC, string& sOut, const char* szNewLine) // punti iniziale e finale Point3d ptPS ; crvC.GetStartPoint( ptPS) ; - sOut += "PS(" + ToString( ptPS, 3) + ")" + szNewLine ; + sOut += "PS(" + ToString( GetInUiUnits( ptPS, bMM), 3) + ")" + szNewLine ; Point3d ptPE ; crvC.GetEndPoint( ptPE) ; - sOut += "PE(" + ToString( ptPE, 3) + ")" + szNewLine ; + sOut += "PE(" + ToString( GetInUiUnits( ptPE, bMM), 3) + ")" + szNewLine ; // direzioni iniziale e finale Vector3d vtDirS ; crvC.GetStartDir( vtDirS) ; @@ -305,17 +306,18 @@ CurveDump( const ICurve& crvC, string& sOut, const char* szNewLine) if ( ! vtExtr.IsSmall()) { double dThick ; crvC.GetThickness( dThick) ; - sOut += "Extr(" + ToString( vtExtr, 3) + ") Th=" + ToString( dThick) + szNewLine ; + sOut += "Extr(" + ToString( vtExtr, 3) + ") Th=" + ToString( GetInUiUnits( dThick, bMM), 3) + szNewLine ; } // lunghezza double dLen = 0 ; crvC.GetLength( dLen) ; - sOut += "Len=" + ToString( dLen,3) + szNewLine ; + sOut += "Len=" + ToString( GetInUiUnits( dLen, bMM), 3) + szNewLine ; // altri dati per curva chiusa double dAreaXY ; if ( CurveGetAreaXY( crvC, dAreaXY)) { bool bCCW = ( dAreaXY > 0) ; - sOut += string( "Closed") + ( bCCW ? " CCW" : " CW") + " AreaXY=" + ToString( fabs( dAreaXY),1) + szNewLine ; + sOut += string( "Closed") + ( bCCW ? " CCW" : " CW") + " AreaXY=" + + ToString( GetAreaInUiUnits( fabs( dAreaXY), bMM),1) + szNewLine ; } return true ; diff --git a/CurveAux.h b/CurveAux.h index 21c0620..72087cb 100644 --- a/CurveAux.h +++ b/CurveAux.h @@ -26,6 +26,6 @@ bool GetTang( const ICurve& crvC, double dU, ICurve::Side nS, Vector3d& vtTang) bool GetPointTang( const ICurve& crvC, double dU, ICurve::Side nS, Point3d& ptPos, Vector3d& vtTang) ; bool GetPointDiffGeom( const ICurve& crvC, double dU, ICurve::Side nS, CrvPointDiffGeom& oDiffG) ; bool CurveGetAreaXY( const ICurve& crvC, double& dArea) ; -bool CurveDump( const ICurve& crvC, std::string& sOut, const char* szNewLine) ; +bool CurveDump( const ICurve& crvC, std::string& sOut, bool bMM, const char* szNewLine) ; bool CopyExtrusion( const ICurve* pSouCrv, ICurve* pDestCrv) ; bool CopyThickness( const ICurve* pSouCrv, ICurve* pDestCrv) ; diff --git a/CurveBezier.cpp b/CurveBezier.cpp index fd041bd..8c2d5fd 100644 --- a/CurveBezier.cpp +++ b/CurveBezier.cpp @@ -27,6 +27,7 @@ #include "/EgtDev/Include/EGkCurveArc.h" #include "/EgtDev/Include/ENkPolynomial.h" #include "/EgtDev/Include/EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkUiUnits.h" #include "/EgtDev/Include/EgtPointerOwner.h" #include @@ -353,10 +354,10 @@ CurveBezier::GetTitle( void) const //---------------------------------------------------------------------------- bool -CurveBezier::Dump( string& sOut, const char* szNewLine) const +CurveBezier::Dump( string& sOut, bool bMM, const char* szNewLine) const { // dati generali di una curva - if ( ! CurveDump( *this, sOut, szNewLine)) + if ( ! CurveDump( *this, sOut, bMM, szNewLine)) return false ; // parametri : flag razionale sOut += ( m_bRat ? "Rat " : "Int ") ; @@ -364,7 +365,7 @@ CurveBezier::Dump( string& sOut, const char* szNewLine) const sOut += "Deg=" + ToString( m_nDeg) + szNewLine ; // ciclo sui punti di controllo ( con pesi se razionale) for ( int i = 0 ; i <= m_nDeg ; ++ i) { - sOut += "PC(" + ToString( m_aPtCtrl[i], 3) ; + sOut += "PC(" + ToString( GetInUiUnits( m_aPtCtrl[i], bMM), 3) ; if ( m_bRat) sOut += "," + ToString( m_aWeCtrl[i], 3) ; sOut += string( ")") + szNewLine ; diff --git a/CurveBezier.h b/CurveBezier.h index a2a9558..5ba4297 100644 --- a/CurveBezier.h +++ b/CurveBezier.h @@ -31,7 +31,7 @@ class CurveBezier : public ICurveBezier, public IGeoObjRW virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) ; diff --git a/CurveComposite.cpp b/CurveComposite.cpp index c68b6e9..ed61b13 100644 --- a/CurveComposite.cpp +++ b/CurveComposite.cpp @@ -578,10 +578,10 @@ CurveComposite::GetTitle( void) const //---------------------------------------------------------------------------- bool -CurveComposite::Dump( string& sOut, const char* szNewLine) const +CurveComposite::Dump( string& sOut, bool bMM, const char* szNewLine) const { // dati generali di una curva - if ( ! CurveDump( *this, sOut, szNewLine)) + if ( ! CurveDump( *this, sOut, bMM, szNewLine)) return false ; // parametri : numero di curve sOut += "CrvNbr=" + ToString( int( m_CrvSmplS.size())) + szNewLine ; @@ -592,7 +592,7 @@ CurveComposite::Dump( string& sOut, const char* szNewLine) const // assegno ed emetto nome e tipo della curva semplice sOut += "#" + ToString( ++i) + " " + pCrvSmpl->GetTitle() + szNewLine ; // salvataggio della curva semplice - if ( ! pCrvSmpl->Dump( sOut, szNewLine)) + if ( ! pCrvSmpl->Dump( sOut, bMM, szNewLine)) return false ; // passo alla successiva pCrvSmpl = GetNextCurve() ; diff --git a/CurveComposite.h b/CurveComposite.h index 604a31f..f26c238 100644 --- a/CurveComposite.h +++ b/CurveComposite.h @@ -31,7 +31,7 @@ class CurveComposite : public ICurveComposite, public IGeoObjRW virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) ; diff --git a/CurveLine.cpp b/CurveLine.cpp index b375eaf..d2daecd 100644 --- a/CurveLine.cpp +++ b/CurveLine.cpp @@ -144,10 +144,10 @@ CurveLine::GetTitle( void) const //---------------------------------------------------------------------------- bool -CurveLine::Dump( string& sOut, const char* szNewLine) const +CurveLine::Dump( string& sOut, bool bMM, const char* szNewLine) const { // dati generali di una curva - if ( ! CurveDump( *this, sOut, szNewLine)) + if ( ! CurveDump( *this, sOut, bMM, szNewLine)) return false ; // parametri : sono già compresi nei dati generali (PS e PE) diff --git a/CurveLine.h b/CurveLine.h index c0e7b1a..5fa95d9 100644 --- a/CurveLine.h +++ b/CurveLine.h @@ -29,7 +29,7 @@ class CurveLine : public ICurveLine, public IGeoObjRW virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) ; diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index a15bf3e..03a7989 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ diff --git a/ExtText.cpp b/ExtText.cpp index d54cd03..831dfef 100644 --- a/ExtText.cpp +++ b/ExtText.cpp @@ -18,7 +18,8 @@ #include "NgeWriter.h" #include "NgeReader.h" #include "FontManager.h" -#include "\EgtDev\Include\EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkUiUnits.h" #include using namespace std ; @@ -194,10 +195,10 @@ ExtText::GetTitle( void) const //---------------------------------------------------------------------------- bool -ExtText::Dump( string& sOut, const char* szNewLine) const +ExtText::Dump( string& sOut, bool bMM, const char* szNewLine) const { // parametri - sOut += "P(" + ToString( m_ptP, 3) + ") " ; + sOut += "P(" + ToString( GetInUiUnits( m_ptP, bMM), 3) + ") " ; sOut += " IP=" + ToString( m_nInsPos) + szNewLine ; sOut += "VN(" + ToString( m_vtN, 6) + ") " + szNewLine ; sOut += "VS(" + ToString( m_vtD, 6) + ") " + szNewLine ; @@ -205,9 +206,9 @@ ExtText::Dump( string& sOut, const char* szNewLine) const sOut += "Fnt=" + m_sFont + szNewLine ; sOut += "W=" + ToString( m_nWeight) ; sOut += " I=" + ToString( m_bItalic) ; - sOut += " H=" + ToString( m_dHeight, 1) ; + sOut += " H=" + ToString( GetInUiUnits( m_dHeight, bMM), 1) ; sOut += " R=" + ToString( m_dRatio, 3) ; - sOut += " A=" + ToString( m_dAddAdvance, 1) + szNewLine ; + sOut += " A=" + ToString( GetInUiUnits( m_dAddAdvance, bMM), 1) + szNewLine ; return true ; } diff --git a/ExtText.h b/ExtText.h index 0da5267..75116a7 100644 --- a/ExtText.h +++ b/ExtText.h @@ -29,7 +29,7 @@ class ExtText : public IExtText, public IGeoObjRW virtual bool IsValid( void) const { return true ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) ; diff --git a/GeoFrame3d.cpp b/GeoFrame3d.cpp index 66c1f6d..b197825 100644 --- a/GeoFrame3d.cpp +++ b/GeoFrame3d.cpp @@ -17,8 +17,9 @@ #include "GeoObjFactory.h" #include "NgeWriter.h" #include "NgeReader.h" -#include "/EgtDev/Include/EGkStringUtils3d.h" #include "/EgtDev/Include/EGkPolyLine.h" +#include "/EgtDev/Include/EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkUiUnits.h" #include using namespace std ; @@ -134,10 +135,10 @@ GeoFrame3d::GetTitle( void) const //---------------------------------------------------------------------------- bool -GeoFrame3d::Dump( string& sOut, const char* szNewLine) const +GeoFrame3d::Dump( string& sOut, bool bMM, const char* szNewLine) const { // parametri : origine, VersoreX, VersoreY, VersoreZ - sOut += "O(" + ToString( m_frF.Orig()) + ")" + szNewLine ; + sOut += "O(" + ToString( GetInUiUnits( m_frF.Orig(), bMM)) + ")" + szNewLine ; sOut += "VX(" + ToString( m_frF.VersX()) + ")" + szNewLine ; sOut += "VY(" + ToString( m_frF.VersY()) + ")" + szNewLine ; sOut += "VZ(" + ToString( m_frF.VersZ()) + ")" + szNewLine ; diff --git a/GeoFrame3d.h b/GeoFrame3d.h index 9f4fb82..70460b4 100644 --- a/GeoFrame3d.h +++ b/GeoFrame3d.h @@ -29,7 +29,7 @@ class GeoFrame3d : public IGeoFrame3d, public IGeoObjRW virtual bool IsValid( void) const { return ( m_frF.GetType() != Frame3d::ERR) ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool GetFrame( Frame3d& frF) const diff --git a/GeoPoint3d.cpp b/GeoPoint3d.cpp index 0aa5381..6adc021 100644 --- a/GeoPoint3d.cpp +++ b/GeoPoint3d.cpp @@ -17,7 +17,8 @@ #include "GeoObjFactory.h" #include "NgeWriter.h" #include "NgeReader.h" -#include "\EgtDev\Include\EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkUiUnits.h" #include using namespace std ; @@ -102,10 +103,10 @@ GeoPoint3d::GetTitle( void) const //---------------------------------------------------------------------------- bool -GeoPoint3d::Dump( string& sOut, const char* szNewLine) const +GeoPoint3d::Dump( string& sOut, bool bMM, const char* szNewLine) const { // parametri : punto - sOut += "P(" + ToString( m_ptP) + ")" + szNewLine ; + sOut += "P(" + ToString( GetInUiUnits( m_ptP, bMM)) + ")" + szNewLine ; return true ; } diff --git a/GeoPoint3d.h b/GeoPoint3d.h index a858841..479765d 100644 --- a/GeoPoint3d.h +++ b/GeoPoint3d.h @@ -29,7 +29,7 @@ class GeoPoint3d : public IGeoPoint3d, public IGeoObjRW virtual bool IsValid( void) const { return true ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) diff --git a/GeoVector3d.cpp b/GeoVector3d.cpp index 8c095ee..1ae7e36 100644 --- a/GeoVector3d.cpp +++ b/GeoVector3d.cpp @@ -17,8 +17,9 @@ #include "GeoObjFactory.h" #include "NgeWriter.h" #include "NgeReader.h" -#include "/EgtDev/Include/EGkStringUtils3d.h" #include "/EgtDev/Include/EGkPolyLine.h" +#include "/EgtDev/Include/EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkUiUnits.h" #include using namespace std ; @@ -118,11 +119,15 @@ GeoVector3d::GetTitle( void) const //---------------------------------------------------------------------------- bool -GeoVector3d::Dump( string& sOut, const char* szNewLine) const +GeoVector3d::Dump( string& sOut, bool bMM, const char* szNewLine) const { // parametri : vettore - sOut += "V(" + ToString( m_vtV) + ")" + szNewLine ; - sOut += "base(" + ToString( m_ptBase) + ")" + szNewLine ; + // se versore non lo converto (non è detto sia sempre corretto) + if ( m_vtV.IsNormalized()) + sOut += "V(" + ToString( m_vtV) + ")" + szNewLine ; + else + sOut += "V(" + ToString( GetInUiUnits( m_vtV, bMM)) + ")" + szNewLine ; + sOut += "base(" + ToString( GetInUiUnits( m_ptBase, bMM), 3) + ")" + szNewLine ; return true ; } diff --git a/GeoVector3d.h b/GeoVector3d.h index 8337875..95605cc 100644 --- a/GeoVector3d.h +++ b/GeoVector3d.h @@ -28,7 +28,7 @@ class GeoVector3d : public IGeoVector3d, public IGeoObjRW virtual bool IsValid( void) const { return true ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) diff --git a/GeomDB.cpp b/GeomDB.cpp index 8ddd794..8c50a1b 100644 --- a/GeomDB.cpp +++ b/GeomDB.cpp @@ -1749,7 +1749,7 @@ GeomDB::ClearSelection( void) // Attributes //---------------------------------------------------------------------------- bool -GeomDB::DumpAttributes( int nId, string& sOut, const char* szNewLine) const +GeomDB::DumpAttributes( int nId, string& sOut, bool bMM, const char* szNewLine) const { // recupero l'oggetto const GdbObj* pGdbObj = GetGdbObj( nId) ; @@ -1758,10 +1758,10 @@ GeomDB::DumpAttributes( int nId, string& sOut, const char* szNewLine) const // eseguo il dump if ( pGdbObj->m_pAttribs != nullptr) - return pGdbObj->m_pAttribs->Dump( *this, sOut, szNewLine) ; + return pGdbObj->m_pAttribs->Dump( *this, sOut, bMM, szNewLine) ; else { Attribs attr ; - return attr.Dump( *this, sOut, szNewLine) ; + return attr.Dump( *this, sOut, bMM, szNewLine) ; } } @@ -2634,7 +2634,7 @@ GeomDB::GetUserObj( int nId) const //---------------------------------------------------------------------------- bool -GeomDB::DumpUserObj( int nId, string& sOut, const char* szNewLine) const +GeomDB::DumpUserObj( int nId, string& sOut, bool bMM, const char* szNewLine) const { // recupero l'oggetto const GdbObj* pGdbObj = GetGdbObj( nId) ; @@ -2643,7 +2643,7 @@ GeomDB::DumpUserObj( int nId, string& sOut, const char* szNewLine) const // eseguo il dump if ( pGdbObj->m_pUserObj != nullptr) - return pGdbObj->m_pUserObj->Dump( sOut, szNewLine) ; + return pGdbObj->m_pUserObj->Dump( sOut, bMM, szNewLine) ; else return true ; } diff --git a/GeomDB.h b/GeomDB.h index ab0d6db..2aab785 100644 --- a/GeomDB.h +++ b/GeomDB.h @@ -119,7 +119,7 @@ class GeomDB : public IGeomDB virtual int GetPrevSelectedObj( void) const ; virtual bool ClearSelection( void) ; // Attributes - virtual bool DumpAttributes( int nId, std::string& sOut, const char* szNewLine) const ; + virtual bool DumpAttributes( int nId, std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool CopyAttributes( int nIdSou, int nIdDest) ; virtual bool SetLevel( int nId, int nLevel) ; virtual bool RevertLevel( int nId) ; @@ -180,7 +180,7 @@ class GeomDB : public IGeomDB virtual bool SetUserObj( int nId, IUserObj* pUserObj) ; virtual IUserObj* GetUserObj( int nId) ; virtual const IUserObj* GetUserObj( int nId) const ; - virtual bool DumpUserObj( int nId, std::string& sOut, const char* szNewLine) const ; + virtual bool DumpUserObj( int nId, std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool CopyUserObj( int nIdSou, int nIdDest) ; virtual bool RemoveUserObj( int nId) ; // Material library diff --git a/SurfTriMesh.cpp b/SurfTriMesh.cpp index a96e420..85b3b21 100644 --- a/SurfTriMesh.cpp +++ b/SurfTriMesh.cpp @@ -20,9 +20,10 @@ #include "DistPointLine.h" #include "Triangulate.h" #include "GeoConst.h" -#include "\EgtDev\Include\EGkStringUtils3d.h" -#include "\EgtDev\Include\EGkPointGrid3d.h" -#include "\EgtDev\Include\EGkPolyLine.h" +#include "/EgtDev/Include/EGkPointGrid3d.h" +#include "/EgtDev/Include/EGkPolyLine.h" +#include "/EgtDev/Include/EGkStringUtils3d.h" +#include "/EgtDev/Include/EGkUiUnits.h" #include using namespace std ; @@ -665,17 +666,17 @@ SurfTriMesh::GetTitle( void) const //---------------------------------------------------------------------------- bool -SurfTriMesh::Dump( string& sOut, const char* szNewLine) const +SurfTriMesh::Dump( string& sOut, bool bMM, const char* szNewLine) const { // area double dArea ; GetArea( dArea) ; - sOut += "Area=" + ToString( dArea,1) + szNewLine ; + sOut += "Area=" + ToString( GetAreaInUiUnits( dArea, bMM),1) + szNewLine ; // altri dati per superficie chiusa if ( m_bClosed) { double dVolume ; GetVolume( dVolume) ; - sOut += "Closed Volume=" + ToString( dVolume,1) + szNewLine ; + sOut += "Closed Volume=" + ToString( GetVolumeInUiUnits( dVolume, bMM), 1) + szNewLine ; } // se segnalo eventuale incongruenza di orientamento if ( ! m_bOriented) diff --git a/SurfTriMesh.h b/SurfTriMesh.h index a82c039..a15f937 100644 --- a/SurfTriMesh.h +++ b/SurfTriMesh.h @@ -77,7 +77,7 @@ class SurfTriMesh : public ISurfTriMesh, public IGeoObjRW virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) ; diff --git a/UserObjDefault.cpp b/UserObjDefault.cpp index 7367d6d..b2f545d 100644 --- a/UserObjDefault.cpp +++ b/UserObjDefault.cpp @@ -62,9 +62,9 @@ UserObjDefault::GetClassName( void) const //---------------------------------------------------------------------------- bool -UserObjDefault::Dump( std::string& sOut, const char* szNewLine) const +UserObjDefault::Dump( string& sOut, bool bMM, const char* szNewLine) const { - sOut += "UserObj " + m_sName + szNewLine ; + sOut += "UserObj " + m_sName + "[mm]" + szNewLine ; sOut += "Id=" + ToString( m_nOwnerId) + szNewLine ; for ( size_t i = 0 ; i < m_vData.size() ; ++ i) sOut += m_vData[i] + szNewLine ; diff --git a/UserObjDefault.h b/UserObjDefault.h index 70a1169..1c1005e 100644 --- a/UserObjDefault.h +++ b/UserObjDefault.h @@ -22,7 +22,7 @@ class UserObjDefault : public IUserObj virtual UserObjDefault* Clone( void) const ; virtual bool IsDefault( void) const { return true ; } virtual const std::string& GetClassName( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool ToSave( void) const { return true ; } virtual bool Save( STRVECTOR& vString) const ; virtual bool Load( const STRVECTOR& vString) ; diff --git a/VolZmap.cpp b/VolZmap.cpp index 203b43d..e7efa67 100644 --- a/VolZmap.cpp +++ b/VolZmap.cpp @@ -82,7 +82,7 @@ VolZmap::GetTitle( void) const //---------------------------------------------------------------------------- bool -VolZmap::Dump( string& sOut, const char* szNewLine) const +VolZmap::Dump( string& sOut, bool bMM, const char* szNewLine) const { return false ; } diff --git a/VolZmap.h b/VolZmap.h index 191e45c..ef18058 100644 --- a/VolZmap.h +++ b/VolZmap.h @@ -29,7 +29,7 @@ class VolZmap : public IVolZmap, public IGeoObjRW virtual bool IsValid( void) const { return ( m_nStatus == OK) ; } virtual const std::string& GetTitle( void) const ; - virtual bool Dump( std::string& sOut, const char* szNewLine = "\n") const ; + virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ; virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ; virtual bool Translate( const Vector3d& vtMove) ;