//---------------------------------------------------------------------------- // EgalTech 2015-2015 //---------------------------------------------------------------------------- // File : API_Nesting.cpp Data : 31.07.15 Versione : 1.6g9 // Contenuto : Funzioni nesting per API. // // // // Modifiche : 31.07.15 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "API.h" #include "/EgtDev/Include/EInAPI.h" #include "/EgtDev/Include/EXeExecutor.h" using namespace std ; //----------------------------------------------------------------------------- BOOL __stdcall EgtCreateFlatParts( int nType) { return ( ExeCreateFlatParts( nType) ? TRUE : FALSE) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtPackPart( int nId, double dXmin, double dYmin, double dXmax, double dYmax, double dOffs, BOOL bBottomUp) { return ( ExePackPart( nId, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp != FALSE) ? TRUE : FALSE) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtPackCluster( int nId[], int nCount, double dXmin, double dYmin, double dXmax, double dYmax, double dOffs, BOOL bBottomUp) { // 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 return ( ExePackCluster( vIds, dXmin, dYmin, dXmax, dYmax, dOffs, bBottomUp != FALSE) ? TRUE : FALSE) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtGetClusterBBoxGlob( int nId[], int nCount, double ptMin[3], double ptMax[3]) { // 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]) ; // recupero il bounding box dell'oggetto in globale BBox3d b3Box ; if ( ! ExeGetClusterBBoxGlob( vIds, b3Box)) return FALSE ; // converto il risultato ptMin[0] = b3Box.GetMin().x ; ptMin[1] = b3Box.GetMin().y ; ptMin[2] = b3Box.GetMin().z ; ptMax[0] = b3Box.GetMax().x ; ptMax[1] = b3Box.GetMax().y ; ptMax[2] = b3Box.GetMax().z ; return TRUE ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtMoveCluster( int nId[], int nCount, const double vtMove[3], double dXmin, double dYmin, double dXmax, double dYmax, double dOffs) { // 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 return ( ExeMoveCluster( vIds, vtMove, dXmin, dYmin, dXmax, dYmax, dOffs) ? TRUE : FALSE) ; }