EgtExecutor :

- in ExeAddCurveCompoLineTg ora si usa ilnuovo metodo di CurveComposite AddLineTg.
This commit is contained in:
DarioS
2022-03-24 10:51:47 +01:00
parent fe5490fee2
commit 97747d21ff
2 changed files with 67 additions and 83 deletions
+36 -52
View File
@@ -1541,47 +1541,6 @@ ExeAddCurveCompoCurve( int nId, int nAddCrvId, bool bEraseOrig, bool bEndVsStart
return bOk ;
}
//-------------------------------------------------------------------------------
bool
ExeAddCurveCompoLineTg( int nId, double dLen, bool bEndVsStart)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
bool bOk = true ;
// recupero la curva composita
ICurveComposite* pCompo = GetCurveComposite( pGeomDB->GetGeoObj( nId)) ;
bOk = bOk && ( pCompo != nullptr) ;
// calcolo punto di allungo
Point3d ptNew ;
if ( bEndVsStart) {
Point3d ptEnd ;
Vector3d vtEnd ;
bOk = bOk && pCompo->GetEndPoint( ptEnd) && pCompo->GetEndDir( vtEnd) ;
if ( bOk)
ptNew = ptEnd + vtEnd * dLen ;
}
else {
Point3d ptStart ;
Vector3d vtStart ;
bOk = bOk && pCompo->GetStartPoint( ptStart) && pCompo->GetStartDir( vtStart) ;
if ( bOk)
ptNew = ptStart - vtStart * dLen ;
}
// eseguo la modifica
bOk = bOk && pCompo->AddLine( ptNew, bEndVsStart) ;
ExeSetModified() ;
// se richiesto, salvo il comando Lua equivalente
if ( IsCmdLog()) {
string sLua = "EgtAddCurveCompoLineTg(" + ToString( nId) + ",{" +
ToString( dLen) + "}," +
( bEndVsStart ? "true" : "false") + ")" +
" -- Ok=" + ToString( bOk) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
}
// restituisco il risultato
return bOk ;
}
//-------------------------------------------------------------------------------
bool
ExeAddCurveCompoLine( int nId, const Point3d& ptP, bool bEndVsStart, int nRefType)
@@ -1615,7 +1574,7 @@ ExeAddCurveCompoLine( int nId, const Point3d& ptP, bool bEndVsStart, int nRefTyp
//-------------------------------------------------------------------------------
bool
ExeAddCurveCompoArcTg( int nId, const Point3d& ptP, bool bEndVsStart, int nRefType)
ExeAddCurveCompoLineTg( int nId, double dLen, bool bEndVsStart)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
@@ -1623,20 +1582,14 @@ ExeAddCurveCompoArcTg( int nId, const Point3d& ptP, bool bEndVsStart, int nRefTy
// recupero la curva composita
ICurveComposite* pCompo = GetCurveComposite( pGeomDB->GetGeoObj( nId)) ;
bOk = bOk && ( pCompo != nullptr) ;
// recupero il riferimento locale
Frame3d frLoc ;
bOk = bOk && pGeomDB->GetGlobFrame( nId, frLoc) ;
// porto in locale il nuovo punto
Point3d ptPL = GetPointLocal( pGeomDB, ptP, nRefType, frLoc) ;
// eseguo la modifica
bOk = bOk && pCompo->AddArcTg( ptPL, bEndVsStart) ;
bOk = bOk && pCompo->AddLineTg( dLen, bEndVsStart) ;
ExeSetModified() ;
// se richiesto, salvo il comando Lua equivalente
if ( IsCmdLog()) {
string sLua = "EgtAddCurveCompoArcTg(" + ToString( nId) + ",{" +
ToString( ptP) + "}," +
( bEndVsStart ? "true" : "false") + "," +
RefTypeToString( nRefType) + ")" +
string sLua = "EgtAddCurveCompoLineTg(" + ToString( nId) + ",{" +
ToString( dLen) + "}," +
( bEndVsStart ? "true" : "false") + ")" +
" -- Ok=" + ToString( bOk) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
}
@@ -1677,6 +1630,37 @@ ExeAddCurveCompoArc2P( int nId, const Point3d& ptMid, const Point3d& ptP, bool b
return bOk ;
}
//-------------------------------------------------------------------------------
bool
ExeAddCurveCompoArcTg( int nId, const Point3d& ptP, bool bEndVsStart, int nRefType)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
bool bOk = true ;
// recupero la curva composita
ICurveComposite* pCompo = GetCurveComposite( pGeomDB->GetGeoObj( nId)) ;
bOk = bOk && ( pCompo != nullptr) ;
// recupero il riferimento locale
Frame3d frLoc ;
bOk = bOk && pGeomDB->GetGlobFrame( nId, frLoc) ;
// porto in locale il nuovo punto
Point3d ptPL = GetPointLocal( pGeomDB, ptP, nRefType, frLoc) ;
// eseguo la modifica
bOk = bOk && pCompo->AddArcTg( ptPL, bEndVsStart) ;
ExeSetModified() ;
// se richiesto, salvo il comando Lua equivalente
if ( IsCmdLog()) {
string sLua = "EgtAddCurveCompoArcTg(" + ToString( nId) + ",{" +
ToString( ptP) + "}," +
( bEndVsStart ? "true" : "false") + "," +
RefTypeToString( nRefType) + ")" +
" -- Ok=" + ToString( bOk) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
}
// restituisco il risultato
return bOk ;
}
//-------------------------------------------------------------------------------
bool
ExeRemoveCurveCompoCurve( int nId, bool bLast)
+31 -31
View File
@@ -590,24 +590,6 @@ LuaAddCurveCompoCurve( lua_State* L)
return 1 ;
}
//----------------------------------------------------------------------------
static int
LuaAddCurveCompoLineTg( lua_State* L)
{
// 2 o 3 parametri : Id, dLen [, bEndVsStart]
int nId ;
LuaCheckParam( L, 1, nId)
double dLen ;
LuaCheckParam( L, 2, dLen)
bool bEndVsStart = true ;
LuaGetParam( L, 3, bEndVsStart) ;
LuaClearStack( L) ;
// aggiungo una linea in coda alla curva composita
bool bOk = ExeAddCurveCompoLineTg( nId, dLen, bEndVsStart) ;
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
static int
LuaAddCurveCompoLine( lua_State* L)
@@ -632,22 +614,18 @@ LuaAddCurveCompoLine( lua_State* L)
//----------------------------------------------------------------------------
static int
LuaAddCurveCompoArcTg( lua_State* L)
LuaAddCurveCompoLineTg( lua_State* L)
{
// 2, 3 o 4 parametri : Id, ptNew [, bEndVsStart] [, nRefType]
// 2 o 3 parametri : Id, dLen [, bEndVsStart]
int nId ;
LuaCheckParam( L, 1, nId)
Point3d ptNew ;
LuaCheckParam( L, 2, ptNew)
double dLen ;
LuaCheckParam( L, 2, dLen)
bool bEndVsStart = true ;
int nRefType = RTY_DEFAULT ;
if ( LuaGetParam( L, 3, bEndVsStart))
LuaGetParam( L, 4, nRefType) ;
else
LuaGetParam( L, 3, nRefType) ;
LuaGetParam( L, 3, bEndVsStart) ;
LuaClearStack( L) ;
// aggiungo un arco tangente in coda alla curva composita
bool bOk = ExeAddCurveCompoArcTg( nId, ptNew, bEndVsStart, nRefType) ;
// aggiungo una linea in coda alla curva composita
bool bOk = ExeAddCurveCompoLineTg( nId, dLen, bEndVsStart) ;
LuaSetParam( L, bOk) ;
return 1 ;
}
@@ -676,6 +654,28 @@ LuaAddCurveCompoArc2P( lua_State* L)
return 1 ;
}
//----------------------------------------------------------------------------
static int
LuaAddCurveCompoArcTg( lua_State* L)
{
// 2, 3 o 4 parametri : Id, ptNew [, bEndVsStart] [, nRefType]
int nId ;
LuaCheckParam( L, 1, nId)
Point3d ptNew ;
LuaCheckParam( L, 2, ptNew)
bool bEndVsStart = true ;
int nRefType = RTY_DEFAULT ;
if ( LuaGetParam( L, 3, bEndVsStart))
LuaGetParam( L, 4, nRefType) ;
else
LuaGetParam( L, 3, nRefType) ;
LuaClearStack( L) ;
// aggiungo un arco tangente in coda alla curva composita
bool bOk = ExeAddCurveCompoArcTg( nId, ptNew, bEndVsStart, nRefType) ;
LuaSetParam( L, bOk) ;
return 1 ;
}
//----------------------------------------------------------------------------
static int
LuaRemoveCurveCompoCurve( lua_State* L)
@@ -927,10 +927,10 @@ LuaInstallGdbModifyCurve( LuaMgr& luaMgr)
bOk = bOk && luaMgr.RegisterFunction( "EgtModifyArcByFlip", LuaModifyArcByFlip) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtCloseCurveCompo", LuaCloseCurveCompo) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAddCurveCompoCurve", LuaAddCurveCompoCurve) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAddCurveCompoLineTg", LuaAddCurveCompoLineTg) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAddCurveCompoLine", LuaAddCurveCompoLine) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAddCurveCompoArcTg", LuaAddCurveCompoArcTg) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAddCurveCompoLineTg", LuaAddCurveCompoLineTg) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAddCurveCompoArc2P", LuaAddCurveCompoArc2P) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAddCurveCompoArcTg", LuaAddCurveCompoArcTg) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtRemoveCurveCompoCurve", LuaRemoveCurveCompoCurve) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtAddCurveCompoJoint", LuaAddCurveCompoJoint) ;
bOk = bOk && luaMgr.RegisterFunction( "EgtModifyCurveCompoJoint", LuaModifyCurveCompoJoint) ;