#include <MRLine.h>
Public Types | |
using | T = typename V::ValueType |
Public Member Functions | |
constexpr | Line () noexcept=default |
constexpr | Line (const V &p, const V &d) noexcept |
template<typename U > | |
constexpr | Line (const Line< U > &l) noexcept |
V | operator() (T param) const |
returns point on the line, where param=0 returns p and param=1 returns p+d | |
T | distanceSq (const V &x) const |
returns squared distance from given point to this line | |
Line | operator- () const |
returns same line represented with flipped direction of d-vector | |
const Line & | operator+ () const |
returns same representation | |
Line | normalized () const |
returns same line represented with unit d-vector | |
V | project (const V &x) const |
finds the closest point on line | |
Public Attributes | |
V | p |
V | d |
Related Symbols | |
(Note that these are not member symbols.) | |
template<typename V > | |
Line< V > | transformed (const Line< V > &l, const AffineXf< V > &xf) |
2- or 3-dimensional line: cross( x - p, d ) = 0
using MR::Line< V >::T = typename V::ValueType |
|
constexprdefaultnoexcept |
|
inlineconstexprnoexcept |
|
inlineexplicitconstexprnoexcept |
returns squared distance from given point to this line
returns same line represented with unit d-vector
returns point on the line, where param=0 returns p and param=1 returns p+d
returns same representation
returns same line represented with flipped direction of d-vector
|
inlinenodiscard |
finds the closest point on line
|
related |
given line: l(x) = 0, and transformation: y=xf(x);
if given transformation is not rigid, then it is a good idea to normalize returned line
V MR::Line< V >::d |
V MR::Line< V >::p |