//---------------------------------------------------------------------------- // EgalTech 2013-2014 //---------------------------------------------------------------------------- // File : DistPointCrvCompo.h Data : 15.01.14 Versione : 1.5a4 // Contenuto : Dichiarazione della classe distanza punto da curva Composita. // // // // Modifiche : 15.01.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkCurveComposite.h" #include "/EgtDev/Include/EGkDistPointCurve.h" //----------------------------------------------------------------------------- class DistPointCrvComposite { friend class DistPointCurve ; public : DistPointCrvComposite( const Point3d& ptP, const ICurveComposite& CrvCompo) ; public : bool GetSqDist( double& dSqDist) const ; bool GetDist( double& dDist) const ; bool IsEpsilon( double dTol) const { double dSqDist ; return ( GetSqDist( dSqDist) && ( dSqDist < SQ_EPS_ZERO || dSqDist < dTol * dTol)) ; } bool IsSmall( void) const { return IsEpsilon( EPS_SMALL) ; } bool IsZero( void) const { return IsEpsilon( EPS_ZERO) ; } int GetNbrMinDist( void) const { return (int) m_Info.size() ; } bool GetMinDistPoint( int nInd, Point3d& ptMinDist, int& nFlag) const ; bool GetParamAtMinDistPoint( int nInd, double& dParam, int& nFlag) const ; private : DistPointCrvComposite( void) ; private : double m_dDist ; MDPCIVECTOR m_Info ; } ;