EgtGeomKernel :

- in Trimming semplificazione delle funzioni per le curve di sincronizzazione.
This commit is contained in:
Riccardo Elitropi
2026-01-21 18:27:28 +01:00
parent cdef3931be
commit a7b36280f3
+6 -4
View File
@@ -37,6 +37,7 @@
#include "/EgtDev/Include/EgtNumUtils.h"
#include <thread>
#include <future>
#include <numeric>
// -------------------------- Debug --------------------------------------------
#define DEBUG 0
@@ -3797,8 +3798,7 @@ GetTrimmingSurfBzSyncPoints( const ICurve* pCrvEdge1, const ICurve* pCrvEdge2,
// alla superficie nei pressi dei tratti lineari di sincronizzazione prioritari
ISurfBezier*
GetTrimmingRuledBezier( const CISURFPVECTOR& vSurf, const ICurve* pCrvEdge1,
const ICurve* pCrvEdge2, double dLinTol, const BIPNTVECTOR& vSyncPoints,
const INTVECTOR& vnShown, const INTVECTOR& vnEdited, const INTVECTOR& vnNew)
const ICurve* pCrvEdge2, double dLinTol, const BIPNTVECTOR& vSyncPoints)
{
// Verifica validità delle curve per la creazione della Bezier rigata
if ( pCrvEdge1 == nullptr || pCrvEdge2 == nullptr)
@@ -3854,7 +3854,9 @@ GetTrimmingRuledBezier( const CISURFPVECTOR& vSurf, const ICurve* pCrvEdge1,
SaveGeoObj( VT_Glob, VC_Glob, "C:\\Temp\\TestBz.nge") ;
#endif
// Definisco la superficie
pSurfBz.Set( GetSurfBezierRuledGuided( pCompoEdge1, pCompoEdge2, vSyncPoints, vnShown, vnEdited, vnNew, dMyLinTol)) ;
INTVECTOR vInd( ssize( vSyncPoints)) ; iota( vInd.begin(), vInd.end(), 0) ;
pSurfBz.Set( GetSurfBezierRuledGuided( pCompoEdge1, pCompoEdge2, vSyncPoints, vInd,
INTVECTOR{}, INTVECTOR{}, dMyLinTol)) ;
if ( IsNull( pSurfBz) || ! pSurfBz->IsValid()) {
LOG_ERROR( GetEGkLogger(), "Error in Trimming : Ruled Bezier with Sync Points invalid") ;
return nullptr ;
@@ -4260,7 +4262,7 @@ GetTrimmingAutoEntities( const CISURFPVECTOR& vSurf, double dShapeLinTol, double
if ( ! GetTrimmingBezierEdges( matCompoBordersTmp[i], dLinTol, dAngTol, matCompoBorders.back()))
return false ;
vSurfBz.emplace_back( GetTrimmingRuledBezier( vSurf, matCompoBorders.back()[0], matCompoBorders.back()[1],
dMyLinTol, BIPNTVECTOR{}, INTVECTOR{}, INTVECTOR{}, INTVECTOR{})) ;
dMyLinTol, BIPNTVECTOR{})) ;
}
return true ;