EgtGeomKernel 1.4l3 : Modifiche a ApproxWithLines anche per CurveComposite.

Aggiunta classe PolyLine.
This commit is contained in:
Dario Sassi
2013-12-24 22:09:55 +00:00
parent 30f8c71894
commit 2cd7dcee57
14 changed files with 381 additions and 133 deletions
+3 -6
View File
@@ -288,7 +288,7 @@ CurveArc::GetLength( double& dLen) const
//----------------------------------------------------------------------------
bool
CurveArc::ApproxWithLines( double dLinTol, double dAngTolDeg, UPNTVECTOR& vUPoints) const
CurveArc::ApproxWithLines( double dLinTol, double dAngTolDeg, PolyLine& PL) const
{
int i ;
int nStep ;
@@ -321,9 +321,6 @@ CurveArc::ApproxWithLines( double dLinTol, double dAngTolDeg, UPNTVECTOR& vUPoin
// sistemo lo step (per il numero intero di passi)
dAngStepDeg = m_dAngCenDeg / nStep ;
// riservo lo spazio necessario nel vettore di punti
vUPoints.reserve( nStep + 1) ;
// versori di riferimento nel piano dell'arco
vtA1 = m_VtS ;
vtA2 = m_VtN ^ m_VtS ;
@@ -334,7 +331,7 @@ CurveArc::ApproxWithLines( double dLinTol, double dAngTolDeg, UPNTVECTOR& vUPoin
// primo punto
ptPos = m_PtCen + vtA1 * m_dRad ;
vUPoints.push_back( UPOINT( 0, ptPos)) ;
PL.AddUPoint( 0, ptPos) ;
// ciclo per i punti successivi
for ( i = 1 ; i <= nStep ; ++ i) {
@@ -349,7 +346,7 @@ CurveArc::ApproxWithLines( double dLinTol, double dAngTolDeg, UPNTVECTOR& vUPoin
ptPos = m_PtCen + vtA1 * m_dRad ;
if ( fabs( m_dDeltaN) > EPS_ZERO)
ptPos = ptPos + ( dU * m_dDeltaN) * m_VtN ;
vUPoints.push_back( UPOINT( dU, ptPos)) ;
PL.AddUPoint( dU, ptPos) ;
}
return true ;