From 13b02f51a31192cfb3f9f67f597bff377eb8d02f Mon Sep 17 00:00:00 2001 From: DarioS Date: Tue, 18 Apr 2023 19:21:54 +0200 Subject: [PATCH] EgtGeomKernel : - corretto riconoscimento interna/esterna tra curve chiuse che non si intersecano. --- IntersCurveCurve.cpp | 5 +---- IntersLineLine.cpp | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/IntersCurveCurve.cpp b/IntersCurveCurve.cpp index 1f9d472..7c05360 100644 --- a/IntersCurveCurve.cpp +++ b/IntersCurveCurve.cpp @@ -659,11 +659,8 @@ IntersCurveCurve::CalcCurveInOrOut( const ICurve* pCurveA, const ICurve* pCurveB bool IntersCurveCurve::GetCurveOutClass( const ICurve* pCurve, int& nClass) { - PolyLine PL ; - if ( ! pCurve->ApproxWithLines( LIN_TOL_APPROX, ANG_TOL_APPROX_DEG, ICurve::APL_SPECIAL, PL)) - return false ; double dArea ; - if ( ! PL.GetAreaXY( dArea)) + if ( ! pCurve->GetAreaXY( dArea)) return false ; nClass = (( dArea > 0) ? CRVC_OUT : CRVC_IN) ; return true ; diff --git a/IntersLineLine.cpp b/IntersLineLine.cpp index d536654..dae77ba 100644 --- a/IntersLineLine.cpp +++ b/IntersLineLine.cpp @@ -66,7 +66,7 @@ IntersLineLine::IntersInfiniteLines( const ICurveLine& Line1, const ICurveLine& double dLen1XY = vtDir1.LenXY() ; if ( dLen1XY < EPS_SMALL) return ; - // linea 2 : Start, Direzione e Lunghezza + // linea 2 : Start, End, Direzione e Lunghezza Point3d ptS2 = Line2.GetStart() ; Point3d ptE2 = Line2.GetEnd() ; Vector3d vtDir2 = ptE2 - ptS2 ;