EgtGeomKernel :

- correzione alle ruled guided.
This commit is contained in:
Daniele Bariletti
2026-02-23 16:26:23 +01:00
parent 69916e7756
commit fafcd67a2c
+5 -1
View File
@@ -5988,7 +5988,9 @@ SurfBezier::CreateByIsoParamSet( const ICurve* pCurve0, const ICurve* pCurve1, c
double dFloor0 = floor( dNewStart0) ;
double dCeil1 = ceil( dNewStart1) ;
double dFloor1 = floor( dNewStart1) ;
vPnt0.pop_back() ;
rotate( vPnt0.begin(), vPnt0.begin() + int( dCeil0), vPnt0.end()) ;
vPnt1.pop_back() ;
rotate( vPnt1.begin(), vPnt1.begin() + int( dCeil1), vPnt1.end()) ;
if ( abs( dNewStart0 - round( dNewStart0)) > EPS_SMALL) {
Point3d ptNewStart ; CrvU0.GetStartPoint( ptNewStart) ;
@@ -6125,7 +6127,7 @@ SurfBezier::CreateByIsoParamSet( const ICurve* pCurve0, const ICurve* pCurve1, c
return false ;
}
// se ho una corrispondenza tra punti ( e non sono alla fine del tratto) allora non aggiungo split
if ( abs( vdParamPos0[c0] - vdParamPos1[c1]) < EPS_PARAM && vdParamPos0[c0] < 1) {
if ( abs( vdParamPos0[c0] - vdParamPos1[c1]) < EPS_SMALL && vdParamPos0[c0] < 1) {
++c0 ;
++c1 ;
++nLastParam0 ;
@@ -6140,6 +6142,7 @@ SurfBezier::CreateByIsoParamSet( const ICurve* pCurve0, const ICurve* pCurve1, c
nSplit1 = vdSplit1.size() ;
}
else if ( dPar = round( dPar) ; dPar > nLastParam1){
++ c1 ;
++ nLastParam1 ;
}
++nLastParam0 ;
@@ -6154,6 +6157,7 @@ SurfBezier::CreateByIsoParamSet( const ICurve* pCurve0, const ICurve* pCurve1, c
nSplit0 = vdSplit0.size() ;
}
else if ( dPar = round( dPar) ; dPar > nLastParam0){
++ c0 ;
++ nLastParam0 ;
}
++nLastParam1 ;