EgtGeomKernel :
- correzione alla bezier ruled.
This commit is contained in:
+8
-2
@@ -4767,6 +4767,8 @@ SurfBezier::CreateByTwoCurves( const ICurve* pCurve0, const ICurve* pCurve1, int
|
||||
// in quel punto la curva verrà spezzata, a meno che non si trovi una joint già sufficientemente vicina
|
||||
|
||||
// prima trovo le associazioni senza aggiunte di punti
|
||||
bool bIsClosed0 = plU0.IsClosed() ;
|
||||
bool bIsClosed1 = plU1.IsClosed() ;
|
||||
Point3d ptP1 ; plU1.GetFirstPoint( ptP1) ;
|
||||
vector<pair<Point3d,double>> vMatch1 ;
|
||||
while ( plU1.GetNextPoint( ptP1, true)) {
|
||||
@@ -4796,8 +4798,10 @@ SurfBezier::CreateByTwoCurves( const ICurve* pCurve0, const ICurve* pCurve1, int
|
||||
int nFlag = 0 ;
|
||||
double dParam ; dpc.GetParamAtMinDistPoint( 0, dParam, nFlag) ;
|
||||
Point3d ptJoint ; dpc.GetMinDistPoint( 0, ptJoint, nFlag) ;
|
||||
if( bIsClosed1 && dParam > nSpanU1 - EPS_SMALL)
|
||||
dParam = 0 ;
|
||||
vdMatch0.push_back( dParam) ;
|
||||
if ( dParam < EPS_SMALL ) {
|
||||
if ( dParam < EPS_SMALL) {
|
||||
++nAtStart1 ;
|
||||
vbRep0[c] = true ;
|
||||
++c ;
|
||||
@@ -4870,7 +4874,9 @@ SurfBezier::CreateByTwoCurves( const ICurve* pCurve0, const ICurve* pCurve1, int
|
||||
int nFlag = 0 ;
|
||||
double dParam ; dpc.GetParamAtMinDistPoint( 0, dParam, nFlag) ;
|
||||
Point3d ptJoint ; dpc.GetMinDistPoint( 0, ptJoint, nFlag) ;
|
||||
if ( dParam < EPS_SMALL ) {
|
||||
if ( bIsClosed0 && dParam > nSpanU0 - EPS_SMALL)
|
||||
dParam = 0 ;
|
||||
if ( dParam < EPS_SMALL) {
|
||||
++nAtStart0 ;
|
||||
vbRep1[c] = true ;
|
||||
++c ;
|
||||
|
||||
Reference in New Issue
Block a user