EgtGeomKernel 1.5h3 :

- aggiunta IsFlat a tutte le Curve 
- aggiunta ApproxWithArcs a tutte le Curve 
- aggiunto oggetto PolyArc (raccolta ordinata di linee e archi con bulge)
- aggiunto oggetto PointsPCA per stima componenti principali di un insieme di punti
- FromSpheriical e FromPolar di Vector3d sono diventati funzioni e aggiunto FromUprightOrtho
- aggiunte Invert e a Vector3d.
This commit is contained in:
Dario Sassi
2014-08-15 17:36:08 +00:00
parent 1a42207365
commit 77e74ccf4e
27 changed files with 986 additions and 113 deletions
+31 -1
View File
@@ -79,7 +79,7 @@ CurveLine::SetPDL( const Point3d& ptStart, double dDirAngDeg, double dLen)
// assegno i dati
m_PtStart = ptStart ;
Vector3d vtDelta ;
vtDelta.FromPolar( dLen, dDirAngDeg) ;
vtDelta = FromPolar( dLen, dDirAngDeg) ;
m_PtEnd = ptStart + vtDelta ;
m_nStatus = TO_VERIFY ;
@@ -229,6 +229,21 @@ CurveLine::Validate( void)
return ( m_nStatus == OK) ;
}
//----------------------------------------------------------------------------
bool
CurveLine::IsFlat( Plane3d& plPlane, double dToler) const
{
// verifico lo stato
if ( m_nStatus != OK)
return false ;
// assegno dati piano
plPlane.vtN = FromUprightOrtho( m_PtEnd - m_PtStart) ; ;
plPlane.dDist = ( m_PtStart - ORIG) * plPlane.vtN ;
// ritorno conferma
return true ;
}
//----------------------------------------------------------------------------
bool
CurveLine::GetStartPoint( Point3d& ptStart) const
@@ -422,6 +437,21 @@ CurveLine::ApproxWithLines( double dLinTol, double dAngTolDeg, PolyLine& PL) con
return true ;
}
//----------------------------------------------------------------------------
bool
CurveLine::ApproxWithArcs( double dLinTol, double dAngTolDeg, PolyArc& PA) const
{
// pulisco la polilinea
PA.Clear() ;
// la curva deve essere validata
if ( m_nStatus != OK)
return false ;
// inserisco gli estremi
return ( PA.AddUPoint( 0, m_PtStart, 0) && PA.AddUPoint( 1, m_PtEnd, 0)) ;
}
//----------------------------------------------------------------------------
ICurve*
CurveLine::CopyParamRange( double dUStart, double dUEnd) const