#include "CStenoseResult.h" #include CStenoseResult::CStenoseResult() { result = new stenose::StenoseResult; resultNB = new stenose::StenoseNBResult; Initialize(); } CStenoseResult::~CStenoseResult() { if ( resultNB->m_pPoints ) { delete[] result->m_pPoints; } if ( resultNB->m_pPoints ) { delete[] result->m_pPoints; } delete result; delete resultNB; } void CStenoseResult::Initialize() { result->m_dblEllipse = 0.0; result->m_dblStenose = 0.0; result->m_dblRatio = 0.0; result->m_dwPoints = 0; result->m_pPoints = NULL; resultNB->m_dblSurface = 0.0; resultNB->m_dblVesselArea = 0.0; resultNB->m_dblRatio = 0.0; resultNB->m_dblDensity = 0.0; resultNB->m_dwMean = 0; resultNB->m_dwPoints = 0; resultNB->m_pPoints = NULL; } bool CStenoseResult::fill( stenose::StenoseResult* res ) { if ( res ) { if ( res->m_pPoints ) { // delete[] res->m_pPoints; } int n = result->m_dwPoints; res->m_dblEllipse = result->m_dblEllipse; res->m_dblStenose = result->m_dblStenose; res->m_dblRatio = result->m_dblRatio; res->m_pPoints = new stenose::Point[ n ]; res->m_dwPoints = n; if ( !res->m_pPoints ) { return false; } int i; for ( i = 0; i < n; i++ ) { res->m_pPoints[ i ] = result->m_pPoints[ i ]; } return true; } return false; } bool CStenoseResult::allocate_vectors( long n_points ) { if ( !n_points ) { return false; } result->m_dwPoints = n_points; result->m_pPoints = new stenose::Point[ n_points ]; if ( !result->m_pPoints ) { return false; } return true; } bool CStenoseResult::fillNB( stenose::StenoseNBResult* res ) { if ( res ) { res->m_dblSurface = resultNB->m_dblSurface; res->m_dblVesselArea = resultNB->m_dblVesselArea; res->m_dblRatio = resultNB->m_dblRatio; res->m_dblDensity = resultNB->m_dblDensity; res->m_dwMean = resultNB->m_dwMean; int n = resultNB->m_dwPoints; res->m_pPoints = new stenose::Point[ n ]; res->m_dwPoints = n; if ( !res->m_pPoints ) { return false; } int i; for ( i = 0; i < n; i++ ) { res->m_pPoints[ i ] = resultNB->m_pPoints[ i ]; } return true; } return false; }