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:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user