EgtExecutor 1.6t4 :
- aggiunta ExeGetGlobFrame - migliorati controlli validità curve in GeoSnap - aggiunte a Lua EgtGetGlobFrame e EgtGetGroupGlobFrame.
This commit is contained in:
+11
-1
@@ -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) ;
|
||||
}
|
||||
|
||||
|
||||
+6
-10
@@ -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)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
Binary file not shown.
@@ -68,6 +68,40 @@ LuaGetType( lua_State* L)
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaGetGlobFrame( lua_State* L)
|
||||
{
|
||||
// 1 parametro : Id
|
||||
int nId = GDB_ID_NULL ;
|
||||
LuaGetParam( L, 1, nId) ;
|
||||
LuaClearStack( L) ;
|
||||
// recupero il frame
|
||||
Frame3d frFrame ;
|
||||
if ( ExeGetGlobFrame( nId, frFrame))
|
||||
LuaSetParam( L, frFrame) ;
|
||||
else
|
||||
LuaSetParam( L) ;
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaGetGroupGlobFrame( lua_State* L)
|
||||
{
|
||||
// 1 parametro : Id
|
||||
int nId = GDB_ID_NULL ;
|
||||
LuaGetParam( L, 1, nId) ;
|
||||
LuaClearStack( L) ;
|
||||
// recupero il frame
|
||||
Frame3d frFrame ;
|
||||
if ( ExeGetGroupGlobFrame( nId, frFrame))
|
||||
LuaSetParam( L, frFrame) ;
|
||||
else
|
||||
LuaSetParam( L) ;
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaGetGroupObjs( lua_State* L)
|
||||
@@ -525,6 +559,8 @@ LuaInstallGdbObjects( LuaMgr& luaMgr)
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtExistsObj", LuaExistsObj) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetParent", LuaGetParent) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetType", LuaGetType) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetGlobFrame", LuaGetGlobFrame) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetGroupGlobFrame", LuaGetGroupGlobFrame) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetGroupObjs", LuaGetGroupObjs) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetFirstInGroup", LuaGetFirstInGroup) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtGetNext", LuaGetNext) ;
|
||||
|
||||
Reference in New Issue
Block a user