EgtGeomKernel 1.5f6 :

- agg. intersezione linee-linee
- agg. alle curve metodi per passare da lunghezza a parametro e viceversa
- agg. metodi per creare curve composite come poligoni regolari
- corr. errore in triangulate con contorni CW
- agg. opportune funzioni a TSC.
This commit is contained in:
Dario Sassi
2014-06-24 07:05:43 +00:00
parent 4097bcd178
commit f119a5a1be
21 changed files with 1347 additions and 129 deletions
+6 -4
View File
@@ -21,8 +21,10 @@
//----------------------------------------------------------------------------
DistPointCurve::DistPointCurve( const Point3d& ptP, const ICurve& Curve)
DistPointCurve::DistPointCurve( const Point3d& ptP, const ICurve& Curve, bool bIsSegment)
{
// Il flag bIsSegment vale solo per linee.
// distanza non calcolata e curva sconosciuta
m_dDist = - 1 ;
m_pCurve = nullptr ;
@@ -34,7 +36,7 @@ DistPointCurve::DistPointCurve( const Point3d& ptP, const ICurve& Curve)
// chiamo calcolatore opportuno
switch ( Curve.GetType()) {
case CRV_LINE :
LineCalculate( ptP, Curve) ;
LineCalculate( ptP, Curve, bIsSegment) ;
break ;
case CRV_ARC :
ArcCalculate( ptP, Curve) ;
@@ -52,9 +54,9 @@ DistPointCurve::DistPointCurve( const Point3d& ptP, const ICurve& Curve)
//----------------------------------------------------------------------------
void
DistPointCurve::LineCalculate( const Point3d& ptP, const ICurve& Curve)
DistPointCurve::LineCalculate( const Point3d& ptP, const ICurve& Curve, bool bIsSegment)
{
DistPointLine dstPtLn( ptP, *GetCurveLine( &Curve)) ;
DistPointLine dstPtLn( ptP, *GetCurveLine( &Curve), bIsSegment) ;
if ( dstPtLn.m_dSqDist > 0) {
m_dDist = sqrt( dstPtLn.m_dSqDist) ;