EgtGeomKernel :
- correzioni a operazioni booleane su TriMesh.
This commit is contained in:
+10
-5
@@ -2368,9 +2368,14 @@ SurfTriMesh::RemoveTJunction( void)
|
||||
if ( it == vvIndexesSet[nP][nPP].end())
|
||||
continue ;
|
||||
Point3d ptP0, ptP1, ptP2 ;
|
||||
GetVertex( m_vTria[it->nTriaId].nIdVert[0], ptP0) ;
|
||||
GetVertex( m_vTria[it->nTriaId].nIdVert[1], ptP1) ;
|
||||
GetVertex( m_vTria[it->nTriaId].nIdVert[2], ptP2) ;
|
||||
while ( it != vvIndexesSet[nP][nPP].end() &&
|
||||
( ! ( GetVertex(m_vTria[it->nTriaId].nIdVert[0], ptP0) &&
|
||||
GetVertex(m_vTria[it->nTriaId].nIdVert[1], ptP1) &&
|
||||
GetVertex(m_vTria[it->nTriaId].nIdVert[2], ptP2)))) {
|
||||
++ it ;
|
||||
}
|
||||
if ( it == vvIndexesSet[nP][nPP].end())
|
||||
continue ;
|
||||
CurveLine cvLine0 ;
|
||||
cvLine0.Set( ptP0, ptP1) ;
|
||||
CurveLine cvLine1 ;
|
||||
@@ -2405,8 +2410,8 @@ SurfTriMesh::RemoveTJunction( void)
|
||||
cvAddLoop.AddCurve( cvAddLine2) ;
|
||||
SurfFlatRegion AddFacet ;
|
||||
AddFacet.AddExtLoop( cvAddLoop) ;
|
||||
Facet.Add( AddFacet) ;
|
||||
RemoveTriangle( it->nTriaId) ;
|
||||
if ( Facet.Add( AddFacet))
|
||||
RemoveTriangle( it->nTriaId) ;
|
||||
++it ;
|
||||
}
|
||||
int nChunkNum = Facet.GetChunkCount() ;
|
||||
|
||||
Reference in New Issue
Block a user