mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 13:03:36 +00:00
[geometry] Documentation
Signed-off-by: mvglasow <michael -at- vonglasow.com>
This commit is contained in:
@@ -9,17 +9,20 @@
|
|||||||
|
|
||||||
namespace m2
|
namespace m2
|
||||||
{
|
{
|
||||||
// This class holds a parametrization of the
|
/**
|
||||||
// line segment between two points p0 and p1.
|
* @brief This class holds a parametrization of the line segment between two points `p0` and `p1`.
|
||||||
// The parametrization is of the form
|
*
|
||||||
// p(t) = p0 + t * dir.
|
* The parametrization is of the form
|
||||||
// Other conditions:
|
* `p(t) = p0 + t * dir`.
|
||||||
// dir is the normalized (p1 - p0) vector.
|
*
|
||||||
// length(dir) = 1.
|
* Other conditions:
|
||||||
// p(0) = p0.
|
* * `dir` is the normalized `(p1 - p0)` vector.
|
||||||
// p(T) = p1 with T = length(p1 - p0).
|
* * `length(dir) = 1`.
|
||||||
//
|
* * `p(0) = p0`.
|
||||||
// The points with t in [0, T] are the points of the segment.
|
* * `p(T) = p1` with `T = length(p1 - p0)`.
|
||||||
|
*
|
||||||
|
* The points with `t` in `[0, T]` are the points of the segment.
|
||||||
|
*/
|
||||||
template <typename Point>
|
template <typename Point>
|
||||||
class ParametrizedSegment
|
class ParametrizedSegment
|
||||||
{
|
{
|
||||||
@@ -36,7 +39,9 @@ public:
|
|||||||
m_d = m_d / m_length;
|
m_d = m_d / m_length;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the squared (euclidean) distance from the segment to |p|.
|
/**
|
||||||
|
* @brief Returns the squared (euclidean) distance from the segment to `p`.
|
||||||
|
*/
|
||||||
double SquaredDistanceToPoint(Point const & p) const
|
double SquaredDistanceToPoint(Point const & p) const
|
||||||
{
|
{
|
||||||
m2::PointD const diff(p - m_p0);
|
m2::PointD const diff(p - m_p0);
|
||||||
@@ -52,7 +57,9 @@ public:
|
|||||||
return math::Pow2(CrossProduct(diff, m_d));
|
return math::Pow2(CrossProduct(diff, m_d));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the point of the segment that is closest to |p|.
|
/**
|
||||||
|
* @brief Returns the point of the segment that is closest to `p`.
|
||||||
|
*/
|
||||||
m2::PointD ClosestPointTo(Point const & p) const
|
m2::PointD ClosestPointTo(Point const & p) const
|
||||||
{
|
{
|
||||||
m2::PointD const diff(p - m_p0);
|
m2::PointD const diff(p - m_p0);
|
||||||
|
|||||||
Reference in New Issue
Block a user