EgtGeomKernel :

- ricalcolo delle facce dopo scalatura per TriMesh
- Rimozione punti allineati nei contatti tra facce diverse.
This commit is contained in:
Riccardo Elitropi
2024-04-12 15:27:52 +02:00
parent fe46b8ebd2
commit 583e30170a
2 changed files with 31 additions and 9 deletions
+2 -6
View File
@@ -3244,7 +3244,6 @@ SurfTriMesh::Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double
bMirror = ( bMirror ? ( dCoeffZ > 0) : ( dCoeffZ < 0)) ;
// aggiorno le facce
bool bRecalc = ( abs( dCoeffX) < EPS_ZERO || abs( dCoeffY) < EPS_ZERO || abs( dCoeffZ) < EPS_ZERO) ;
for ( int i = 0 ; i < GetTriangleSize() ; ++ i) {
if ( m_vTria[i].nIdVert[0] != SVT_DEL) {
// se c'è mirror, devo invertire la faccia
@@ -3254,15 +3253,12 @@ SurfTriMesh::Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double
if ( ! CalcTriangleNormal( i)) {
// elimino il triangolo
RemoveTriangle( i) ;
// richiedo ricalcolo vertici e topologia
bRecalc = true ;
}
}
}
if ( bRecalc)
return DoCompacting() ;
return true ;
return DoCompacting() ;
}
//----------------------------------------------------------------------------