EgtGeomKernel 1.6v5 :

- inseriti aggiornamenti per Zmap.
This commit is contained in:
Dario Sassi
2016-10-27 06:23:36 +00:00
parent 1934078046
commit b79e905909
5 changed files with 9094 additions and 2648 deletions
BIN
View File
Binary file not shown.
+92 -2
View File
@@ -2592,6 +2592,12 @@ GdbExecutor::ExecuteVolZmap(const string& sCmd2, const STRVECTOR& vsParams)
else if ( sCmd2 == "SETSTD") {
return VolZmapSetStdTool( vsParams) ;
}
else if ( sCmd2 == "MEASURE") {
return VolZmapDeepnessMeasure( vsParams) ;
}
else if ( sCmd2 == "ZBOXINT") {
return VolZmapBBoxZmapIntersection( vsParams) ;
}
return false ;
}
@@ -2702,8 +2708,8 @@ GdbExecutor::VolZmapIntervalsAddiction( const STRVECTOR& vsParams)
bool
GdbExecutor::VolZmapMilling( const STRVECTOR& vsParams)
{
// parametri : Id, IdParent, ptPs, ptPe, vtVs, vtVe
if ( vsParams.size() != 6)
// parametri : Id, IdParent, ptPs, ptPe, vtVs, vtVe, dLinTol, dAngTolDeg (gli ultimi due servono per lavorazione con utensile generico)
if ( vsParams.size() != 8)
return false ;
// recupero il riferimento in cui è immerso
Frame3d frRef ;
@@ -2725,12 +2731,20 @@ GdbExecutor::VolZmapMilling( const STRVECTOR& vsParams)
Vector3d vtDe ;
if ( ! GetVectorParam( vsParams[5], frRef, vtDe))
return false ;
// recupero la tolleranza lineare
double dLinTol ;
if ( ! FromString( vsParams[6], dLinTol))
return false ;
double dAngTolDeg ;
if ( ! FromString( vsParams[7], dAngTolDeg))
return false ;
// recupero lo Zmap
int nIdZmap = GetIdParam( vsParams[0]) ;
VolZmap* pZmap = GetBasicVolZmap( m_pGDB->GetGeoObj( nIdZmap)) ;
if ( pZmap == nullptr)
return false ;
// eseguo la lavorazione
pZmap->SetTolerances( dLinTol, dAngTolDeg) ;
return pZmap->MillingStep( ptPs, ptPe, vtDs, vtDe) ;
}
@@ -2802,6 +2816,82 @@ GdbExecutor::VolZmapSetStdTool( const STRVECTOR& vsParams)
return pZmap->SetStdTool( sToolName, nToolType, dH, dTH, dR, dTR, dRc) ;
}
//----------------------------------------------------------------------------
bool GdbExecutor::VolZmapDeepnessMeasure( const STRVECTOR& vsParams) {
// parametri : ZmapId, frRef, ptP, vtV
if ( vsParams.size() != 4)
return false ;
// recupero lo Zmap
int nZmapId = GetIdParam( vsParams[0]) ;
VolZmap* pZmap = GetBasicVolZmap( m_pGDB->GetGeoObj( nZmapId)) ;
if ( pZmap == nullptr)
return false ;
// recupero il riferimento in cui è immerso lo Zmap
Frame3d frRef ;
if ( ! m_pGDB->GetGroupGlobFrame( GetIdParam( vsParams[1]), frRef))
return false ;
// recupero punto iniziale
Point3d ptP ;
if ( ! GetPointParam( vsParams[2], frRef, ptP))
return false ;
// recupero il vettore direzione
Vector3d vtDir ;
if ( ! GetVectorParam( vsParams[3], frRef, vtDir))
return false ;
double dIn, dOut ;
pZmap -> Deepness( ptP, vtDir, dIn, dOut) ;
return true ;
}
//----------------------------------------------------------------------------
bool
GdbExecutor::VolZmapBBoxZmapIntersection( const STRVECTOR& vsParams)
{
// parametri : ZmapId, frRef, BBoxOrig, vtV1, vtV2, ptEnd
if ( vsParams.size() != 6)
return false ;
// recupero lo Zmap
int nZmapId = GetIdParam( vsParams[0]) ;
VolZmap* pZmap = GetBasicVolZmap( m_pGDB->GetGeoObj( nZmapId)) ;
if ( pZmap == nullptr)
return false ;
// recupero il riferimento in cui è immerso lo Zmap
Frame3d frRef ;
if ( ! m_pGDB->GetGroupGlobFrame( GetIdParam( vsParams[1]), frRef))
return false ;
// definisco il riferimento del bbox
Point3d pt0 ;
if ( ! GetPointParam( vsParams[2], frRef, pt0))
return false ;
// primo vettore frBBoxFrame
Vector3d vtV1 ;
if ( ! GetVectorParam( vsParams[3], frRef, vtV1))
return false ;
vtV1.Normalize() ;
// secondo vettore frBBoxFrame
Vector3d vtV2 ;
if ( ! GetVectorParam( vsParams[4], frRef, vtV2))
return false ;
vtV2.Normalize() ;
// Determino il terzo vettore della terna destrorsa
Vector3d vtV3 = vtV1 ^ vtV2 ;
// Definisco il sistema di riferimento del BBox
Frame3d frBBoxFrame ; frBBoxFrame.Set( pt0, vtV1, vtV2, vtV3) ;
// recupero il punto estremo
Point3d ptEnd ;
if ( ! GetPointParam( vsParams[5], frBBoxFrame, ptEnd))
return false ;
bool bInt ;
bInt = pZmap -> BBoxZmapIntersection( frBBoxFrame, ptEnd) ;
return true ;
}
//----------------------------------------------------------------------------
bool
GdbExecutor::ExecuteText( const string& sCmd2, const STRVECTOR& vsParams)
+2
View File
@@ -120,6 +120,8 @@ class GdbExecutor : public IGdbExecutor
bool VolZmapMilling( const STRVECTOR& vsParams) ;
bool VolZmapSetTool( const STRVECTOR& vsParams) ;
bool VolZmapSetStdTool( const STRVECTOR& vsParams) ;
bool VolZmapDeepnessMeasure( const STRVECTOR& vsParams) ;
bool VolZmapBBoxZmapIntersection( const STRVECTOR& vsParams) ;
bool ExecuteText( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool TextSimple( const STRVECTOR& vsParams) ;
bool TextComplete( const STRVECTOR& vsParams) ;
+8829 -2602
View File
File diff suppressed because it is too large Load Diff
+171 -44
View File
@@ -16,17 +16,13 @@
#include "ObjGraphicsMgr.h"
#include "DllMain.h"
#include "GeoObjRW.h"
#include "CurveLine.h"
#include "CurveArc.h"
#include "CurveComposite.h"
#include "/EgtDev/Include/EGkVolZmap.h"
#include "/EgtDev/Include/EGkPoint3d.h"
#include "/EgtDev/Include/EGkVector3d.h"
#include "CurveComposite.h"
#include <vector>
#include <string>
// Tipi utensile
enum ToolType { GenericTool = 0, CylindricalMill = 1, BallEndMill = 2, BullNoseMill = 3, ConusMill = 4} ;
#include "/EgtDev/Include/ENkPolynomialRoots.h"
//----------------------------------------------------------------------------
class VolZmap : public IVolZmap, public IGeoObjRW
@@ -64,17 +60,27 @@ class VolZmap : public IVolZmap, public IGeoObjRW
{ return m_nTempProp ; }
public : // IVolZmap
virtual bool CopyFrom( const IGeoObj* pGObjSrc) ;
virtual bool GetAllTriangles( TRIA3DLIST& lstTria) const ;
virtual bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const ;
bool CopyFrom( const IGeoObj* pGObjSrc) override ;
bool CreateMap( const Point3d& ptO, double dPrec, double dLengthX, double dLengthY, double dLengthZ) ;
bool GetAllTriangles( TRIA3DLIST& lstTria) const override ;
bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const override ;
bool SetTolerances( double dLinTol, double dAngTolDeg = 90) override ;
bool SetTool( const std::string& pToolName, const ICurveComposite* pToolOutline) override ;
bool SetStdTool( const std::string& pToolName, unsigned int nToolType,
double dH, double dTipH, double dR, double dTipR, double dRc = 0) override ;
bool MillingStep( const Point3d& ptPs, const Point3d& ptPe, Vector3d& vtDs, Vector3d& vtDe) override ;
bool Deepness( const Point3d& ptP, const Vector3d& vtDir, double& dInLength, double& dOutLength) override ;
bool BBoxZmapIntersection( const Frame3d& frBBox, const Point3d& ptMax) override ;
bool CreateTriMap( const Point3d& ptO, double dPrec, double dLengthX, double dLengthY, double dLengthZ) ;
bool SubtractIntervals( unsigned int nI, unsigned int nJ, double dMin, double dMax) ;
bool SubtractIntervals2( unsigned int nI, unsigned int nJ, double dMin, double dMax) ;
bool SubtractIntervals3( unsigned int nI, unsigned int nJ, double dMin, double dMax) ;
bool SubtractIntervals( const Point3d& ptP, double dMin, double dMax) ;
bool AddIntervals( unsigned int nI, unsigned int nJ, double dMin, double dMax) ;
bool AddIntervals( const Point3d& ptP, double dMin, double dMax) ;
bool SetTool( const std::string& pToolName, const CurveComposite* pToolOutline) ;
bool SetStdTool( const std::string& pToolName, unsigned int nToolType, double dH, double dTH, double dR, double dTR, double dRc = 0) ;
bool MillingStep( const Point3d& ptPs, const Point3d& ptPe, Vector3d& vtDs, Vector3d& vtDe) ;
bool TriMillingStep( const Point3d& ptPs, const Point3d& ptPe, Vector3d& vtDs, Vector3d& vtDe, double dLinTol, double dAngTolDeg = 90) ;
bool Deepness( const Point3d& ptPGlob, const Vector3d& vtDir, const double& dRadius, double& dInLength, double& dOutLength) ;
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
@@ -99,43 +105,143 @@ class VolZmap : public IVolZmap, public IGeoObjRW
bool AddDexelSideFace( int nPos, int nPosAdj, const Point3d& ptP, const Point3d& ptQ,
const Vector3d& vtZ, const Vector3d& vtNorm, TRIA3DLIST& lstTria) const ;
// frese: cylindrical, ball-end e bull-nose
// Versore utensile parallelo all'asse Z
bool MillingDrillZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingPerpZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
// frese: cylindrical, ball-end, bull-nose e conus
// Versore utensile parallelo all'asse Z
// Fori
bool DrillingZ( const Point3d & ptLs, const Point3d & ptLe, const Vector3d & vtToolDir) ;
bool CBTDrillZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool ConusDrillingZ( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
// Tagli orizzontali
bool MillingPerpZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool CBTMillingPerpZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool ConusPerpZ( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
inline bool GetMinMaxZSw( const Point3d ptO, unsigned int nStartI, unsigned int nEndI, unsigned int nStartJ, unsigned int nEndJ, double dMinZ, double dMaxZ, double dMinRad, double dMaxRad, double dDir, double dDeltaZ) ;
inline bool GetMinMaxZDr( const Point3d ptO, unsigned int nStartI, unsigned int nEndI, unsigned int nStartJ, unsigned int nEndJ, double dMinZ, double dMaxZ, double dMinRad, double dMaxRad, double dDir, double dDeltaZ) ;
inline bool GetMinMaxZ( unsigned int nI, unsigned int nJ, double dZCutBase, double dDeltaZ, double dSqDist, const Vector3d& vtToolDir) ;
// generico 3 assi
bool MillingZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool CBMillingZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool ConusMillingZDr( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
bool ConusMillingZSw( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
inline bool GetMinMaxZGen( unsigned int nI, unsigned int nJ, double dProj, double dSqd, double dLenPath, double dZheight, double dDelta, const Vector3d& vtToolDir) ;
// Versore utensile nel piano XY
bool MillingDrillXY( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
// Versore utensile nel piano XY
// DeltaZ = 0
bool DrillingXY( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool CBTDrillXY( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool ConusDrillingXY( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
bool MillingPerpXY( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYPlaneGen( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYCyl( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYBall( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYPlusCyl( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYPlusBall( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYLongVert( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool CBTPerpXY( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool ConusPerpXY( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
bool MillingXYPlaneGen( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool PlaneGenCylBall( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool ConusPlaneGen( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
inline bool GetMinMaxXY( unsigned int nI, unsigned int nJ, double dProj, double dZheight, double dSqD, double dPathPerp, double dPathPar, double dScProd) ;
inline bool GetMMPlaneGenCyl( unsigned int i, unsigned int j, double dZ, double dLen1, double dLen2, double dProj1, double dProj2) ;
inline bool GetMMPlaneGenBall( unsigned int i, unsigned int j, double dZ, double dLen1, double dLen2, Point3d ptIxy, Vector3d vtMove, Vector3d vtV1, Vector3d vtV2) ;
// frese: conus
// Versore utensile parallelo all'asse Z
bool ConusDrillingZ( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
bool ConusPerpZ( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
//bool ConusMillingZDr( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
//bool ConusMillingZDrP( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
//bool ConusMillingZDrPnew( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
//bool ConusMillingZDrPnew2( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
bool ConusMillingZDr( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
bool ConusMillingZSw( const Point3d ptLs, const Point3d ptLe, const Vector3d vtToolDir) ;
inline bool GetMinMaxZSw( const Point3d ptO, unsigned int nStartI, unsigned int nEndI, unsigned int nStartJ, unsigned int nEndJ, double dMinZ, double dMaxZ, double dMinRad, double dMaxRad, double dDir, double dDeltaZ) ;
inline bool GetMinMaxZDr( const Point3d ptO, unsigned int nStartI, unsigned int nEndI, unsigned int nStartJ, unsigned int nEndJ, double dMinZ, double dMaxZ, double dMinRad, double dMaxRad, double dDir, double dDeltaZ) ;
// DeltaZ != 0
bool MillingXYVert( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
// utensile generico
bool MillingXYLongVert( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool XYLongVertCylBall( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool XYLongVertConus( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXY( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYCyl( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYBall( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYConus( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYPlus( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYPlusCyl( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYPlusBall( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingXYPlusConus( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
// Virtual milling per componenti elementari
// Versore utensile parallelo all'asse Z
// Movimento parallelo al versore utensile
bool DrillZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dLinTol, double dAngTolDeg) ;
// Componenti
bool LongCylV( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dRad) ;
bool LongConusV( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dMaxRad, double dMinRad) ;
// Angolo generico fra movimento e versore utensile
bool MillZ( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dLinTol, double dAngTolDeg) ;
// Componenti
bool MillCylV( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dRad) ;
bool MillConusV( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dMaxRad, double dMinRad) ;
// Direzione generica del versore utensile
// Movimento parallelo al versore utensile
bool Drilling( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool DrillingGT( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dLinTol, double dAngTolDeg) ;
// Componenti elementari degli untensili
bool LongBall( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dRad) ;
bool LongCyl( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dRad) ;
bool LongConus( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dMaxRad, double dMinRad) ;
// Angolo generico fra movimento e versore utensile
bool Milling( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir) ;
bool MillingGT( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dLinTol, double dAngTolDeg) ;
// Componenti elementari degli utensili
bool MillCyl( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dRad) ;
bool MillCyl2( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dRad) ;
bool MillBall( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dRad) ;
bool MillConus( const Point3d& ptLs, const Point3d& ptLe, const Vector3d& vtToolDir, double dHei, double dMaxRad, double dMinRad) ;
bool MillConusAux( const Point3d& ptI, const Point3d& ptF, const Vector3d& vtV1, const Vector3d& vtV2, const Vector3d& vtV3,
unsigned int & nStI, unsigned int & nStJ, unsigned int & nEnI, unsigned int & nEnJ,
double dHei, double dMaxRad, double dMinRad, double dCoef) ;
// Traslazioni
bool Ball( const Point3d& ptLs, const Point3d& ptLe, const double& dRad) ;
// Utensile generico
inline bool GetMinMaxZGenTool( unsigned int nI, unsigned int nJ, double dZCutBase, double dDeltaZ, double dSqDist, const Vector3d& vtToolDir) ;
// Sottrazione per tridexel
bool ZDrillingCB( unsigned int nGrid, const Point3d & ptS, const Point3d & ptE, const Vector3d & vtToolDir) ;
// Bounding Box
inline bool BoundingBox( const Point3d& ptP1, const Point3d& ptP2, const Vector3d& vtV1, const Vector3d& vtV2, unsigned int & nStI, unsigned int & nStJ, unsigned int & nEnI, unsigned int & nEnJ) ;
inline bool BoundingBox( unsigned int nGrid, const Point3d& ptP1, const Point3d& ptP2, const Vector3d& vtV1, const Vector3d& vtV2, unsigned int & nStI, unsigned int & nStJ, unsigned int & nEnI, unsigned int & nEnJ) ;
inline bool BoundingBox( const Point3d& ptP1, const Point3d& ptP2, const Vector3d& vtV1, const Vector3d& vtV2) ;
inline bool BBoxComponent( const Point3d& ptP1, const Point3d& ptP2, const Vector3d& vtV1, const Vector3d& vtV2,
unsigned int & nStI, unsigned int & nStJ, unsigned int & nEnI, unsigned int & nEnJ,
double dRad, double dTipRad, double dHei) ;
inline bool BBoxComponent( unsigned int nGrid, const Point3d& ptP1, const Point3d& ptP2, const Vector3d& vtV1, const Vector3d& vtV2,
unsigned int & nStI, unsigned int & nStJ, unsigned int & nEnI, unsigned int & nEnJ,
double dRad, double dTipRad, double dHei) ;
bool IsAPointInside( const Point3d& ptP) ;
bool IsThereMat( unsigned int nI, unsigned int nJ, double dZ) ;
bool LineParallelepipedIntersection( const Point3d& ptP, const Vector3d& vtV, const Point3d& ptE1, const Point3d& ptE2, double& dt1, double& dt2) ;
bool LineParallelepipedIntersection( const Point3d& ptP, const Vector3d& vtV, const Point3d& ptEnd, double& dt1, double& dt2) ;
bool IntersectALineZMapBBox( const Point3d& ptP, const Vector3d& vtV, Point3d& ptFirst, Point3d& ptLast) ;
bool LineDexelIntersection( const Point3d& ptP, const Vector3d& vtV, unsigned int nI, unsigned int nJ, double& dOutMatFirst, double& dInMat, double& dOutMatLast) ;
bool BBoxZmapIntersection( const Frame3d& frBBoxFrame, const BBox3d& bbBox) ;
private :
enum Status { ERR = 0, OK = 1, TO_VERIFY = 2} ;
@@ -145,15 +251,36 @@ class VolZmap : public IVolZmap, public IGeoObjRW
Status m_nStatus ; // stato
int m_nTempProp ; // proprietà temporanea
Frame3d m_LocalFrame ;//////FORSE E' MEGLIO CHIAMARLO INTRINSECO? E IN VISTA DEGLI ALTRI FORSE E' BENE AGGIUNGERE UN IDENTIFICATIVO?
Frame3d m_LocalFrame ;
Frame3d m_LocalFrame2 ;
Frame3d m_LocalFrame3 ;
double m_dStep ;
unsigned int m_nNx ; // i = 0, 1, ..., m_nNx - 1
unsigned int m_nNy ; // j = 0, 1, ..., m_nNy - 1
unsigned int m_nNx2 ;
unsigned int m_nNy2 ;
unsigned int m_nNx3 ;
unsigned int m_nNy3 ;
unsigned int m_nDim ;
unsigned int m_nDim2 ;
unsigned int m_nDim3 ;
double m_dMinZ ;
double m_dMaxZ ;
std::vector <std::vector<double>> m_ZValues ;
double m_dMinZ2 ;
double m_dMaxZ2 ;
double m_dMinZ3 ;
double m_dMaxZ3 ;
std::vector <std::vector<double>> m_ZValues ;
std::vector <std::vector<double>> m_ZValues2 ;
std::vector <std::vector<double>> m_ZValues3 ;
double m_dLinTol ;
double m_dAngTolDeg ;
std::string m_sToolName ;
unsigned int m_nToolType ;
CurveComposite m_ToolOutline ;