diff --git a/IntersPlaneSurfTm.cpp b/IntersPlaneSurfTm.cpp index e4b6c7f..dfdfc5c 100644 --- a/IntersPlaneSurfTm.cpp +++ b/IntersPlaneSurfTm.cpp @@ -257,7 +257,7 @@ IntersParPlanesSurfTm::IntersParPlanesSurfTm( const Frame3d& frPlanes, const ISu //---------------------------------------------------------------------------- bool -IntersParPlanesSurfTm::GetInters( const Point3d& ptPl, PNTVECTOR& vPnt, BIPNTVECTOR& vBpt, TRIA3DVECTOR& vTria) const +IntersParPlanesSurfTm::GetInters( double dDist, PNTVECTOR& vPnt, BIPNTVECTOR& vBpt, TRIA3DVECTOR& vTria) const { // verifico validità if ( ! m_bOk) @@ -283,14 +283,13 @@ IntersParPlanesSurfTm::GetInters( const Point3d& ptPl, PNTVECTOR& vPnt, BIPNTVEC TrGrid.SetActivationGrid( true) ; // calcolo il piano ( in globale) + Point3d ptPl = m_frPlanes.Orig() + dDist * m_frPlanes.VersZ() ; Plane3d plPlane ; plPlane.Set( ptPl, m_frPlanes.VersZ()) ; // calcolo box del piano ( nel riferimento) - Point3d ptL = ptPl ; - ptL.ToLoc( m_frPlanes) ; BBox3d b3Plane ; - b3Plane.Add( ptL) ; + b3Plane.Add( Point3d( 0, 0, dDist)) ; b3Plane.Expand( INFINITO - 1 , INFINITO - 1, 0) ; // recupero indici triangoli che intersecano box