EgtExecutor :

- aggiunte funzioni Exe e Lua ModifyCurveCompoCurveToArc e ModifyCurveCompoCurveToLine.
This commit is contained in:
Dario Sassi
2021-04-03 17:59:22 +00:00
parent db6134d221
commit 8d218b85b7
2 changed files with 93 additions and 0 deletions
+55
View File
@@ -1748,6 +1748,61 @@ ExeRemoveCurveCompoJoint( int nId, int nU)
return bOk ;
}
//-------------------------------------------------------------------------------
bool
ExeModifyCurveCompoCurveToArc( int nId, int nCrv, const Point3d& ptMid, 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 ptMidL = GetPointLocal( pGeomDB, ptMid, nRefType, frLoc) ;
// eseguo la modifica
bOk = bOk && pCompo-> ModifyCurveToArc( nCrv, ptMidL) ;
ExeSetModified() ;
// se richiesto, salvo il comando Lua equivalente
if ( IsCmdLog()) {
string sLua = "EgtModifyCurveCompoCurveToArc(" + ToString( nId) + "," +
ToString( nCrv) + ",{" +
ToString( ptMid) + "}," +
RefTypeToString( nRefType) + ")" +
" -- Ok=" + ToString( bOk) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
}
// restituisco il risultato
return bOk ;
}
//-------------------------------------------------------------------------------
bool
ExeModifyCurveCompoCurveToLine( int nId, int nCrv)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
bool bOk = true ;
// recupero la curva composita
ICurveComposite* pCompo = GetCurveComposite( pGeomDB->GetGeoObj( nId)) ;
bOk = bOk && ( pCompo != nullptr) ;
// eseguo la modifica
bOk = bOk && pCompo->ModifyCurveToLine( nCrv) ;
ExeSetModified() ;
// se richiesto, salvo il comando Lua equivalente
if ( IsCmdLog()) {
string sLua = "EgtModifyCurveCompoCurveToLine(" + ToString( nId) + "," +
ToString( nCrv) + ")" +
" -- Ok=" + ToString( bOk) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
}
// restituisco il risultato
return bOk ;
}
//-------------------------------------------------------------------------------
int
ExeExplodeCurveCompo( int nId, int* pnCount)