EgtExecutor 1.6f1 :
- corretto errore in trim/extend di curve chiuse - aggiunta ExeCurveDomain - aggiunta ExeCurveNearestExtremityToPoint - modificata ExeGetMinDistPointCurve (aggiunto un parametro).
This commit is contained in:
+20
-3
@@ -452,9 +452,9 @@ ExeTrimExtendCurveByLen( int nId, double dLen, const Point3d& ptNear, int nRefTy
|
||||
// porto in locale il punto
|
||||
Point3d ptNearL = GetPointLocal( pGeomDB, ptNear, nRefType, frLoc) ;
|
||||
// cerco l'estremo più vicino al punto passato
|
||||
Point3d ptStart, ptEnd ;
|
||||
if ( bOk && pCurve->GetStartPoint( ptStart) && pCurve->GetEndPoint( ptEnd)) {
|
||||
if ( SqDist( ptStart, ptNearL) < SqDist( ptEnd, ptNearL)) {
|
||||
bool bStart ;
|
||||
if ( bOk && pCurve->GetNearestExtremityToPoint( ptNearL, bStart)) {
|
||||
if ( bStart) {
|
||||
if ( dLen < - EPS_SMALL)
|
||||
bOk = pCurve->TrimStartAtLen( - dLen) ;
|
||||
else if ( dLen > EPS_SMALL)
|
||||
@@ -469,6 +469,23 @@ ExeTrimExtendCurveByLen( int nId, double dLen, const Point3d& ptNear, int nRefTy
|
||||
bOk = pCurve->ExtendEndByLen( dLen) ;
|
||||
}
|
||||
}
|
||||
//Point3d ptStart, ptEnd ;
|
||||
//if ( bOk && pCurve->GetStartPoint( ptStart) && pCurve->GetEndPoint( ptEnd)) {
|
||||
// if ( SqDist( ptStart, ptNearL) < SqDist( ptEnd, ptNearL)) {
|
||||
// if ( dLen < - EPS_SMALL)
|
||||
// bOk = pCurve->TrimStartAtLen( - dLen) ;
|
||||
// else if ( dLen > EPS_SMALL)
|
||||
// bOk = pCurve->ExtendStartByLen( dLen) ;
|
||||
// }
|
||||
// else {
|
||||
// if ( dLen < - EPS_SMALL) {
|
||||
// double dCrvLen ;
|
||||
// bOk = pCurve->GetLength( dCrvLen) && pCurve->TrimEndAtLen( dCrvLen + dLen) ;
|
||||
// }
|
||||
// else if ( dLen > EPS_SMALL)
|
||||
// bOk = pCurve->ExtendEndByLen( dLen) ;
|
||||
// }
|
||||
//}
|
||||
else
|
||||
bOk = false ;
|
||||
ExeSetModified() ;
|
||||
|
||||
Reference in New Issue
Block a user