//////////////////////////////////////////////////////////////////////////////// /** \file \brief \ru Определение расстояния между объектами. \en Definition of distance between objects. \~ \details \ru Функции определения максимальных расстояний между различными трехмерными объектами. \en Functions for definition of maximal distances between different three-dimensional objects. \~ */ //////////////////////////////////////////////////////////////////////////////// #ifndef __ALG_MAX_DISTANCE_H #define __ALG_MAX_DISTANCE_H #include class MATH_CLASS MbCartPoint; class MATH_CLASS MbCartPoint3D; class MATH_CLASS MbAxis3D; class MATH_CLASS MbCurve3D; class MATH_CLASS MbSurface; //------------------------------------------------------------------------------ /** \brief \ru Найти максимальное расстояние между точкой и кривой. \en Find the maximal distance between a point and a curve. \~ \details \ru Максимальное расстояние между точкой и кривой. \en The maximal distance between a point and a curve. \~ \param[in] pnt - \ru Исходная точка. \en The initial point. \~ \param[in] curv - \ru Исходная кривая. \en The initial curve. \~ \param[out] t - \ru Параметр на кривой, при котором достигается искомое расстояние. \en The parameter on a curve where the required distance is reached. \~ \param[out] distance - \ru Искомое расстояние. \en The required distance. \~ \return \ru true, если максимальное расстояние было найдено. \en true if the maximal distance has been found. \~ \ingroup Algorithms_3D */ // --- MATH_FUNC (bool) MaxDistance( const MbCartPoint3D & pnt, const MbCurve3D & curv, double & t, double & distance ); //------------------------------------------------------------------------------ /** \brief \ru Найти максимальное расстояние между двумя кривыми. \en Find the maximal distance between two curves. \~ \details \ru Найти максимальное расстояние между двумя кривыми. \en Find the maximal distance between two curves. \~ \param[in] curv1, curv2 - \ru Исходные кривая. \en The initial curves. \~ \param[out] t1, t2 - \ru Параметры на кривых, при которых достигается искомое расстояние. \en The parameters on curves where the required distance is reached. \~ \param[out] distance - \ru Искомое расстояние. \en The required distance. \~ \return \ru true, если максимальное расстояние было найдено. \en true if the maximal distance has been found. \~ \ingroup Algorithms_3D */ // --- MATH_FUNC (bool) MaxDistance( const MbCurve3D & curv1, const MbCurve3D & curv2, double & t1, double & t2, double & distance ); //------------------------------------------------------------------------------ /** \brief \ru Найти максимальное расстояние между точкой и поверхностью. \en Find the maximal distance between a point and a surface. \~ \details \ru Найти максимальное расстояние между точкой и поверхностью. \en Find the maximal distance between a point and a surface. \~ \param[in] pnt - \ru Исходная точка. \en The initial point. \~ \param[in] surf - \ru Исходная поверхность. \en The initial surface. \~ \param[out] uv - \ru Параметры точки на поверхности, при которой достигается искомое расстояние. \en The point parameters on a surface where the required distance is reached. \~ \param[out] distance - \ru Искомое расстояние. \en The required distance. \~ \return \ru true, если максимальное расстояние было найдено. \en true if the maximal distance has been found. \~ \ingroup Algorithms_3D */ // --- MATH_FUNC (bool) MaxDistance( const MbCartPoint3D & pnt, const MbSurface & surf, MbCartPoint & uv, double & distance ); //------------------------------------------------------------------------------ /** \brief \ru Найти максимальное расстояние между кривой и поверхностью. \en Find the maximal distance between a curve and a surface. \~ \details \ru Найти максимальное расстояние между кривой и поверхностью. \en Find the maximal distance between a curve and a surface. \~ \param[in] curv - \ru Исходная кривая. \en The initial curve. \~ \param[in] surf - \ru Исходная поверхность. \en The initial surface. \~ \param[out] t - \ru Параметр на кривой, при котором достигается искомое расстояние. \en The parameter on a curve where the required distance is reached. \~ \param[out] uv - \ru Параметры точки на поверхности, при которой достигается искомое расстояние. \en The point parameters on a surface where the required distance is reached. \~ \param[out] distance - \ru Искомое расстояние. \en The required distance. \~ \return \ru true, если максимальное расстояние было найдено. \en true if the maximal distance has been found. \~ \ingroup Algorithms_3D */ // --- MATH_FUNC (bool) MaxDistance( const MbCurve3D & curv, const MbSurface & surf, double & t, MbCartPoint & uv, double & distance ); //------------------------------------------------------------------------------ /** \brief \ru Найти максимальное расстояние между поверхностями. \en Find the maximal distance between two surfaces. \~ \details \ru Найти максимальное расстояние между поверхностями. \en Find the maximal distance between two surfaces. \~ \param[in] surf1, surf2 - \ru Исходные поверхности. \en The initial surfaces. \~ \param[out] uv1, uv2 - \ru Параметры точек на поверхностях, при которых достигается искомое расстояние. \en The parameters on surfaces where the required distance is reached. \~ \param[out] distance - \ru Искомое расстояние. \en The required distance. \~ \return \ru true, если максимальное расстояние было найдено. \en true if the maximal distance has been found. \~ \ingroup Algorithms_3D */ // --- MATH_FUNC (bool) MaxDistance( const MbSurface & surf1, const MbSurface & surf2, MbCartPoint & uv1, MbCartPoint & uv2, double & distance ); //------------------------------------------------------------------------------ /** \brief \ru Найти максимальное расстояние от оси до кривой. \en Find the maximal distance between an axis an a curve. \~ \details \ru Ищется максимальное расстояние от оси до кривой перпендикулярно оси. \en Find the maximal distance between an axis and a curve perpendicularly to an axis. \~ \param[in] axis - \ru Исходная ось. \en The initial axis. \~ \param[in] curve - \ru Исходная кривая. \en The initial curve. \~ \param[out] param - \ru Параметр на кривой, при котором достигается искомое расстояние. \en The parameter on a curve where the required distance is reached. \~ \param[out] distance - \ru Искомое расстояние. \en The required distance. \~ \return \ru true, если максимальное расстояние было найдено. \en true if the maximal distance has been found. \~ \ingroup Algorithms_3D */ // --- MATH_FUNC (bool) MaxDistance( const MbAxis3D & axis, const MbCurve3D & curve, double & param, double & distance ); #endif // __ALG_MAX_DISTANCE_H