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:
+31
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user