EgtGeomKernel :

- miglioria nel calcolo silhouette di Trimesh.
This commit is contained in:
Dario Sassi
2024-06-06 16:49:19 +02:00
parent f48053a541
commit 9ba0c6f4cc
+4 -4
View File
@@ -1148,7 +1148,7 @@ SurfTriMesh::GetSilhouette( const Vector3d& vtDir, double dTol, POLYLINEVECTOR&
if ( ! IsNull( pSfrTria)) {
if ( bAllTria && Tria.GetN() * vtVers < 0)
pSfrTria->Invert() ;
pSfrTria->Offset( dTol, ICurve::OFF_FILLET) ;
pSfrTria->Offset( dTol, ICurve::OFF_CHAMFER) ;
if ( IsNull( pSfr))
pSfr.Set( pSfrTria) ;
else
@@ -1164,7 +1164,7 @@ SurfTriMesh::GetSilhouette( const Vector3d& vtDir, double dTol, POLYLINEVECTOR&
return false ;
// Effettuo contro-offset
pSfr->Offset( -dTol, ICurve::OFF_EXTEND) ;
pSfr->Offset( -dTol, ICurve::OFF_CHAMFER) ;
// Recupero i contorni della regione
for ( int i = 0 ; i < pSfr->GetChunkCount() ; ++ i) {
@@ -1219,7 +1219,7 @@ SurfTriMesh::GetSilhouette( const Plane3d& plPlane, double dTol, POLYLINEVECTOR&
if ( ! IsNull( pSfrTria)) {
if ( bAllTria && Tria.GetN() * vtVers < 0)
pSfrTria->Invert() ;
pSfrTria->Offset( dTol, ICurve::OFF_FILLET) ;
pSfrTria->Offset( dTol, ICurve::OFF_CHAMFER) ;
if ( IsNull( pSfr))
pSfr.Set( pSfrTria) ;
else
@@ -1236,7 +1236,7 @@ SurfTriMesh::GetSilhouette( const Plane3d& plPlane, double dTol, POLYLINEVECTOR&
return true ;
// Effettuo contro-offset
pSfr->Offset( -dTol, ICurve::OFF_EXTEND) ;
pSfr->Offset( -dTol, ICurve::OFF_CHAMFER) ;
// Recupero i contorni della regione
for ( int i = 0 ; i < pSfr->GetChunkCount() ; ++ i) {