EgtGeomKernel :
- aggiunta funzione per rimozione spikes da curve - utilizzo rimozione spikes in creazione regioni - migliorata gestione linee quasi parallele in intersezione.
This commit is contained in:
+13
-4
@@ -20,6 +20,7 @@
|
||||
#include "CurveAux.h"
|
||||
#include "CurveComposite.h"
|
||||
#include "RemoveCurveOverlaps.h"
|
||||
#include "RemoveCurveSpikes.h"
|
||||
#include "GeoConst.h"
|
||||
#include "/EgtDev/Include/EGkStringUtils3d.h"
|
||||
#include "/EgtDev/Include/EGkUiUnits.h"
|
||||
@@ -97,10 +98,14 @@ SurfFlatRegion::AddExtLoop( ICurve* pCrv)
|
||||
// aggiungo le singole curve
|
||||
bool bOk = true ;
|
||||
for ( auto& pCrv : CrvLst) {
|
||||
// se curva composita, unisco eventuali tratti allineati
|
||||
// se curva composita
|
||||
CurveComposite* pCrvCo = GetBasicCurveComposite( pCrv) ;
|
||||
if ( pCrvCo != nullptr)
|
||||
if ( pCrvCo != nullptr) {
|
||||
// unisco eventuali tratti allineati
|
||||
pCrvCo->MergeCurves( LIN_TOL_MIN, ANG_TOL_STD_DEG) ;
|
||||
// elimino eventuali spikes
|
||||
RemoveCurveSpikes( pCrvCo) ;
|
||||
}
|
||||
// aggiungo il loop
|
||||
if ( ! AddSimpleExtLoop( pCrv))
|
||||
bOk = false ;
|
||||
@@ -239,10 +244,14 @@ SurfFlatRegion::AddIntLoop( ICurve* pCrv)
|
||||
// aggiungo le singole curve
|
||||
bool bOk = true ;
|
||||
for ( auto& pCrv : CrvLst) {
|
||||
// se curva composita, unisco eventuali tratti allineati
|
||||
// se curva composita
|
||||
CurveComposite* pCrvCo = GetBasicCurveComposite( pCrv) ;
|
||||
if ( pCrvCo != nullptr)
|
||||
if ( pCrvCo != nullptr) {
|
||||
// unisco eventuali tratti allineati
|
||||
pCrvCo->MergeCurves( LIN_TOL_MIN, ANG_TOL_STD_DEG) ;
|
||||
// elimino eventuali spikes
|
||||
RemoveCurveSpikes( pCrvCo) ;
|
||||
}
|
||||
// aggiungo il loop
|
||||
if ( ! AddSimpleIntLoop( pCrv))
|
||||
bOk = false ;
|
||||
|
||||
Reference in New Issue
Block a user