EgtExecutor 1.6p1 :

- piccole migliorie ed aggiustamenti.
This commit is contained in:
Dario Sassi
2016-04-13 06:33:55 +00:00
parent bb5feba6c4
commit 4ec6568db1
11 changed files with 199 additions and 52 deletions
+27 -3
View File
@@ -563,7 +563,7 @@ MyTrimCurveWithRegion( int nCrvId, int nRegId, bool bInVsOut, bool bOn, int& nCo
return GDB_ID_NULL ;
// calcolo la classificazione della curva rispetto alla regione
CRVCVECTOR ccClass ;
if ( ! pSFR->GetCurveClassification( *CrvLoc.Get(), ccClass))
if ( ! pSFR->GetCurveClassification( *CrvLoc, ccClass))
return GDB_ID_NULL ;
// determino gli intervalli di curva da conservare
Intervals inOk ;
@@ -571,7 +571,7 @@ MyTrimCurveWithRegion( int nCrvId, int nRegId, bool bInVsOut, bool bOn, int& nCo
if ( ( bInVsOut && ccOne.nClass == CRVC_IN) ||
( ! bInVsOut && ccOne.nClass == CRVC_OUT) ||
( bOn && ( ccOne.nClass == CRVC_ON_P || ccOne.nClass == CRVC_ON_M)))
inOk.Add( ccOne.dParE, ccOne.dParS) ;
inOk.Add( ccOne.dParS, ccOne.dParE) ;
}
// recupero un intervallo di id contigui per tutte le parti
int nFirstId = pGeomDB->GetNewId() ;
@@ -1333,7 +1333,31 @@ ExeMergeCurvesInCurveCompo( int nId, double dLinTol)
ExeSetModified() ;
// se richiesto, salvo il comando Lua equivalente
if ( IsCmdLog()) {
string sLua = "EgtMergeCurvesInCurveCompo(" + ToString( nId) + ")" +
string sLua = "EgtMergeCurvesInCurveCompo(" + ToString( nId) + "," +
ToString( dLinTol) + ")" +
" -- Ok=" + ToString( bOk) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
}
return bOk ;
}
//-------------------------------------------------------------------------------
bool
ExeRemoveCurveCompoUndercutOnY( int nId, double dLinTol)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
// recupero la curva composita
ICurveComposite* pCompo = GetCurveComposite( pGeomDB->GetGeoObj( nId)) ;
bool bOk = ( pCompo != nullptr) ;
// lancio l'eliminazione delle parti sotto rispetto alla direzione Y+
const double ANG_TOL_STD_DEG = 15 ;
bOk = bOk && pCompo->RemoveUndercutOnY( dLinTol, ANG_TOL_STD_DEG) ;
ExeSetModified() ;
// se richiesto, salvo il comando Lua equivalente
if ( IsCmdLog()) {
string sLua = "EgtRemoveCurveCompoUndercutOnY(" + ToString( nId) + "," +
ToString( dLinTol) + ")" +
" -- Ok=" + ToString( bOk) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
}