diff --git a/StmFromTriangleSoup.cpp b/StmFromTriangleSoup.cpp index 23838da..ac90055 100644 --- a/StmFromTriangleSoup.cpp +++ b/StmFromTriangleSoup.cpp @@ -119,6 +119,14 @@ StmFromTriangleSoup::End( void) // verifico inizializzazione if ( m_pSTM == nullptr) return false ; + // verifica sul numero minimo di vertici e triangoli + if ( m_pSTM->GetVertexCount() < 3 || m_pSTM->GetTriangleCount() < 1) { + delete m_pSTM ; + m_pSTM = CreateSurfTriMesh() ; + if ( m_pSTM == nullptr) + return false ; + m_pSTM->Init( 3, 1) ; + } // sistemazioni finali della superficie return m_pSTM->AdjustTopology() ; } diff --git a/SurfTriMesh.cpp b/SurfTriMesh.cpp index 3d3e685..c24fef2 100644 --- a/SurfTriMesh.cpp +++ b/SurfTriMesh.cpp @@ -1596,7 +1596,7 @@ SurfTriMesh::PackVertices( void) vVId.push_back( SVT_DEL) ; } } - // se non c'è stata compattazione, esco + // se non c'è stata compattazione, esco if ( nFirstFree == SVT_NULL) return true ; // lunghezza vettore indici vertici