From baf67d3e9fd390d05ebf97e157cd172c379cce78 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 29 Aug 2016 07:34:34 +0000 Subject: [PATCH] =?UTF-8?q?EgtExecutor=201.6t4=20:=20-=20aggiunta=20ExeGet?= =?UTF-8?q?GlobFrame=20-=20migliorati=20controlli=20validit=C3=A0=20curve?= =?UTF-8?q?=20in=20GeoSnap=20-=20aggiunte=20a=20Lua=20EgtGetGlobFrame=20e?= =?UTF-8?q?=20EgtGetGroupGlobFrame.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXE_GdbObjects.cpp | 12 +++++++++++- EXE_GeoSnap.cpp | 16 ++++++---------- EgtExecutor.rc | Bin 11694 -> 11694 bytes LUA_GdbObjects.cpp | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 53 insertions(+), 11 deletions(-) diff --git a/EXE_GdbObjects.cpp b/EXE_GdbObjects.cpp index 881bf6c..9c79875 100644 --- a/EXE_GdbObjects.cpp +++ b/EXE_GdbObjects.cpp @@ -44,13 +44,23 @@ ExeGetParent( int nId) return pGeomDB->GetParentId( nId) ; } +//----------------------------------------------------------------------------- +bool +ExeGetGlobFrame( int nId, Frame3d& frGlob) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero il riferimento globale in cui è immerso l'oggetto + return pGeomDB->GetGlobFrame( nId, frGlob) ; +} + //----------------------------------------------------------------------------- bool ExeGetGroupGlobFrame( int nId, Frame3d& frGlob) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, false) - // recupero il riferimento globale del gruppo + // recupero il riferimento globale del gruppo (in cui sono immersi i suoi oggetti figli) return pGeomDB->GetGroupGlobFrame( nId, frGlob) ; } diff --git a/EXE_GeoSnap.cpp b/EXE_GeoSnap.cpp index 7103ad5..f8d428e 100644 --- a/EXE_GeoSnap.cpp +++ b/EXE_GeoSnap.cpp @@ -510,10 +510,8 @@ ExeCurveDomain( int nId, double* pdStart, double* pdEnd) return false ; // recupero la curva ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ; - if ( pCurve == nullptr) - return false ; // recupero il dominio - return pCurve->GetDomain( *pdStart, *pdEnd) ; + return ( pCurve != nullptr && pCurve->GetDomain( *pdStart, *pdEnd)) ; } //---------------------------------------------------------------------------- @@ -527,10 +525,8 @@ ExeCurveLength( int nId, double* pdLen) return false ; // recupero la curva ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ; - if ( pCurve == nullptr) - return false ; // recupero la lunghezza - return pCurve->GetLength( *pdLen) ; + return ( pCurve != nullptr && pCurve->GetLength( *pdLen)) ; } //---------------------------------------------------------------------------- @@ -586,7 +582,7 @@ ExeCurveIsClosed( int nId) // recupero la curva ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ; // verifico se chiusa - return pCurve->IsClosed() ; + return ( pCurve != nullptr && pCurve->IsClosed()) ; } //---------------------------------------------------------------------------- @@ -601,7 +597,7 @@ ExeCurveIsFlat( int nId, Plane3d& Plane) // recupero la curva ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ; // ne verifico la planarità - return pCurve->IsFlat( Plane) ; + return ( pCurve != nullptr && pCurve->IsFlat( Plane)) ; } //---------------------------------------------------------------------------- @@ -616,7 +612,7 @@ ExeCurveAreaXY( int nId, double& dArea) // recupero la curva ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ; // determino l'area nel piano XY - return pCurve->GetAreaXY( dArea) ; + return ( pCurve != nullptr && pCurve->GetAreaXY( dArea)) ; } //---------------------------------------------------------------------------- @@ -631,7 +627,7 @@ ExeCurveArea( int nId, Plane3d& Plane, double& dArea) // recupero la curva ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ; // determino il piano medio della curva e la sua area su di esso (deve essere chiusa) - return pCurve->GetArea( Plane, dArea) ; + return ( pCurve != nullptr && pCurve->GetArea( Plane, dArea)) ; } //---------------------------------------------------------------------------- diff --git a/EgtExecutor.rc b/EgtExecutor.rc index eb58aabd9dc64520a4ae85db5ce839dfc1c2cfbb..944ba9c3636856388e57c203c59148f1f43f6b9d 100644 GIT binary patch delta 97 zcmZ1%y)JsgA2vpl%@@V4Gflq2na5}{Ignd-a{*Tk3sCf++-0W82LxfF21;&>n->Y| cF@rU@0x76sKgP|Iq`|@mn->Y| cF@rU@0x76sKgP|Iq`|@m