EgtExecutor 2.4l3 :

- migliorie alla funzione SpiralizeCurveAlongGuide.
This commit is contained in:
SaraP
2022-12-28 14:19:33 +01:00
parent 2ba94e5dc1
commit 65cf39c56a
2 changed files with 15 additions and 0 deletions
+15
View File
@@ -486,6 +486,21 @@ ExeSpiralizeCurveAlongGuide( int nCrvId, int nGuideId, double dLinTol)
// porto la polyline della curva guida nel riferimento locale
bOk = bOk && PL2.LocToLoc( frGuide, frCrv) ;
// modifico PL2 per gestire eventuali punti di intersezione
PtrOwner<ICurveComposite> pCompoGuide( CreateCurveComposite()) ;
bOk = bOk && ( ! IsNull( pCompoGuide)) ;
bOk = bOk && pCompoGuide->FromPolyLine( PL2) ;
Point3d ptP1 ;
bool bFound = bOk && PL1.GetFirstPoint( ptP1) ;
while ( bOk && bFound) {
double dAddPar ;
if ( bOk && pCompoGuide->GetParamAtPoint( ptP1, dAddPar, 100 * EPS_SMALL))
bOk = bOk && pCompoGuide->AddJoint( dAddPar) ;
bFound = PL1.GetNextPoint( ptP1) ;
}
bOk = bOk && pCompoGuide->ApproxWithLines( dLinTol, ANG_TOL_STD_DEG, APP_SPECIAL_LINES, PL2) ;
// associo i punti a minima distanza delle polylines
PNTIVECTOR vPnt1, vPnt2 ;
bool bTmp ;
bOk = bOk && AssociatePolyLinesMinDistPoints( PL1, PL2, vPnt1, vPnt2, bTmp) ;
BIN
View File
Binary file not shown.