From ec51c51c549f350071dc0cf26f1923db8db9447e Mon Sep 17 00:00:00 2001 From: LorenzoM Date: Wed, 28 Apr 2021 16:59:26 +0200 Subject: [PATCH] Miglioramento gestione facce complanari --- SurfTriMeshBooleans.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SurfTriMeshBooleans.cpp b/SurfTriMeshBooleans.cpp index ca7b68e..762b38d 100644 --- a/SurfTriMeshBooleans.cpp +++ b/SurfTriMeshBooleans.cpp @@ -4541,7 +4541,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other) frIntersRegion.GetArea( dIntersRegArea) ; // Assegno indice di parte ai pezzi. if ( dIntersRegArea > EPS_SMALL) { - bool bCodirectedNorm = RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; + bool bCodirectedNorm = plPlaneA.GetVersN() * plPlaneB.GetVersN() > 0 ; // RegionA.GetNormVersor()* RegionB.GetNormVersor() > 0; int nPartIndex = bCodirectedNorm ? 2 : - 2 ; itFacetA->second[nPieceNumA].nPiecePart = nPartIndex ; itFacetB->second[nPieceNumB].nPiecePart = nPartIndex ; @@ -4569,7 +4569,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other) frIntersRegion.GetArea( dIntersRegArea) ; // Assegno indice di parte ai pezzi. if ( dIntersRegArea > EPS_SMALL) { - bool bCodirectedNorm = RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; + bool bCodirectedNorm = plPlaneA.GetVersN() * plPlaneB.GetVersN() > 0 ; //RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; int nPartIndex = bCodirectedNorm ? 2 : - 2 ; itFacetA->second[nPieceNumA].nPiecePart = nPartIndex ; itFacetB->second[nPieceNumB].nPiecePart = nPartIndex ; @@ -4603,7 +4603,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other) frIntersRegion.GetArea( dIntersRegArea) ; // Assegno indice di parte al pezzo di faccia A e ai triangoli della faccia B. if ( dIntersRegArea > EPS_SMALL) { - bool bCodirectedNorm = RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; + bool bCodirectedNorm = plPlaneA.GetVersN() * plPlaneB.GetVersN() > 0 ; //RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; int nPartIndex = bCodirectedNorm ? 2 : - 2 ; itFacetA->second[nPieceNumA].nPiecePart = nPartIndex ; INTVECTOR vTB ; @@ -4634,7 +4634,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other) frIntersRegion.GetArea( dIntersRegArea) ; // Assegno indice di parte al pezzo di faccia A e ai triangoli della faccia B. if ( dIntersRegArea > EPS_SMALL) { - bool bCodirectedNorm = RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; + bool bCodirectedNorm = plPlaneA.GetVersN() * plPlaneB.GetVersN() > 0 ; //RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; int nPartIndex = bCodirectedNorm ? 2 : - 2 ; itFacetA->second[nPieceNumA].nPiecePart = nPartIndex ; INTVECTOR vTB ; @@ -4707,7 +4707,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other) frIntersRegion.GetArea( dIntersRegArea) ; // Assegno indice di parte ai triangoli di A e ai pezzi di B. if ( dIntersRegArea > EPS_SMALL) { - bool bCodirectedNorm = RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; + bool bCodirectedNorm = plPlaneA.GetVersN() * plPlaneB.GetVersN() > 0 ; //RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; int nPartIndex = bCodirectedNorm ? 2 : - 2 ; INTVECTOR vTA ; GetAllTriaInFacet( nFA, vTA) ; @@ -4738,7 +4738,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other) frIntersRegion.GetArea( dIntersRegArea) ; // Assegno indice di parte ai triangoli di A e ai pezzi di B. if ( dIntersRegArea > EPS_SMALL) { - bool bCodirectedNorm = RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; + bool bCodirectedNorm = plPlaneA.GetVersN() * plPlaneB.GetVersN() > 0 ; //RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; int nPartIndex = bCodirectedNorm ? 2 : - 2 ; INTVECTOR vTA ; GetAllTriaInFacet( nFA, vTA) ; @@ -4775,7 +4775,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other) frIntersRegion.GetArea( dIntersRegArea) ; // Assegno indice di parte al pezzo di faccia A e ai triangoli della faccia B. if ( dIntersRegArea > EPS_SMALL) { - bool bCodirectedNorm = RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; + bool bCodirectedNorm = plPlaneA.GetVersN() * plPlaneB.GetVersN() > 0 ; //RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; int nPartIndex = bCodirectedNorm ? 2 : - 2 ; INTVECTOR vTA ; GetAllTriaInFacet( nFA, vTA) ; @@ -4809,7 +4809,7 @@ SurfTriMesh::ItersectTriMeshFacets( SurfTriMesh& Other) frIntersRegion.GetArea( dIntersRegArea) ; // Assegno indice di parte al pezzo di faccia A e ai triangoli della faccia B. if ( dIntersRegArea > EPS_SMALL) { - bool bCodirectedNorm = RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; + bool bCodirectedNorm = plPlaneA.GetVersN() * plPlaneB.GetVersN() > 0 ; //RegionA.GetNormVersor() * RegionB.GetNormVersor() > 0 ; int nPartIndex = bCodirectedNorm ? 2 : - 2 ; INTVECTOR vTA ; GetAllTriaInFacet( nFA, vTA) ;