EgtGeomKernel :
- migliorie a asportazioni con chisel e mortiser su Zmap.
This commit is contained in:
+19
-3
@@ -991,11 +991,27 @@ VolZmap::IntersLineMyPolyhedron( const Point3d& ptLineSt, const Vector3d& vtLine
|
||||
Point3d ptI5 = ptP + ( ( vtFacet5 * vtOb) / ( vtV * vtOb)) * vtV ;
|
||||
Point3d ptI6 = ptP + ( ( vtFacet6 * vtOb) / ( vtV * vtOb)) * vtV ;
|
||||
|
||||
if ( abs( vtV.z) < EPS_ZERO &&
|
||||
abs( ptP.z) > dLenZ / 2 - EPS_SMALL)
|
||||
|
||||
// Controlli affinché non vengano tagliati dexel a filo
|
||||
// con il passaggio dell'utensile:
|
||||
// Controllo sulle facce 1 e 2
|
||||
if ( abs( vtV.z) < EPS_ZERO &&
|
||||
abs( ptP.z) > dLenZ / 2 - EPS_SMALL)
|
||||
return false ;
|
||||
// Controllo sulle facce 3 e 4
|
||||
if ( abs( vtV.y) < EPS_ZERO &&
|
||||
( ptP.y < EPS_SMALL ||
|
||||
ptP.y > dLenY - EPS_SMALL))
|
||||
return false ;
|
||||
// Controllo sulle facce 5 e 6
|
||||
Vector3d vtW( dDeltaX, dLenY, 0) ;
|
||||
vtW.Normalize() ;
|
||||
Vector3d vtU = vtV - vtV.z * Z_AX - vtV * vtW * vtW ;
|
||||
if ( vtU.Len() < EPS_ZERO &&
|
||||
( ptP.x * dLenY < dDeltaX * ptP.y + dLenY * EPS_SMALL ||
|
||||
ptP.x * dLenY > dDeltaX * ptP.y + dLenY * ( dLenX - EPS_SMALL)))
|
||||
return false ;
|
||||
|
||||
// Ricerca intersezioni con le facce
|
||||
int nIntNum = 0 ;
|
||||
|
||||
// Intersezione con la prima faccia
|
||||
|
||||
Reference in New Issue
Block a user