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:
Dario Sassi
2015-08-07 10:45:40 +00:00
parent 8cd29c49ad
commit f4b88af3e1
13 changed files with 1007 additions and 22 deletions
+6 -1
View File
@@ -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))