EgtGeomKernel :

- inserita modifica calcolo box archi da Riccardo.
This commit is contained in:
DarioS
2023-03-20 08:12:18 +01:00
parent c939a50a39
commit 64a904b628
3 changed files with 68 additions and 96 deletions
+4 -3
View File
@@ -694,7 +694,7 @@ SurfTriMesh::RetriangulationForBooleanOperation( CHAINMAP& LoopLines, TRIA3DVECT
// Elimino loop interni non validi
bool bDouble = true ;
for ( int nInnLoop = 0 ; nInnLoop < int( vInnerLoop.size()) ; ++ nInnLoop) {
if ( int( cvClosedChain[vInnerLoop[nInnLoop]].size()) > 2) {
if ( cvClosedChain[vInnerLoop[nInnLoop]].size() > 2) {
bDouble = false ;
break ;
}
@@ -820,6 +820,7 @@ SurfTriMesh::RetriangulationForBooleanOperation( CHAINMAP& LoopLines, TRIA3DVECT
}
}
}
// Divido i loop che si autointercettano
int nInitialLoopNum = int( vPolygons.size()) ;
for ( int nL = 1 ; nL < nInitialLoopNum ; ++ nL) {
@@ -868,8 +869,8 @@ SurfTriMesh::RetriangulationForBooleanOperation( CHAINMAP& LoopLines, TRIA3DVECT
itSt2 = LoopPointList.emplace( itEn2, vAddingPointWithOrder[nPi]) ;
}
}
// Spezzo i loop autointersecantesi
POLYLINEVECTOR vAuxPolygons ;
vAuxPolygons.emplace_back( vPolygons[nL]) ;
@@ -917,7 +918,7 @@ SurfTriMesh::RetriangulationForBooleanOperation( CHAINMAP& LoopLines, TRIA3DVECT
}
bool bReplaced = false ;
for ( int nl = 0 ; nl < int( vAuxPolygons.size()) ; ++ nl) {
if ( true/*vAuxPolygons.GetAreaXY(double& dArea)*/) {
if ( true) {
if ( ! bReplaced) {
vPolygons[nL].Clear() ;
Point3d ptP ;