diff --git a/SurfTriMeshBooleans.cpp b/SurfTriMeshBooleans.cpp index b8a27ad..71620a5 100644 --- a/SurfTriMeshBooleans.cpp +++ b/SurfTriMeshBooleans.cpp @@ -394,20 +394,13 @@ SurfTriMesh::RetriangulationForBooleanOperation( CHAINMAP& LoopLines, TRIA3DVECT } // Fra le catene trovate separo le aperte dalle chiuse - int nDegenerateChainNum = 0 ; INTVECTOR vnDegVec ; CHAINVECTOR cvClosedChain ; CHAINVECTOR cvOpenChain ; for ( int nL = 0 ; nL < int( vChain.size()) ; ++ nL) { - bool bChainDegenerate = false ; - if ( vChain[nL].size() == 1 && AreSamePointApprox( vChain[nL][0].ptSt, vChain[nL][0].ptEn)) { - bChainDegenerate = true ; - } - - if ( bChainDegenerate) - ++ nDegenerateChainNum ; + bool bChainDegenerate = ( vChain[nL].size() == 1 && AreSamePointApprox( vChain[nL][0].ptSt, vChain[nL][0].ptEn)) ; int nCurLoopLast = max( int( vChain[nL].size()) - 1, 0) ; - if ( ( ! bChainDegenerate) && AreSamePointApprox( vChain[nL][0].ptSt, vChain[nL][nCurLoopLast].ptEn)) + if ( ! bChainDegenerate && AreSamePointApprox( vChain[nL][0].ptSt, vChain[nL][nCurLoopLast].ptEn)) cvClosedChain.emplace_back( vChain[nL]) ; else { cvOpenChain.emplace_back( vChain[nL]) ; @@ -446,7 +439,7 @@ SurfTriMesh::RetriangulationForBooleanOperation( CHAINMAP& LoopLines, TRIA3DVECT } // Gestione tagli piccoli - if ( int( cvOpenChain.size()) == 1 && int( cvOpenChain[0].size()) == 1 && int( cvClosedChain.size()) == 0) { + if ( cvOpenChain.size() == 1 && cvOpenChain[0].size() == 1 && cvClosedChain.empty()) { if ( AreSamePointEpsilon( cvOpenChain[0][0].ptSt, cvOpenChain[0][0].ptEn, EPS_SMALL)) { Plane3d plPlane ; plPlane.Set( cvOpenChain[0][0].ptSt, cvOpenChain[0][0].vtOuter) ; @@ -511,7 +504,7 @@ SurfTriMesh::RetriangulationForBooleanOperation( CHAINMAP& LoopLines, TRIA3DVECT vbInOut.push_back( true) ; // Divido il loop usando le catene if ( ! DecomposeLoop( cvOpenChain, vnDegVec, cvBoundClosedLoopVec, vbInOut)) { - if ( int( cvBoundClosedLoopVec.size()) == 1 && int( cvOpenChain.size()) == 2) { + if ( cvBoundClosedLoopVec.size() == 1 && cvOpenChain.size() == 2) { Point3d ptLink0St = cvOpenChain[0][0].ptSt ; Point3d ptLink0En = cvOpenChain[0].back().ptEn ; Point3d ptLink1St = cvOpenChain.back()[0].ptSt ; @@ -571,7 +564,7 @@ SurfTriMesh::RetriangulationForBooleanOperation( CHAINMAP& LoopLines, TRIA3DVECT POLYLINEVECTOR vplPolyVec ; vplPolyVec.resize( cvBoundClosedLoopVec.size()) ; for ( int nLoop = 0 ; nLoop < int( vplPolyVec.size()) ; ++ nLoop) { - for (int nLine = 0 ; nLine < int( cvBoundClosedLoopVec[nLoop].size()) ; ++ nLine) { + for ( int nLine = 0 ; nLine < int( cvBoundClosedLoopVec[nLoop].size()) ; ++ nLine) { vplPolyVec[nLoop].AddUPoint( 0., cvBoundClosedLoopVec[nLoop][nLine]) ; } vplPolyVec[nLoop].AddUPoint( 0., cvBoundClosedLoopVec[nLoop][0]) ; @@ -1616,7 +1609,7 @@ SurfTriMesh::Subtract( const ISurfTriMesh& Other) Scale( frScalingRef, 1. / BOOLEAN_SCALE, 1. / BOOLEAN_SCALE, 1. / BOOLEAN_SCALE) ; if ( ! SimplifyFacets()) - LOG_ERROR( GetEGkLogger(), "Error in SimplifyFacets of Stm::Intersect") + LOG_ERROR( GetEGkLogger(), "Error in SimplifyFacets of Stm::Subtract") return bOk ; } @@ -1750,7 +1743,7 @@ SurfTriMesh::Repair( double dMaxEdgeLen) // Ritriangolo le facce if ( ! SimplifyFacets( dMaxEdgeLen, true)) - LOG_ERROR( GetEGkLogger(), "Error in SimplifyFacets of Stm::Intersect") + LOG_ERROR( GetEGkLogger(), "Error in SimplifyFacets of Stm::Repair") return true ; }