EgtGeomKernel 1.6l1 :

- versione preliminare di VolZmap
- piccola correzione a calcolo Box locale di curve.
This commit is contained in:
Dario Sassi
2015-12-08 10:15:53 +00:00
parent 3b9b905351
commit 84bf96b243
9 changed files with 300 additions and 11 deletions
+41
View File
@@ -47,6 +47,7 @@
#include "/EgtDev/Include/EGnCmdParser.h"
#include "/EgtDev/Include/EgtStringConverter.h"
#include "/EgtDev/Include/EgtPointerOwner.h"
#include "VolZmap.h"
using namespace std ;
@@ -94,6 +95,7 @@ GdbExecutor::GdbExecutor( void)
m_ExecMgr.Insert( "CURVECOMPO", &GdbExecutor::ExecuteCurveCompo) ;
m_ExecMgr.Insert( "STM", &GdbExecutor::ExecuteSurfTriMesh) ;
m_ExecMgr.Insert( "SURFTRIMESH", &GdbExecutor::ExecuteSurfTriMesh) ;
m_ExecMgr.Insert( "VOLZMAP", &GdbExecutor::ExecuteVolZmap) ;
m_ExecMgr.Insert( "TEXT", &GdbExecutor::ExecuteText) ;
m_ExecMgr.Insert( "LEV", &GdbExecutor::ExecuteLevel) ;
m_ExecMgr.Insert( "LEVEL", &GdbExecutor::ExecuteLevel) ;
@@ -2565,6 +2567,45 @@ GdbExecutor::SurfTriMeshDoSewing( const STRVECTOR& vsParams)
return true ;
}
//----------------------------------------------------------------------------
bool
GdbExecutor::ExecuteVolZmap(const string& sCmd2, const STRVECTOR& vsParams)
{
// parametri : Id, IdParent, ptO, dPrec, dLengthX, dLengthY, dLengthZ
if ( vsParams.size() != 7)
return false ;
// recupero il riferimento in cui è immerso
Frame3d frRef ;
if ( ! m_pGDB->GetGroupGlobFrame( GetIdParam( vsParams[1]), frRef))
return false ;
// recupero punto iniziale
Point3d ptO ;
if ( ! GetPointParam( vsParams[2], frRef, ptO))
return false ;
// recupero precisione
double dPrec ;
if ( ! FromString( vsParams[3], dPrec))
return false ;
// recupero LunghezzaX
double dLengthX ;
if ( ! FromString( vsParams[4], dLengthX))
return false ;
// recupero LunghezzaY
double dLengthY ;
if ( ! FromString( vsParams[5], dLengthY))
return false ;
// recupero LunghezzaZ
double dLengthZ ;
if ( ! FromString( vsParams[6], dLengthZ))
return false ;
PtrOwner<VolZmap> pZprova( new VolZmap) ;
pZprova->CreateMap( ptO, dPrec, dLengthX, dLengthY, dLengthZ);
// inserisco nel DB
return AddGeoObj(vsParams[0], vsParams[1], Release( pZprova)) ;
}
//----------------------------------------------------------------------------
bool
GdbExecutor::ExecuteText( const string& sCmd2, const STRVECTOR& vsParams)