diff --git a/CurveAux.cpp b/CurveAux.cpp index dec95b4..f4a44e5 100644 --- a/CurveAux.cpp +++ b/CurveAux.cpp @@ -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 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 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)