EgtGeomKernel 1.6h3 :

- migliorata approssimazione curve per riconoscimento di tratti rettilinei
- aggiunta CopyMaterial a GeomDB
- correzioni a IntersCurveCurve per le curve approssimate
- aggiunte a Intervals Union, Intersection e Difference
- correzioni a SelfIntersCurve per curve approssimate
- aggiunte funzioni di creazione Regioni (Rectangle, Stadium, Disk e da zuppa di curve)
- migliorie varie a Regioni e introduzione dei componenti connessi (chunk).
This commit is contained in:
Dario Sassi
2015-08-18 07:30:08 +00:00
parent f4b88af3e1
commit bab45eb4f3
28 changed files with 1049 additions and 346 deletions
+6 -6
View File
@@ -21,7 +21,7 @@
using namespace std ;
//-------------------------------------------------------------------------------
static bool CalcRegionPolyLines( const ICURVEPVECTOR& vpCurve, double dLinTol,
static bool CalcRegionPolyLines( const CICURVEPVECTOR& vpCurve, double dLinTol,
POLYLINEVECTOR& vPL, Vector3d& vtN) ;
//-------------------------------------------------------------------------------
@@ -47,7 +47,7 @@ GetSurfTriMeshByFlatContour( const ICurve* pCurve, double dLinTol)
//-------------------------------------------------------------------------------
ISurfTriMesh*
GetSurfTriMeshByRegion( const ICURVEPVECTOR& vpCurve, double dLinTol)
GetSurfTriMeshByRegion( const CICURVEPVECTOR& vpCurve, double dLinTol)
{
// verifica parametri
if ( &vpCurve == nullptr || vpCurve.empty())
@@ -126,7 +126,7 @@ GetSurfTriMeshByExtrusion( const ICurve* pCurve, const Vector3d& vtExtr,
//-------------------------------------------------------------------------------
ISurfTriMesh*
GetSurfTriMeshByRegionExtrusion( const ICURVEPVECTOR& vpCurve, const Vector3d& vtExtr, double dLinTol)
GetSurfTriMeshByRegionExtrusion( const CICURVEPVECTOR& vpCurve, const Vector3d& vtExtr, double dLinTol)
{
// verifica parametri
if ( &vpCurve == nullptr || vpCurve.empty() || &vtExtr == nullptr)
@@ -330,7 +330,7 @@ GetSurfTriMeshRuled( const ICurve* pCurve1, const ICurve* pCurve2, double dLinTo
//-------------------------------------------------------------------------------
bool
CalcRegionPolyLines( const ICURVEPVECTOR& vpCurve, double dLinTol,
CalcRegionPolyLines( const CICURVEPVECTOR& vpCurve, double dLinTol,
POLYLINEVECTOR& vPL, Vector3d& vtN)
{
// calcolo le polilinee che approssimano le curve
@@ -341,8 +341,8 @@ CalcRegionPolyLines( const ICURVEPVECTOR& vpCurve, double dLinTol,
return nullptr ;
}
// ne calcolo l'area e genero un ordine in senso decrescente
typedef std::pair<int,double> INDAREA ; // coppia indice, area
typedef std::vector<INDAREA> INDAREAVECTOR ; // vettore di coppie indice, area
typedef pair<int,double> INDAREA ; // coppia indice, area
typedef vector<INDAREA> INDAREAVECTOR ; // vettore di coppie indice, area
INDAREAVECTOR vArea ;
vArea.reserve( vPLtmp.size()) ;
Vector3d vtN0 ;