diff --git a/Voronoi.cpp b/Voronoi.cpp index e863f8e..60d02bc 100644 --- a/Voronoi.cpp +++ b/Voronoi.cpp @@ -389,8 +389,8 @@ Voronoi::CalcVoronoi( int nBound) // calcolo m_bVDComputed = true ; string sTmp = "" ; - m_vroni->apiComputeVD( false, true, false, m_nBound, 0, 0, &sTmp[0], false, false, false, &sTmp[0], true) ; - + m_vroni->apiComputeVD( false, true, false, m_nBound, 0, 0, &sTmp[0], false, false, false, &sTmp[0], true) ; + return true ; } @@ -501,6 +501,9 @@ Voronoi::CalcVoronoiDiagram( ICURVEPOVECTOR& vCrvs, int nBound) if ( ! IsNull( pCrv) && pCrv->IsValid()) vCrvs.emplace_back( Release( pCrv)) ; } + + // libero la memoria di vroni utilizzata per calcolare bisettore + m_vroni->apiFreeBisectorBuffer() ; } catch (...) { LOG_ERROR( GetEGkLogger(), m_vroni->GetExceptionMessage()) ; @@ -542,6 +545,9 @@ Voronoi::CalcMedialAxis( ICURVEPOVECTOR& vCrvs, int nSide) vCrvs.emplace_back( Release( pCrv)) ; } } + + // libero la memoria di vroni utilizzata per calcolare bisettore + m_vroni->apiFreeBisectorBuffer() ; } catch (...) { LOG_ERROR( GetEGkLogger(), m_vroni->GetExceptionMessage()) ; @@ -757,6 +763,9 @@ Voronoi::CalcVroniOffset( ICRVCOMPOPLIST& OffsList, double dOffs, bool bRightOff if ( ! IsNull( pCrvOffs) && pCrvOffs->IsValid()) OffsList.push_back( Release( pCrvOffs)) ; } + + // libero la memoria di vroni dedicata agli offset + m_vroni->apiFreeOffsetData() ; } catch (...) { LOG_ERROR( GetEGkLogger(), m_vroni->GetExceptionMessage()) ;