Three- and two-dimensional plane.
line_normal
and surface_normal
global functions.
using const_reference = const value_type &
using reference = value_type &
using value_type = Vertex< T, N >
using scalar_type = T
coordinate_system() const -> vtb::geometry::Coordinate_system< T, 3 >
basis() const -> vtb::geometry::Basis< T, 3 >
redundant_dimension() const -> int
Plane(const_reference a, const_reference b, const_reference c)
gnuplot(std::ostream & out) const -> void
clear() -> void
coordinate_system() const -> Coordinate_system< T, N >
Coordinate system defined by the normal and the origin.
This system can be used to project arbitrary points on the plane and then "unproject" them back. After projecting the point on the plane one of its coordinates becomes redundant. The redundant dimension is returned by redundant_dimension method. See puncture
and restore
global functions that reduce and add dimensions to a vertex.
basis() const -> Basis< T, N >
Vector basis for the coordinate system defined by the normal and the origin.
redundant_dimension() const -> int
The index of dimension that has nought basis vector. Method basis still returns unit vector instead of nought for this dimension.
project_vector(const_reference vector) const -> value_type
Project vector
on the plane.
project(const_reference point) const -> value_type
Project point
on the plane.
operator()() const -> T
Substitute nought into the plane equation to get .
operator()(const_reference point) const -> T
Substitute point p
to the plane equation.
p
lies behind the plane.
p
lies in front of the plane.
p
lies on the plane.
invert() -> void
Invert plane orientation (the direction of the normal).
origin() const -> const_reference
A point on the plane.
normal() const -> const_reference
A vector that is orthogonal to the plane.
Plane(const_reference a, const_reference b, const_reference c)explicit
Construct plane from plane equation. The plane is defined by equation , where is plane normal and is a normal multiplied by any point lying on the plane.
Plane(const_reference normal)explicit
Plane(const_reference normal, const_reference origin)explicit
Plane()
template <class T, int N>
operator<<(std::ostream & out, const Plane< T, N > & rhs) -> std::ostream &
template <class T, int N>
compare(const Plane< T, N > plane, const Vertex< T, N > & point, T eps) -> Plane_position