Miglioramento gestione facce complanari

This commit is contained in:
LorenzoM
2021-04-28 16:59:26 +02:00
parent 2d6804215d
commit ec51c51c54
+8 -8
View File
@@ -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) ;