EgtGeomKernel 2.3k1 :

- corretto offset di segmenti di retta singoli con estrusione
- modifiche per calcolo taglio superfici TriMesh
- modifiche a funzione SimplifyFacets di superfici TriMesh.
This commit is contained in:
DarioS
2021-11-02 08:19:11 +01:00
parent 6deff01b6e
commit 76d009ddbe
7 changed files with 680 additions and 1236 deletions
+11 -4
View File
@@ -3701,7 +3701,11 @@ SurfTriMesh::Cut( const Plane3d& plPlane, bool bSaveOnEq)
if ( m_nStatus != OK)
return false ;
// eseguo il taglio con il metodo delle faccette
// recupero il numero originale di triangoli e di facce
int nTriaOriCnt = GetTriangleCount() ;
int nFacetOriCnt = GetFacetCount() ;
// eseguo il taglio con il metodo delle faccette o dei triangoli (per ora solo coi triangoli)
bool bModif = false ;
if ( true || ! CutByFacets( plPlane, bSaveOnEq, bModif)) {
bModif = false ;
@@ -3711,13 +3715,16 @@ SurfTriMesh::Cut( const Plane3d& plPlane, bool bSaveOnEq)
// se effettuate modifiche
if ( bModif) {
// aggiorno tutto
// aggiorno tutto
if ( ! AdjustVertices() || ! DoCompacting())
return false ;
// se superficie originale a facce, cerco di semplificarle
if ( nFacetOriCnt < 200 || double( nTriaOriCnt) / nFacetOriCnt > 4) {
if ( ! SimplifyFacets( 500.0))
LOG_ERROR( GetEGkLogger(), "Error in SimplifyFacets of Stm::Cut")
}
}
SimplifyFacets( 20) ;
return true ;
}