template <class T, int N>
class vtb::geometry::Basis_spline_curve
Base classes
Types
  • using value_type = Vertex< T, N >
Methods
  • operator()(T x) const -> value_type
template <class T>
class vtb::geometry::Basis_spline_surface
Types
  • using polyhedron_type = Polyhedron< T, 3 >
  • using const_pointer = const spline_type *
  • using pointer = spline_type *
  • using size_type = size_t
  • using spline_array = std::vector< spline_type >
  • using const_reference = const value_type &
  • using reference = value_type &
  • using value_type = typename spline_type::value_type
  • using knot_array = typename spline_type::knot_array
  • using spline_type = Basis_spline< T, 3 >
Methods
  • end() -> pointer
  • end() const -> const_pointer
  • begin() -> pointer
  • begin() const -> const_pointer
  • size() const -> size_type
  • operator[](size_type i) -> spline_type &
  • operator[](size_type i) const -> const spline_type &
  • operator()(const Vertex< T, 2 > & v) const -> value_type
  • operator()(T u, T v) const -> value_type
  • operator()(T u) const -> spline_type
  • num_internal_knots_u() const -> size_type
  • degree_u() const -> size_type
  • num_knots_u() const -> size_type
  • num_points_u() const -> size_type
  • size_u() const -> size_type
  • knots_u() const -> const knot_array &
  • num_internal_knots_v() const -> size_type
  • degree_v() const -> size_type
  • num_knots_v() const -> size_type
  • num_points_v() const -> size_type
  • size_v() const -> size_type
  • knots_v() const -> const knot_array &
  • Basis_spline_surface(const spline_array & splines, size_type degree = 3)explicit
  • Basis_spline_surface(const spline_array & splines, knot_array knots)explicit
template <class T, int N>
class vtb::geometry::Closed_basis_spline

Closed non-uniform rational basis spline (NURBS).

Base classes
Types
  • using knot_array = std::vector< knot_type >
  • using element_array = std::vector< element_type >
  • using size_type = size_t
  • using scalar_type = T
  • using value_type = element_type
Methods
  • Closed_basis_spline(element_array elements, size_type degree = 3)explicit
template <class T, int N>
class vtb::geometry::Basis_spline

Non-uniform rational basis spline (NURBS).

Derived classes
Types
  • using size_type = size_t
  • using const_reference = const value_type &
  • using reference = value_type &
  • using value_type = element_type
  • using scalar_type = T
  • using coefficient_array = std::vector< T >
  • using weight_array = std::vector< weight_type >
  • using knot_array = std::vector< knot_type >
  • using element_array = std::vector< element_type >
  • using point_array = std::vector< point_type >
  • using weight_type = T
  • using knot_type = T
  • using element_type = Vertex< T, N+1 >
  • using point_type = Vertex< T, N >
Methods
  • divide_by_weight(element_type elem) -> element_type
  • multiply_by_weight(element_type elem) -> element_type
  • to_point(const element_type & elem) -> point_type
  • to_element(const point_type & p, T weight) -> element_type
  • make_cyclic_knots(size_type npoints, size_type degree) -> knot_array
  • make_knots(size_type npoints, size_type degree) -> knot_array
  • range(T min, T max) -> void
  • elements() const -> const element_array &
  • knots() const -> const knot_array &
  • num_knots() const -> size_type
  • num_points() const -> size_type
  • size() const -> size_type
  • interpolate() -> void
  • coefficients(T x) const -> coefficient_array
  • operator()(T x) const -> element_type

    Uses de Boor's agorithm [3].

    See
    https://en.wikipedia.org/wiki/De_Boor%27s_algorithm
    See
    http://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/de-Boor.html
  • num_internal_knots() const -> size_type
  • degree() const -> size_type
  • Basis_spline(point_array points, size_type degree = 3)explicit
  • Basis_spline(point_array points, weight_array weights, size_type degree = 3)explicit
  • Basis_spline(point_array points, knot_array knots)explicit
  • Basis_spline(point_array points, weight_array weights, knot_array knots)explicit
  • Basis_spline(element_array elements, size_type degree = 3)explicit
  • Basis_spline(element_array elements, knot_array knots)explicit
  • operator=(Basis_spline &&) -> Basis_spline &
  • Basis_spline(Basis_spline &&)
  • operator=(const Basis_spline &) -> Basis_spline &
  • Basis_spline(const Basis_spline &)
  • ~Basis_spline()
  • Basis_spline()