EgtGeomKernel :
- aggiunte funzioni per calcolare Voronoi e medial axis di più curve.
This commit is contained in:
@@ -1796,6 +1796,22 @@ CalcCurveVoronoiDiagram( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, int nBound)
|
||||
return pVoronoiObj->CalcVoronoiDiagram( vCrvs, nBound) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CalcCurvesVoronoiDiagram( const CICURVEPVECTOR& vCrvC, ICURVEPOVECTOR& vCrvs, int nBound)
|
||||
{
|
||||
// creo oggetto Voronoi con le curve passate
|
||||
PtrOwner<Voronoi> pVoronoiObj( new( std::nothrow) Voronoi()) ;
|
||||
if ( pVoronoiObj == nullptr)
|
||||
return false ;
|
||||
for ( int i = 0 ; i < int( vCrvC.size()) ; i ++) {
|
||||
if ( ! pVoronoiObj->AddCurve( vCrvC[i]))
|
||||
return false ;
|
||||
}
|
||||
|
||||
return pVoronoiObj->CalcVoronoiDiagram( vCrvs, nBound) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CalcCurveMedialAxis( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, int nSide)
|
||||
@@ -1807,6 +1823,22 @@ CalcCurveMedialAxis( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, int nSide)
|
||||
return pVoronoiObj->CalcMedialAxis( vCrvs, nSide) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CalcCurvesMedialAxis( const CICURVEPVECTOR& vCrvC, ICURVEPOVECTOR& vCrvs, int nSide)
|
||||
{
|
||||
// creo oggetto Voronoi con le curve passate
|
||||
PtrOwner<Voronoi> pVoronoiObj( new( std::nothrow) Voronoi()) ;
|
||||
if ( pVoronoiObj == nullptr)
|
||||
return false ;
|
||||
for ( int i = 0 ; i < int( vCrvC.size()) ; i ++) {
|
||||
if ( ! pVoronoiObj->AddCurve( vCrvC[i]))
|
||||
return false ;
|
||||
}
|
||||
|
||||
return pVoronoiObj->CalcMedialAxis( vCrvs, nSide) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CalcCurveFatCurve( const ICurve& crvC, ICURVEPOVECTOR& vCrvs, double dRadius, bool bSquareEnds, bool bSquareMids)
|
||||
|
||||
Reference in New Issue
Block a user