EgtGeomKernel :

- piccole sistemazioni post Vroni (per usarlo in Offset _VRONI, altrimenti NVRONI).
This commit is contained in:
Dario Sassi
2023-11-24 12:52:27 +01:00
parent 5bd5efafb1
commit fce40ffc38
15 changed files with 52 additions and 64 deletions
+11 -5
View File
@@ -64,8 +64,14 @@ OffsetCurve::Reset( void)
//----------------------------------------------------------------------------
bool
OffsetCurve::Make( const ICurve* pCrv, double dDist, int nType, bool bUseVoronoi)
OffsetCurve::Make( const ICurve* pCrv, double dDist, int nType)
{
// imposto metodo di calcolo
bool bUseVoronoi = false ;
#ifdef _VRONI
bUseVoronoi = true ;
#endif // _VRONI
// pulisco tutto
Reset() ;
// verifico che la curva esista
@@ -164,10 +170,6 @@ OffsetCurve::Make( const ICurve* pCrv, double dDist, int nType, bool bUseVoronoi
// -------------------- OFFSET STANDARD ---------------------------------
if ( ! bUseVoronoi) {
// verifico se il punto iniziale è stato modificato
Point3d ptNewStart ; ccCopy.GetStartPoint( ptNewStart) ;
bChangeStart = ( ! AreSamePointApprox( ptNewStart, ptStart)) ;
// verifico che la curva sia fatta solo da rette e archi che giacciono nel piano XY (VtExtr è ora Z+)
if ( ! ccCopy.ArcsBezierCurvesToArcsPerpExtr( 10 * EPS_SMALL, ANG_TOL_STD_DEG))
return false ;
@@ -188,6 +190,10 @@ OffsetCurve::Make( const ICurve* pCrv, double dDist, int nType, bool bUseVoronoi
if ( ! ccCopy.MergeCurves( 10 * EPS_SMALL, ANG_TOL_STD_DEG, bClosed))
return false ;
// verifico se il punto iniziale è stato modificato
Point3d ptNewStart ; ccCopy.GetStartPoint( ptNewStart) ;
bChangeStart = ( ! AreSamePointApprox( ptNewStart, ptStart)) ;
// calcolo le lunghezze delle diverse entità
DBLVECTOR vLens ;
{