EgtGeomKernel 1.5l2 :

- correzione a offset a sinistra con chamfer e extend
- correzione a offset semplice con angoli di 180 deg
- modifica a calcolo colore back per superfici.
This commit is contained in:
Dario Sassi
2014-12-30 17:32:23 +00:00
parent 3e8e7e2e2a
commit bea7644551
5 changed files with 16 additions and 16 deletions
+8 -6
View File
@@ -295,15 +295,17 @@ VerifyAndAdjustExternalAngle( ICurve* pCrv1, ICurve* pCrv2, double dDist, int nT
if ( IsNull( pCrvOri2) || ! pCrvOri2->SimpleOffset( - dDist, nType))
return false ;
// eseguo calcolo spostato su curve originali
Point3d ptDummy ;
double dU1 = 1 ;
double dU2 = 0 ;
Point3d ptDummy ;
Vector3d vtDir1b ;
Vector3d vtDir2b ;
if ( ! MoveParamToAvoidTg( dU1, ICurve::FROM_MINUS, *pCrvOri1) ||
! pCrvOri1->GetPointTang( dU1, ICurve::FROM_MINUS, ptDummy, vtDir1) ||
! pCrvOri1->GetPointTang( dU1, ICurve::FROM_MINUS, ptDummy, vtDir1b) ||
! MoveParamToAvoidTg( dU2, ICurve::FROM_PLUS, *pCrvOri2) ||
! pCrvOri2->GetPointTang( dU2, ICurve::FROM_PLUS, ptDummy, vtDir2))
! pCrvOri2->GetPointTang( dU2, ICurve::FROM_PLUS, ptDummy, vtDir2b))
return false ;
if ( ! vtDir1.GetAngleXY( vtDir2, dAngDeg))
if ( ! vtDir1b.GetAngleXY( vtDir2b, dAngDeg))
return false ;
}
@@ -336,7 +338,7 @@ VerifyAndAdjustExternalAngle( ICurve* pCrv1, ICurve* pCrv2, double dDist, int nT
case ICurve::OFF_CHAMFER :
{
// lunghezza aggiuntiva in tangenza
double dLen = dDist * tan( fabs( dAngDeg) / 4 * DEGTORAD) ;
double dLen = fabs( dDist) * tan( fabs( dAngDeg) / 4 * DEGTORAD) ;
// punti di costruzione smusso
Point3d ptP1, ptP1a, ptP2a, ptP2 ;
if ( ! pCrv1->GetEndPoint( ptP1) || ! pCrv2->GetStartPoint( ptP2))
@@ -387,7 +389,7 @@ VerifyAndAdjustExternalAngle( ICurve* pCrv1, ICurve* pCrv2, double dDist, int nT
case ICurve::OFF_EXTEND :
{
// lunghezza aggiuntiva in tangenza
double dLen = dDist * tan( fabs( dAngDeg) / 2 * DEGTORAD) ;
double dLen = fabs( dDist) * tan( fabs( dAngDeg) / 2 * DEGTORAD) ;
// punti di costruzione estensione
Point3d ptP1, ptPc, ptP2 ;
if ( ! pCrv1->GetEndPoint( ptP1) || ! pCrv2->GetStartPoint( ptP2))