//---------------------------------------------------------------------------- // EgalTech 2013-2013 //---------------------------------------------------------------------------- // File : EGkDistPointLine.h Data : 17.12.13 Versione : 1.4l1 // Contenuto : Dichiarazione dell'oggetto distanza punto da linea/segmento. // // // // Modifiche : 30.12.12 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkPoint3d.h" //----------------------- Macro per import/export ---------------------------- #undef EGK_EXPORT #if defined( I_AM_EGK) // da definirsi solo nella DLL #define EGK_EXPORT __declspec( dllexport) #else #define EGK_EXPORT __declspec( dllimport) #endif //----------------------------------------------------------------------------- class DistPointLine { public : EGK_EXPORT DistPointLine( void) ; public : EGK_EXPORT bool Set( const Point3d& ptP, const Point3d& ptIni, const Point3d& ptFin, bool bIsSegment) ; EGK_EXPORT bool SetPoint( const Point3d& ptP) ; EGK_EXPORT bool SetLine( const Point3d& ptIni, const Point3d& ptFin, bool bIsSegment) ; EGK_EXPORT double GetSqDist( void) ; EGK_EXPORT double GetDist( void) ; EGK_EXPORT const Point3d& GetPointMinDist( void) ; private : bool Calculate( void) ; private : Point3d m_ptP ; Point3d m_ptIni ; Vector3d m_vtDir ; double m_dLen ; bool m_bIsSegment ; double m_dSqDist ; double m_dDist ; Point3d m_ptMinDist ; } ;