//---------------------------------------------------------------------------- // EgalTech 2014-2014 //---------------------------------------------------------------------------- // File : LUA_CurveModif.cpp Data : 03.10.14 Versione : 1.5i5 // Contenuto : Funzioni di modifica delle curve per LUA. // // // // Modifiche : 03.10.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "LUA.h" #include "API.h" #include "/EgtDev/Include/EInAPI.h" #include "/EgtDev/Extern/Lua/Include/lua.hpp" using namespace std ; //---------------------------------------------------------------------------- static int LuaInvertCurve( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // inverto la curva bool bOk = ( EgtInvertCurve( LuaGetGseContext(), nId) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaModifyCurveStartPoint( lua_State* L) { // 2 parametri : Id, NewStart int nId ; LuaCheckParam( L, 1, nId) Point3d ptStart ; LuaCheckParam( L, 2, ptStart) LuaClearStack( L) ; // modifico il punto iniziale bool bOk = ( EgtModifyCurveStartPoint( LuaGetGseContext(), nId, ptStart.v) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaModifyCurveEndPoint( lua_State* L) { // 2 parametri : Id, NewEnd int nId ; LuaCheckParam( L, 1, nId) Point3d ptEnd ; LuaCheckParam( L, 2, ptEnd) LuaClearStack( L) ; // modifico il punto finale bool bOk = ( EgtModifyCurveEndPoint( LuaGetGseContext(), nId, ptEnd.v) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaModifyCurveExtrusion( lua_State* L) { // 2 parametri : Id, vtExtr int nId ; LuaCheckParam( L, 1, nId) Vector3d vtExtr ; LuaCheckParam( L, 2, vtExtr) LuaClearStack( L) ; // modifico il vettore estrusione bool bOk = ( EgtModifyCurveExtrusion( LuaGetGseContext(), nId, vtExtr.v) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaModifyCurveThickness( lua_State* L) { // 2 parametri : Id, Thick int nId ; LuaCheckParam( L, 1, nId) double dThick ; LuaCheckParam( L, 2, dThick) LuaClearStack( L) ; // modifico il vettore estrusione bool bOk = ( EgtModifyCurveThickness( LuaGetGseContext(), nId, dThick) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaTrimCurveStartAtLen( lua_State* L) { // 2 parametri : Id, dLen int nId ; LuaCheckParam( L, 1, nId) double dLen ; LuaCheckParam( L, 2, dLen) LuaClearStack( L) ; // taglio la curva all'inizio bool bOk = ( EgtTrimCurveStartAtLen( LuaGetGseContext(), nId, dLen) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaTrimCurveEndAtLen( lua_State* L) { // 2 parametri : Id, dLen int nId ; LuaCheckParam( L, 1, nId) double dLen ; LuaCheckParam( L, 2, dLen) LuaClearStack( L) ; // taglio la curva alla fine bool bOk = ( EgtTrimCurveEndAtLen( LuaGetGseContext(), nId, dLen) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaTrimCurveStartAtParam( lua_State* L) { // 2 parametri : Id, dPar int nId ; LuaCheckParam( L, 1, nId) double dPar ; LuaCheckParam( L, 2, dPar) LuaClearStack( L) ; // taglio la curva all' inizio bool bOk = ( EgtTrimCurveStartAtParam( LuaGetGseContext(), nId, dPar) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaTrimCurveEndAtParam( lua_State* L) { // 2 parametri : Id, dPar int nId ; LuaCheckParam( L, 1, nId) double dPar ; LuaCheckParam( L, 2, dPar) LuaClearStack( L) ; // taglio la curva alla fine bool bOk = ( EgtTrimCurveEndAtParam( LuaGetGseContext(), nId, dPar) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //---------------------------------------------------------------------------- static int LuaTrimCurveStartEndAtParam( lua_State* L) { // 3 parametri : Id, dParS, dParE int nId ; LuaCheckParam( L, 1, nId) double dParS ; LuaCheckParam( L, 2, dParS) double dParE ; LuaCheckParam( L, 3, dParE) LuaClearStack( L) ; // taglio la curva alla fine bool bOk = ( EgtTrimCurveStartEndAtParam( LuaGetGseContext(), nId, dParS, dParE) ? true : false) ; LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- bool LuaInstallCurveModif( lua_State* L) { try { lua_register( L, "EgtInvertCurve", LuaInvertCurve) ; lua_register( L, "EgtModifyCurveStartPoint", LuaModifyCurveStartPoint) ; lua_register( L, "EgtModifyCurveEndPoint", LuaModifyCurveEndPoint) ; lua_register( L, "EgtModifyCurveExtrusion", LuaModifyCurveExtrusion) ; lua_register( L, "EgtModifyCurveThickness", LuaModifyCurveThickness) ; lua_register( L, "EgtTrimCurveStartAtLen", LuaTrimCurveStartAtLen) ; lua_register( L, "EgtTrimCurveEndAtLen", LuaTrimCurveEndAtLen) ; lua_register( L, "EgtTrimCurveStartAtParam", LuaTrimCurveStartAtParam) ; lua_register( L, "EgtTrimCurveEndAtParam", LuaTrimCurveEndAtParam) ; lua_register( L, "EgtTrimCurveStartEndAtParam", LuaTrimCurveStartEndAtParam) ; } catch ( ...) { return false ; } return true ; }