EgtGeomKernel :

- piccoli aggiustamenti.
This commit is contained in:
Dario Sassi
2026-02-09 12:48:38 +01:00
parent 5ad9c48285
commit 0987496caf
+8 -7
View File
@@ -286,7 +286,7 @@ GetPointSetByAngTol( const PolyLine& PL, double dAngTol, POLYLINEVECTOR& vPL)
// Funzione che approssima la curva di bordo per la costruzione della Bezier Ruled mediante
// Patches di curve di Bezier
static bool
ApproxBorder( ICurveComposite& CrvCompo, double dLinTol, double dAngTol)
ApproxBorder( CurveComposite& CrvCompo, double dLinTol, double dAngTol)
{
// Controllo dei parametri
if ( ! CrvCompo.IsValid())
@@ -1517,7 +1517,6 @@ GetBorderByExtrusion( const SurfTriMesh* pStm, double dThick, double dLinTol, do
double dU ;
bool bFound = PLLoop.GetFirstUPoint( &dU, &ptP) ;
double dPar = -1 ;
bool bFirst = true ;
while ( bFound) {
// Recupero il TriangoloEx associato al punto
Triangle3dEx Tria ;
@@ -3658,10 +3657,10 @@ GetTrimmingFinalBorders( CISURFPVECTOR& vpSurf, const SELVECTOR& vSurfFaces, dou
if ( IsNull( pCompoLoopExtr) || ! pCompoLoopExtr->FromPolyLine( PLLoopExtr))
continue ;
vCompoBezierEdges.emplace_back( Release( pCompoLoop)) ;
if ( ! ApproxBorder( *vCompoBezierEdges.back(), dMyLinTol, dMyAngTol))
if ( ! ApproxBorder( *GetBasicCurveComposite( vCompoBezierEdges.back()), dMyLinTol, dMyAngTol))
return false ;
vCompoBezierEdges.emplace_back( Release( pCompoLoopExtr)) ;
if ( ! ApproxBorder( *vCompoBezierEdges.back(), dMyLinTol, dMyAngTol))
if ( ! ApproxBorder( *GetBasicCurveComposite( vCompoBezierEdges.back()), dMyLinTol, dMyAngTol))
return false ;
}
@@ -3706,7 +3705,7 @@ GetTrimmingBezierEdges( ICRVCOMPOPOVECTOR& vCompoRawEdges, double dLinTol, doubl
for ( int i = 0 ; i < ssize( vCompoRawEdges) ; ++ i) {
PtrOwner<ICurveComposite> pCompoTmp( CloneCurveComposite( vCompoRawEdges[i])) ;
if ( IsNull( pCompoTmp) ||
! ApproxBorder( *pCompoTmp, dMyLinTol, dMyAngTol) ||
! ApproxBorder( *GetBasicCurveComposite( pCompoTmp), dMyLinTol, dMyAngTol) ||
! vBezierEdges.emplace_back( Release( pCompoTmp))) {
LOG_ERROR( GetEGkLogger(), "Error in Trimming : Approxing edge failed") ;
return false ;
@@ -4097,14 +4096,16 @@ GetTrimmingAdjSurfs( const CISURFPVECTOR& vSurf, const CISURFPVECTOR& vOtherSurf
SurfPatches& OtherSurfPatch = vSurfPatches[j] ;
// Recupero i Suoi Bordi e i Parametri associati
const SimpleBorderVector& vSimpleOtherBorder = OtherSurfPatch.vBorderPatches ;
const COMPOVECTOR& vCompoBorders = OtherSurfPatch.vCompoBorders ;
#if DEBUG_SURF_PATCHES
const COMPOVECTOR& vCompoBorders = OtherSurfPatch.vCompoBorders ;
#endif
// Scorro i suoi bordi
for ( int nOtherBorder = 0 ; nOtherBorder < ssize( vSimpleOtherBorder) ; ++ nOtherBorder) {
// Recupero le Patch associate
const SimpleBorder& vPatchOtherBorder = vSimpleOtherBorder[nOtherBorder] ;
// Recupero la Composita associata al Bordo
const CurveComposite& OtherCompoBorder = vCompoBorders[nOtherBorder] ;
#if DEBUG_SURF_PATCHES
const CurveComposite& OtherCompoBorder = vCompoBorders[nOtherBorder] ;
VT.emplace_back( OtherCompoBorder.Clone()) ;
VC.emplace_back( BLACK) ;
#endif