Rodin/Geometry/Euclidean/Line.h file

Declarations in Line.h.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::Geometry
Meshes, geometric transformations, and mapped evaluation.
namespace Rodin::Geometry::Euclidean
Module for dealing with Euclidean geometries.

Classes

template<size_t Dimension, class T>
class Rodin::Geometry::Euclidean::Line
Affine line in a compile-time Euclidean dimension. $ L(t)=p+tv $ with nonzero direction $ v $ . Projection uses the Euclidean inner product. Closest points use direct formulas through dimension three and a fixed-size QR solve in higher dimensions. Unit direction columns use a rank threshold of twice scalar machine epsilon (relative to the largest QR pivot in higher dimensions). Numerically parallel directions have rank below two and admit no unique line intersection. Intersections return only unique points; coincident lines return no point.