diff --git a/API_Nesting.cpp b/API_Nesting.cpp index e24f412..42e1921 100644 --- a/API_Nesting.cpp +++ b/API_Nesting.cpp @@ -41,7 +41,7 @@ __stdcall EgtPackBoxCluster( int nId[], int nCount, double dXmin, double dYmin, { // verifico if ( nId == nullptr || nCount <= 0) - return false ; + return FALSE ; // riempio il vettore INTVECTOR vIds ; vIds.reserve( nCount) ; @@ -57,7 +57,7 @@ __stdcall EgtGetClusterBBoxGlob( int nId[], int nCount, double ptMin[3], double { // verifico if ( nId == nullptr || nCount <= 0) - return false ; + return FALSE ; // riempio il vettore INTVECTOR vIds ; vIds.reserve( nCount) ; @@ -80,7 +80,7 @@ __stdcall EgtMoveBoxCluster( int nId[], int nCount, double vtMove[3], { // verifico if ( nId == nullptr || nCount <= 0) - return false ; + return FALSE ; // riempio il vettore INTVECTOR vIds ; vIds.reserve( nCount) ; @@ -101,7 +101,7 @@ __stdcall EgtVerifyPartCluster( int nId[], int nCount, BOOL bReducedCut, { // verifico if ( nId == nullptr || nCount <= 0) - return false ; + return FALSE ; // riempio il vettore INTVECTOR vIds ; vIds.reserve( nCount) ; @@ -120,7 +120,7 @@ __stdcall EgtPackPartCluster( int nId[], int nCount, BOOL bReducedCut, { // verifico if ( nId == nullptr || nCount <= 0) - return false ; + return FALSE ; // riempio il vettore INTVECTOR vIds ; vIds.reserve( nCount) ; @@ -139,7 +139,7 @@ __stdcall EgtMovePartCluster( int nId[], int nCount, BOOL bReducedCut, double vt { // verifico if ( nId == nullptr || nCount <= 0) - return false ; + return FALSE ; // riempio il vettore INTVECTOR vIds ; vIds.reserve( nCount) ; @@ -182,7 +182,7 @@ __stdcall EgtRotatePartCluster( int nId[], int nCount, BOOL bReducedCut, const d { // verifico if ( nId == nullptr || nCount <= 0 || pdRotAngDeg == nullptr) - return false ; + return FALSE ; // riempio il vettore INTVECTOR vIds ; vIds.reserve( nCount) ; @@ -194,13 +194,32 @@ __stdcall EgtRotatePartCluster( int nId[], int nCount, BOOL bReducedCut, const d return TRUE ; } +//----------------------------------------------------------------------------- +BOOL +__stdcall EgtAlignPartClusterOnCollision( int nId[], int nCount, BOOL bReducedCut, + double dXmin, double dYmin, double dXmax, double dYmax) +{ + // verifico + if ( nId == nullptr || nCount <= 0) + return FALSE ; + // riempio il vettore + INTVECTOR vIds ; + vIds.reserve( nCount) ; + for ( int i = 0 ; i < nCount ; ++ i) + vIds.push_back( nId[i]) ; + // eseguo + if ( ! ExeAlignPartClusterOnCollision( vIds, ( bReducedCut != FALSE), dXmin, dYmin, dXmax, dYmax)) + return FALSE ; + return TRUE ; +} + //----------------------------------------------------------------------------- BOOL __stdcall EgtGetPartClusterCenterGlob( int nId[], int nCount, double ptCen[3]) { // verifico if ( nId == nullptr || nCount <= 0 || ptCen == nullptr) - return false ; + return FALSE ; // riempio il vettore INTVECTOR vIds ; vIds.reserve( nCount) ;