EgtInterface 1.5l2 :

- migliorie e modifiche in generale, specie su Lua.
This commit is contained in:
Dario Sassi
2014-12-30 17:36:43 +00:00
parent 517a36a009
commit bebcf1ecfe
23 changed files with 1528 additions and 402 deletions
+43 -7
View File
@@ -31,7 +31,8 @@ LuaCreateGroup( lua_State* L)
int nParentId ;
LuaCheckParam( L, 1, nParentId)
Frame3d frFrame ;
LuaGetParam( L, 2, frFrame) ;
if ( lua_gettop( L) >= 2)
LuaCheckParam( L, 2, frFrame) ;
LuaClearStack( L) ;
// creo il gruppo
int nId = EgtCreateGroup( nParentId, frFrame.Orig().v,
@@ -74,9 +75,11 @@ LuaCreateGeoVector( lua_State* L)
Vector3d vtV ;
LuaCheckParam( L, 2, vtV)
Point3d ptB ;
LuaGetParam( L, 3, ptB) ;
if ( lua_gettop( L) >= 3)
LuaCheckParam( L, 3, ptB) ;
double dScale = 1 ;
LuaGetParam( L, 4, dScale) ;
if ( lua_gettop( L) >= 4)
LuaCheckParam( L, 4, dScale) ;
LuaClearStack( L) ;
// creo il segmento di retta
vtV *= dScale ;
@@ -144,7 +147,8 @@ LuaCreateCurveLineMinPointCurve( lua_State* L)
int nCrvId ;
LuaCheckParam( L, 3, nCrvId)
double dNearPar = 0 ;
LuaGetParam( L, 4, dNearPar) ;
if ( lua_gettop( L) >= 4)
LuaCheckParam( L, 4, dNearPar) ;
LuaClearStack( L) ;
// creo il segmento di retta
int nId = EgtCreateCurveLineMinPointCurve( nParentId, ptIni.v, nCrvId, dNearPar) ;
@@ -368,7 +372,8 @@ LuaCreateCurveBezierFromArc( lua_State* L)
int nArcId ;
LuaCheckParam( L, 2, nArcId)
bool bErase = true ;
LuaGetParam( L, 3, bErase) ;
if ( lua_gettop( L) >= 3)
LuaCheckParam( L, 3, bErase) ;
LuaClearStack( L) ;
// creo la curva
int nId = EgtCreateCurveBezierFromArc( nParentId, nArcId, bErase) ;
@@ -390,7 +395,8 @@ LuaCreateCurveCompo( lua_State* L)
INTVECTOR vIds ;
LuaCheckParam( L, 2, vIds)
bool bErase = true ;
LuaGetParam( L, 3, bErase) ;
if ( lua_gettop( L) >= 3)
LuaCheckParam( L, 3, bErase) ;
LuaClearStack( L) ;
// creo la curva composita
int nId = EgtCreateCurveCompo( nParentId, vIds, ( bErase ? TRUE : FALSE)) ;
@@ -448,6 +454,34 @@ LuaCreateCurveCompoFromPointBulges( lua_State* L)
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaCreateCurveCompoFromCurveApprox( lua_State* L)
{
// 4 parametri : ParentId, nSouId, sType, dLinTol
int nParentId ;
LuaCheckParam( L, 1, nParentId)
int nSouId ;
LuaCheckParam( L, 2, nSouId)
bool bArcsVsLines = true ;
string sTemp ;
LuaCheckParam( L, 3, sTemp)
ToUpper( sTemp) ;
if ( sTemp == "LINES")
bArcsVsLines = false ;
double dLinTol ;
LuaCheckParam( L, 4, dLinTol)
LuaClearStack( L) ;
// creo la curva composita
int nId = EgtCreateCurveCompoFromCurveApprox( nParentId, nSouId, bArcsVsLines, dLinTol) ;
// restituisco il risultato
if ( nId != GDB_ID_NULL)
LuaSetReturn( L, nId) ;
else
LuaSetReturn( L) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaCreateCurveCompoFromPolygonSide( lua_State* L)
@@ -482,7 +516,8 @@ LuaCreateSurfTriMeshByContour( lua_State* L)
int nCrvId ;
LuaCheckParam( L, 2, nCrvId)
double dLinTol = 0.1 ;
LuaGetParam( L, 3, dLinTol) ;
if ( lua_gettop( L) >= 3)
LuaCheckParam( L, 3, dLinTol) ;
LuaClearStack( L) ;
// creo STM riempiendo un contorno piano
int nId = EgtCreateSurfTriMeshByContour( nParentId, nCrvId, dLinTol) ;
@@ -604,6 +639,7 @@ LuaInstallGdbCreate( lua_State* L)
lua_register( L, "EgtCurveCompo", LuaCreateCurveCompo) ;
lua_register( L, "EgtCurveCompoFromPoints", LuaCreateCurveCompoFromPoints) ;
lua_register( L, "EgtCurveCompoFromPointBulges", LuaCreateCurveCompoFromPointBulges) ;
lua_register( L, "EgtCurveCompoFromCurveApprox", LuaCreateCurveCompoFromCurveApprox) ;
lua_register( L, "EgtCurveCompoFromPolygonSide", LuaCreateCurveCompoFromPolygonSide) ;
lua_register( L, "EgtSurfTmByContour", LuaCreateSurfTriMeshByContour) ;
lua_register( L, "EgtText", LuaCreateText) ;