diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index dd55861..f4d2aa3 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ diff --git a/EgtGeomKernel.vcxproj b/EgtGeomKernel.vcxproj index b6cd7ba..960f459 100644 --- a/EgtGeomKernel.vcxproj +++ b/EgtGeomKernel.vcxproj @@ -116,6 +116,7 @@ true ProgramDatabase false + stdcpp17 Windows @@ -198,6 +199,7 @@ copy $(TargetPath) \EgtProg\DllD64 true false ProgramDatabase + stdcpp17 Windows diff --git a/SurfFlatRegion.cpp b/SurfFlatRegion.cpp index 215f434..d2bd04a 100644 --- a/SurfFlatRegion.cpp +++ b/SurfFlatRegion.cpp @@ -143,11 +143,11 @@ SurfFlatRegion::AddSimpleExtLoop( ICurve* pCrv) else { // verifico che il piano della curva coincida con quello XY intrinseco plPlane.ToLoc( m_frF) ; - if ( ! ( plPlane.GetVersN().IsZplus() || plPlane.GetVersN().IsZminus()) || abs( plPlane.GetDist()) > EPS_SMALL) + if ( ! plPlane.GetVersN().IsZ() || abs( plPlane.GetDist()) > EPS_SMALL) return false ; // sistemo il senso di rotazione (deve essere CCW -> area > 0) - if ( ( plPlane.GetVersN().IsZplus() && dArea < 0) || - ( plPlane.GetVersN().IsZminus() && dArea > 0)) + if ( ( plPlane.GetVersN().z > 0 && dArea < 0) || + ( plPlane.GetVersN().z < 0 && dArea > 0)) pMyCrv->Invert() ; } // porto la curva nel riferimento intrinseco @@ -283,10 +283,10 @@ SurfFlatRegion::AddSimpleIntLoop( ICurve* pCrv) Plane3d plPlane ; if ( ! pMyCrv->GetArea( plPlane, dArea)) return false ; - if ( ! ( plPlane.GetVersN().IsZplus() || plPlane.GetVersN().IsZminus()) || abs( plPlane.GetDist()) > EPS_SMALL) + if ( ! plPlane.GetVersN().IsZ() || abs( plPlane.GetDist()) > EPS_SMALL) return false ; - // sistemo il senso di rotazione (deve essere CW -> se N==Z+ area < 0, se N==Z- area>0) - if ( ( plPlane.GetVersN().IsZplus() && dArea > 0) || ( plPlane.GetVersN().IsZminus() && dArea < 0)) + // sistemo il senso di rotazione (deve essere CW -> se N==Z+ area < 0, se N==Z- area > 0) + if ( ( plPlane.GetVersN().z > 0 && dArea > 0) || ( plPlane.GetVersN().z < 0 && dArea < 0)) pMyCrv->Invert() ; // verifico non abbia auto-intersezioni SelfIntersCurve sInt( *pMyCrv) ;