EgtGeomKernel 1.6h2 :
- aggiunte Regioni (SurfFlatRegion) e prime funzionalità relative - corretti Intervals per Add - corretta CalcPointParamPosiz per archi che in realtà sono circonferenze.
This commit is contained in:
+6
-1
@@ -31,6 +31,11 @@ SelfIntersCurve::SelfIntersCurve( const ICurve& Curve)
|
||||
m_bOverlaps = false ;
|
||||
m_nNumInters = 0 ;
|
||||
m_pOriCrv = &Curve ;
|
||||
m_pCurve = nullptr ;
|
||||
|
||||
// verifico che la curva sia definita
|
||||
if ( &Curve == nullptr || ! Curve.IsValid())
|
||||
return ;
|
||||
|
||||
// se curva è arco da approssimare oppure è curva di Bezier
|
||||
if ( ( m_pOriCrv->GetType() == CRV_ARC && IsArcToApprox( *m_pOriCrv)) ||
|
||||
@@ -126,7 +131,7 @@ SelfIntersCurve::GetIntCrvCrvInfo( int nInd, IntCrvCrvInfo& aInfo)
|
||||
return false ;
|
||||
aInfo = m_Info[nInd] ;
|
||||
// se curva originale approssimata, devo ricalcolare i parametri dei punti di intersezione
|
||||
if ( m_pCurve != m_pOriCrv) {
|
||||
if ( m_pCurve != m_pOriCrv) {
|
||||
if ( ! m_pOriCrv->GetParamAtPoint( aInfo.IciA[0].ptI, aInfo.IciA[0].dU, 10 * EPS_SMALL))
|
||||
return false ;
|
||||
if ( aInfo.bOverlap && ! m_pOriCrv->GetParamAtPoint( aInfo.IciA[1].ptI, aInfo.IciA[1].dU, 10 * EPS_SMALL))
|
||||
|
||||
Reference in New Issue
Block a user