using polyhedron_type = Polyhedron< T, 3 >using const_pointer = const spline_type *using pointer = spline_type *using size_type = size_tusing spline_array = std::vector< spline_type >using const_reference = const value_type &using reference = value_type &using value_type = typename spline_type::value_typeusing knot_array = typename spline_type::knot_arrayusing spline_type = Basis_spline< T, 3 >end() -> pointerend() const -> const_pointerbegin() -> pointerbegin() const -> const_pointersize() const -> size_typeoperator[](size_type i) -> spline_type &operator[](size_type i) const -> const spline_type &operator()(const Vertex< T, 2 > & v) const -> value_typeoperator()(T u, T v) const -> value_typeoperator()(T u) const -> spline_typenum_internal_knots_u() const -> size_typedegree_u() const -> size_typenum_knots_u() const -> size_typenum_points_u() const -> size_typesize_u() const -> size_typeknots_u() const -> const knot_array &num_internal_knots_v() const -> size_typedegree_v() const -> size_typenum_knots_v() const -> size_typenum_points_v() const -> size_typesize_v() const -> size_typeknots_v() const -> const knot_array &Basis_spline_surface(const spline_array & splines, size_type degree = 3)explicitBasis_spline_surface(const spline_array & splines, knot_array knots)explicitNon-uniform rational basis spline (NURBS).
using size_type = size_tusing const_reference = const value_type &using reference = value_type &using value_type = element_typeusing scalar_type = Tusing 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 = Tusing knot_type = Tusing element_type = Vertex< T, N+1 >using point_type = Vertex< T, N >divide_by_weight(element_type elem) -> element_typemultiply_by_weight(element_type elem) -> element_typeto_point(const element_type & elem) -> point_typeto_element(const point_type & p, T weight) -> element_typemake_cyclic_knots(size_type npoints, size_type degree) -> knot_arraymake_knots(size_type npoints, size_type degree) -> knot_arrayrange(T min, T max) -> voidelements() const -> const element_array &knots() const -> const knot_array &num_knots() const -> size_typenum_points() const -> size_typesize() const -> size_typeinterpolate() -> voidcoefficients(T x) const -> coefficient_arrayoperator()(T x) const -> element_typeUses de Boor's agorithm [3].
num_internal_knots() const -> size_typedegree() const -> size_typeBasis_spline(point_array points, size_type degree = 3)explicitBasis_spline(point_array points, weight_array weights, size_type degree = 3)explicitBasis_spline(point_array points, knot_array knots)explicitBasis_spline(point_array points, weight_array weights, knot_array knots)explicitBasis_spline(element_array elements, size_type degree = 3)explicitBasis_spline(element_array elements, knot_array knots)explicitoperator=(Basis_spline &&) -> Basis_spline &Basis_spline(Basis_spline &&)operator=(const Basis_spline &) -> Basis_spline &Basis_spline(const Basis_spline &)~Basis_spline()Basis_spline()