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) ;