EgtGeomKernel 1.6w1 :
- modifiche e correzioni varie sugli Zmap.
This commit is contained in:
+26
-65
@@ -2575,14 +2575,6 @@ GdbExecutor::ExecuteVolZmap(const string& sCmd2, const STRVECTOR& vsParams)
|
||||
if ( sCmd2 == "") {
|
||||
return VolZmapCreate( vsParams) ;
|
||||
}
|
||||
// se sottrazione intervalli
|
||||
else if ( sCmd2 == "SUB") {
|
||||
return VolZmapIntervalsSubtraction( vsParams) ;
|
||||
}
|
||||
// se addizione intervalli
|
||||
else if ( sCmd2 == "ADD") {
|
||||
return VolZmapIntervalsAddiction( vsParams) ;
|
||||
}
|
||||
// se lavorazione
|
||||
else if ( sCmd2 == "MIL") {
|
||||
return VolZmapMilling( vsParams) ;
|
||||
@@ -2607,6 +2599,10 @@ GdbExecutor::ExecuteVolZmap(const string& sCmd2, const STRVECTOR& vsParams)
|
||||
else if ( sCmd2 == "FLATZMAP") {
|
||||
return VolZmapCreateFromFlatRegion( vsParams) ;
|
||||
}
|
||||
// se creazione zmap da trimesh
|
||||
else if ( sCmd2 == "TRIMESHZMAP") {
|
||||
return VolZmapCreateFromTriMesh( vsParams) ;
|
||||
}
|
||||
return false ;
|
||||
}
|
||||
|
||||
@@ -2643,7 +2639,7 @@ GdbExecutor::VolZmapCreate( const STRVECTOR& vsParams)
|
||||
return false ;
|
||||
|
||||
PtrOwner<VolZmap> pZprova( new VolZmap) ;
|
||||
pZprova->CreateMap( ptO, dLengthX, dLengthY, dLengthZ, dPrec);
|
||||
pZprova->Create( ptO, dLengthX, dLengthY, dLengthZ, dPrec);
|
||||
|
||||
// inserisco nel DB
|
||||
return AddGeoObj(vsParams[0], vsParams[1], Release( pZprova)) ;
|
||||
@@ -2676,74 +2672,39 @@ GdbExecutor::VolZmapCreateFromFlatRegion( const STRVECTOR& vsParams)
|
||||
return false ;
|
||||
// creo Zmap
|
||||
PtrOwner<VolZmap> pZprova( new VolZmap) ;
|
||||
pZprova->CreateMapFromFlatRegion( *pRegion, dLengthZ, dPrec);
|
||||
pZprova->CreateFromFlatRegion( *pRegion, dLengthZ, dPrec);
|
||||
|
||||
// inserisco nel DB
|
||||
return AddGeoObj(vsParams[0], vsParams[1], Release( pZprova)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::VolZmapIntervalsSubtraction( const STRVECTOR& vsParams)
|
||||
{
|
||||
// parametri : Id, IdParent, ptP, dMin, dMax
|
||||
if ( vsParams.size() != 5)
|
||||
return false ;
|
||||
// recupero il riferimento in cui è immerso
|
||||
Frame3d frRef ;
|
||||
if ( ! m_pGDB->GetGroupGlobFrame( GetIdParam( vsParams[1]), frRef))
|
||||
return false ;
|
||||
// recupero punto
|
||||
Point3d ptP ;
|
||||
if ( ! GetPointParam( vsParams[2], frRef, ptP))
|
||||
return false ;
|
||||
// recupero minimo
|
||||
double dMin ;
|
||||
if ( ! FromString( vsParams[3], dMin))
|
||||
return false ;
|
||||
// recupero massimo
|
||||
double dMax ;
|
||||
if ( ! FromString( vsParams[4], dMax))
|
||||
return false ;
|
||||
// recupero lo Zmap
|
||||
int nIdZmap = GetIdParam( vsParams[0]) ;
|
||||
VolZmap* pZmap = GetBasicVolZmap( m_pGDB->GetGeoObj( nIdZmap)) ;
|
||||
if ( pZmap == nullptr)
|
||||
return false ;
|
||||
// eseguo la sottrazione
|
||||
return pZmap->SubtractIntervals( ptP, dMin, dMax) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::VolZmapIntervalsAddiction( const STRVECTOR& vsParams)
|
||||
GdbExecutor::VolZmapCreateFromTriMesh( const STRVECTOR& vsParams)
|
||||
{
|
||||
// parametri : Id, IdParent, ptP, dMin, dMax
|
||||
if ( vsParams.size() != 5)
|
||||
// parametri : Id, IdParent, idSurf, dPrec
|
||||
if ( vsParams.size() != 4)
|
||||
return false ;
|
||||
// recupero il riferimento in cui è immerso
|
||||
// recupero il riferimento in cui è immerso
|
||||
Frame3d frRef ;
|
||||
if ( ! m_pGDB->GetGroupGlobFrame( GetIdParam( vsParams[1]), frRef))
|
||||
return false ;
|
||||
// recupero punto
|
||||
Point3d ptP ;
|
||||
if ( ! GetPointParam( vsParams[2], frRef, ptP))
|
||||
return false ;
|
||||
// recupero minimo
|
||||
double dMin ;
|
||||
if ( ! FromString( vsParams[3], dMin))
|
||||
// recupero id flatregion
|
||||
int nIdSurf = GetIdParam( vsParams[2]) ;
|
||||
// recupero precisione
|
||||
double dPrec ;
|
||||
if ( ! FromString( vsParams[3], dPrec))
|
||||
return false ;
|
||||
// recupero massimo
|
||||
double dMax ;
|
||||
if ( ! FromString( vsParams[4], dMax))
|
||||
// recupero puntatore a Trimesh
|
||||
SurfTriMesh* pSurf = GetBasicSurfTriMesh( m_pGDB->GetGeoObj( nIdSurf)) ;
|
||||
if ( pSurf == nullptr)
|
||||
return false ;
|
||||
// recupero lo Zmap
|
||||
int nIdZmap = GetIdParam( vsParams[0]) ;
|
||||
VolZmap* pZmap = GetBasicVolZmap( m_pGDB->GetGeoObj( nIdZmap)) ;
|
||||
if ( pZmap == nullptr)
|
||||
return false ;
|
||||
// eseguo l'addizione
|
||||
return pZmap->AddIntervals( ptP, dMin, dMax) ;
|
||||
// creo Zmap
|
||||
PtrOwner<VolZmap> pZprova( new VolZmap) ;
|
||||
pZprova->CreateFromTriMesh( * pSurf, dPrec);
|
||||
|
||||
// inserisco nel DB
|
||||
return AddGeoObj(vsParams[0], vsParams[1], Release( pZprova)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -2880,7 +2841,7 @@ bool GdbExecutor::VolZmapDeepnessMeasure( const STRVECTOR& vsParams) {
|
||||
|
||||
double dIn, dOut ;
|
||||
|
||||
pZmap -> Deepness( ptP, vtDir, dIn, dOut) ;
|
||||
pZmap->GetDepth( ptP, vtDir, dIn, dOut) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
@@ -2925,7 +2886,7 @@ GdbExecutor::VolZmapBBoxZmapIntersection( const STRVECTOR& vsParams)
|
||||
return false ;
|
||||
bool bInt ;
|
||||
|
||||
bInt = pZmap -> BBoxZmapIntersection( frBBoxFrame, ptEnd) ;
|
||||
bInt = ! pZmap->AvoidBox( frBBoxFrame, ptEnd - ORIG) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user