EgtGeomKernel 1.5l1 :
- aggiornamento a VS2013 - migliorato SimpleOffset e implementato anche per CurveComposite - il lato di offset ora viene dal segno dello spostamento ( + a destra, - a sinistra) - il vettore estrusione ora è la normale al piano di offset (se non c'è uso Z+) - aggiunto a tutte le entità geometriche membro m_nTempProp intero temporaneo - migliorata DistPointCrvBezier e DistPointArc - corretta IntersLineArc con linee che non giacciono nel piano XY - corretta ModifyStart di CurveArc - a PolyArc aggiunto metodo ParamLinearTransform - aggiunta gestione riferimento di griglia (CPlane).
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2014-2014
|
||||
//----------------------------------------------------------------------------
|
||||
// File : Angle.cpp Data : 14.07.14 Versione : 1.5g2
|
||||
// File : Angle.cpp Data : 16.12.14 Versione : 1.5l1
|
||||
// Contenuto : Implementazione funzioni per gestione angoli.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 14.07.14 DS Creazione modulo.
|
||||
//
|
||||
// 16.12.14 DS Aumentata robustezza AngleInSpan.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -51,12 +51,15 @@ MediaAngle( double dAng1Deg, double dAng2Deg, double dCoeff)
|
||||
bool
|
||||
AngleInSpan( double dAngDeg, double dAngRefDeg, double dAngSpanDeg)
|
||||
{
|
||||
double dAngDiffDeg = DiffAngle( dAngDeg, dAngRefDeg) ;
|
||||
|
||||
// differenza dalla posizione a metà dell'intervallo angolare
|
||||
double dAngDiffDeg = DiffAngle( dAngDeg, dAngRefDeg + 0.5 * dAngSpanDeg) ;
|
||||
// se intervallo nullo, anche differenza deve essere nulla
|
||||
if ( fabs( dAngSpanDeg) < EPS_ANG_ZERO)
|
||||
return ( fabs( dAngDiffDeg) < EPS_ANG_SMALL) ;
|
||||
else if ( dAngSpanDeg > 0)
|
||||
return ( dAngDiffDeg > - EPS_ANG_SMALL && dAngDiffDeg < dAngSpanDeg + EPS_ANG_SMALL) ;
|
||||
else
|
||||
return ( dAngDiffDeg < EPS_ANG_SMALL && dAngDiffDeg > dAngSpanDeg - EPS_ANG_SMALL) ;
|
||||
// deve essere non oltre metà intervallo dal suo centro
|
||||
else {
|
||||
double dHalfAngSpanDeg = fabs( 0.5 * dAngSpanDeg) ;
|
||||
return ( dAngDiffDeg > - dHalfAngSpanDeg - EPS_ANG_SMALL &&
|
||||
dAngDiffDeg < dHalfAngSpanDeg + EPS_ANG_SMALL) ;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user