Computational geometry.
using bstream = ::vtb::base::bstreamenum Plane_position: unsigned charenum Segmentstemplate <class T, int N = 3, Segments seg = Segments::Chord_length> class vtb::geometry::Linear_interpolationtemplate <class Figure> border_contains(const Figure & figure, const typename Figure::value_type & vertex, const typename Figure::scalar_type eps) -> booltemplate <class T> clockwise(const Vertex< T, 2 > & origin, const Vertex< T, 2 > & a, const Vertex< T, 2 > & b) -> booltemplate <class T, int N> compare(const Plane< T, N > plane, const Line_segment< T, N > & s, T eps) -> Vertex< Plane_position, 2 >template <class Figure> contains(const Figure & figure, const typename Figure::value_type & vertex, const typename Figure::scalar_type eps) -> booltemplate <class T, int N> cuboid(const Vertex< T, N > & a, const Vertex< T, N > & b) -> Polyhedron< T >template <class T> cylinder(T radius, T height, int resolution_u, int resolution_v) -> Polyhedron< T >template <class T> det(const Vertex< T, 3 > & a, const Vertex< T, 3 > & b, const Vertex< T, 3 > & c) -> Ttemplate <class T> det(const Vertex< T, 2 > & origin, const Vertex< T, 2 > & a, const Vertex< T, 2 > & b) -> Ttemplate <class T, int N> from(const Rotation_matrix< T, N > & rot, const Vertex< T, N > & v) -> Vertex< T, N >template <class T> from(const Quaternion_coordinate_system< T > & cs, const Vertex< T, 3 > & v) -> Vertex< T, 3 >template <class T, int N> from(const Coordinate_system< T, N > & cs, const Vertex< T, N > & v) -> Vertex< T, N >template <class Figure> interior_contains(const Figure & figure, const typename Figure::value_type & vertex) -> booltemplate <class T, int N> intersection(const Ray< T, N > & ray, const Plane< T, N > & plane) -> Vertex< T, N >ray and plane. Edge cases are ignored.
template <int dim, class T, int N> intersection_point(const Line_segment< T, N > & segment, T level) -> Vertex< T, N >template <class T, int N> intersection_point(const Plane< T, N > & plane, const Line_segment< T, N > & segment) -> Vertex< T, N >template <class T> line_normal(const Vertex< T, 2 > & v0, const Vertex< T, 2 > & v1) -> Vertex< T, 2 >template <class T> make_coordinate_system(const Quaternion< T > & q, const Quaternion< T > & q_conj, const Vertex< T, 3 > & origin) -> Quaternion_coordinate_system< T >template <class T> make_coordinate_system(const Quaternion< T > & q, const Vertex< T, 3 > & origin) -> Quaternion_coordinate_system< T >template <class T, int N> make_coordinate_system(const Rotation_matrix< T, N > & rot, const Vertex< T, N > & origin) -> Coordinate_system< T, N >template <class T, int N> make_coordinate_system(const Basis< T, N > & basis, const Basis< T, N > & ibasis, const Vertex< T, N > & origin) -> Coordinate_system< T, N >template <class T, int N> make_coordinate_system(const Basis< T, N > & basis, const Vertex< T, N > & origin) -> Coordinate_system< T, N >template <class T, int N> make_rotation(const Basis< T, N > & basis, const Basis< T, N > & ibasis) -> Rotation_matrix< T, N >angles in order.
template <class T, int N> near(const Line_segment< T, N > & lhs, const Line_segment< T, N > & rhs, T eps) -> booltemplate <class T, int N> operator!=(const Line_segment< T, N > & lhs, const Line_segment< T, N > & rhs) -> booltemplate <class T> operator*(const Vertex< T, 3 > & a, const Quaternion< T > & b) -> Quaternion< T >template <class T> operator*(const Quaternion< T > & a, const Vertex< T, 3 > & b) -> Quaternion< T >template <class T> operator*(const Quaternion< T > & a, const Quaternion< T > & b) -> Quaternion< T >template <class T, int N> operator+(const Polyhedron< T, N > & lhs, const Polyhedron< T, N > & rhs) -> Polyhedron< T, N >template <class T, int N> operator<(const Line_segment< T, N > & lhs, const Line_segment< T, N > & rhs) -> booltemplate <class T, int N> operator<<(bstream & out, const Rotation_matrix< T, N > & rhs) -> bstream &template <class T, int N> operator<<(vtb::core::bstream & out, const Polyhedron< T, N > & rhs) -> vtb::core::bstream &operator<<(std::ostream & out, Plane_position rhs) -> std::ostream &template <class T, int N> operator<<(std::ostream & out, const Plane< T, N > & rhs) -> std::ostream &template <class Figure> operator<<(std::ostream & out, const Figure & figure) -> std::enable_if< is_figure< Figure >::value, std::ostream & >::typetemplate <int N> operator<<(vtb::core::bstream & out, const Face< N > & rhs) -> vtb::core::bstream &template <class T, int N> operator<<(bstream & out, const Coordinate_system< T, N > & rhs) -> bstream &template <class T, int N> operator==(const Line_segment< T, N > & lhs, const Line_segment< T, N > & rhs) -> booltemplate <class T, int N> operator>>(vtb::core::bstream & in, Polyhedron< T, N > & rhs) -> vtb::core::bstream &operator|(Plane_position a, Plane_position b) -> constexpr Plane_positiontemplate <class T> orientation(const Vertex< T, 2 > & origin, const Vertex< T, 2 > & a, const Vertex< T, 2 > & b) -> Vertex< T, 1 >template <int dimension, int degrees, class T, int N> rotate(const Vertex< T, N > & v) -> Vertex< T, N >angles.
template <class T> surface_normal(const Vertex< T, 3 > & v0, const Vertex< T, 3 > & v1, const Vertex< T, 3 > & v2) -> Vertex< T, 3 >template <class T, int N> to(const Rotation_matrix< T, N > & rot, const Vertex< T, N > & v) -> Vertex< T, N >template <class T> to(const Quaternion_coordinate_system< T > & cs, const Vertex< T, 3 > & v) -> Vertex< T, 3 >template <class T, int N> to(const Coordinate_system< T, N > & cs, const Vertex< T, N > & v) -> Vertex< T, N >to_string(Plane_position rhs) -> const char *template <class T> vector_from(const Quaternion_coordinate_system< T > & cs, const Vertex< T, 3 > & v) -> Vertex< T, 3 >template <class T, int N> vector_from(const Coordinate_system< T, N > & cs, const Vertex< T, N > & v) -> Vertex< T, N >template <class T, int N> vector_to(const Rotation_matrix< T, N > & r, const Vertex< T, N > & v) -> Vertex< T, N >template <class T> vector_to(const Quaternion_coordinate_system< T > & cs, const Vertex< T, 3 > & v) -> Vertex< T, 3 >template <class T, int N> vector_to(const Coordinate_system< T, N > & cs, const Vertex< T, N > & v) -> Vertex< T, N >template <class T, int N> winding_number(const Polyhedron< T, N > & geometry, const Vertex< T, N > & origin) -> Ttemplate <class Container, class T> winding_number(const Container & vertices, const Vertex< T, 2 > & origin) -> int