EgtExecutor :

- aggiunti argomenti alla funzione GetSurfBezierRuledGuided.
This commit is contained in:
Daniele Bariletti
2026-01-15 11:52:39 +01:00
parent 5a8d472ddf
commit 2aa7669c7b
2 changed files with 27 additions and 4 deletions
+11 -2
View File
@@ -2770,7 +2770,8 @@ ExeCreateSurfBzRuled( int nParentId, int nCrvId1, int nCrvId2, int nRuledType, b
//-------------------------------------------------------------------------------
int
ExeCreateSurfBzRuledGuided( int nParentId, int nCrvId1, int nCrvId2, int nLayGuides, bool bCapEnds, double dLinTol)
ExeCreateSurfBzRuledGuided( int nParentId, int nCrvId1, int nCrvId2, int nLayGuides, int nLayNewGuides,
const INTVECTOR& vShown, const INTINTVECTOR& vNewOrEdited, bool bCapEnds, double dLinTol)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
@@ -2792,9 +2793,17 @@ ExeCreateSurfBzRuledGuided( int nParentId, int nCrvId1, int nCrvId2, int nLayGui
vCrv.emplace_back( CrvLocGuide.Get()->Clone()) ;
nId = pGeomDB->GetNext( nId) ;
}
ICURVEPOVECTOR vNewCrv ;
nId = pGeomDB->GetFirstInGroup( nLayNewGuides) ;
while( nId != GDB_ID_NULL && bOk) {
CurveLocal CrvLocGuide( pGeomDB, nId, frLoc) ;
bOk = bOk && ( CrvLocGuide.Get() != nullptr) ;
vNewCrv.emplace_back( CrvLocGuide.Get()->Clone()) ;
nId = pGeomDB->GetNext( nId) ;
}
// calcolo la superficie
PtrOwner<ISurfBezier> pSbz( bOk ? GetSurfBezierRuledGuided( CrvLoc1, CrvLoc2, vCrv, dLinTol) : nullptr) ;
PtrOwner<ISurfBezier> pSbz( bOk ? GetSurfBezierRuledGuided( CrvLoc1, CrvLoc2, vCrv, vNewCrv, vShown, vNewOrEdited, dLinTol) : nullptr) ;
bOk = bOk && ! IsNull( pSbz) ;
// verifiche per orientamento se con tappi
bool bWithCaps = false ;