diff --git a/EGkDistPointSurfTm.h b/EGkDistPointSurfTm.h index 43d7a1f..3ca41e7 100644 --- a/EGkDistPointSurfTm.h +++ b/EGkDistPointSurfTm.h @@ -29,7 +29,8 @@ // - distanza // - punto sulla superficie a minima distanza // - indice del triangolo su cui giace il punto -// - indicazione se il punto di riferimento è dalla parte interna o esterna della superficie. +// - indicazione se il punto di riferimento è dalla parte interna o esterna della superficie ( se chiusa ). +// - indicazione se il punto di riferimento è a destra o sinistra della superficie ( se aperta ) //---------------------------------------------------------------------------- class DistPointSurfTm { @@ -47,7 +48,9 @@ class DistPointSurfTm EGK_EXPORT bool GetMinDistPoint( Point3d& ptMinDistPoint) const ; EGK_EXPORT bool GetMinDistTriaIndex( int& nMinDistTriaIndex) const ; EGK_EXPORT bool IsPointInside( void) const - { return m_bIsInside ; } + { return ( m_bIsInside && m_bIsSurfClosed) ; } + EGK_EXPORT bool IsPointOnLeftSide( void) const + { return m_bIsInside ;} private : void Calculate( const Point3d& ptP, const ISurfTriMesh& tmSurf) ; @@ -57,6 +60,7 @@ class DistPointSurfTm Point3d m_ptMinDistPoint ; int m_nMinDistTriaIndex ; bool m_bIsInside ; + bool m_bIsSurfClosed ; } ; //----------------------------------------------------------------------------