55 BSpline(vec, uword, field<vec>&& = {});
62 void set_control_polygon(field<vec>&&);
63 void set_control_polygon(
const field<vec>&);
65 [[nodiscard]]
const vec& get_knot()
const;
66 [[nodiscard]] uword get_order()
const;
67 [[nodiscard]] uword get_number_of_control_points()
const;
68 [[nodiscard]] uvec get_all_element_span()
const;
70 [[nodiscard]] uword evaluate_span(
double)
const;
72 [[nodiscard]] vec evaluate_basis(
double, sword = -1)
const;
73 [[nodiscard]] mat evaluate_basis_derivative(
double, sword = -1, sword = -1)
const;
75 [[nodiscard]] vec evaluate_point(
double)
const;
76 [[nodiscard]] field<vec> evaluate_point_derivative(
double, sword = -1)
const;
78 [[nodiscard]] vec evaluate_shape_function(
double)
const;
79 [[nodiscard]] field<vec> evaluate_shape_function_derivative(
double, sword = -1)
const;
81 [[nodiscard]]
virtual vec evaluate_point(
double,
const field<vec>&)
const;
82 [[nodiscard]]
virtual field<vec> evaluate_point_derivative(
double,
const field<vec>&, sword = -1)
const;
84 [[nodiscard]]
virtual vec evaluate_shape_function(
double,
const field<vec>&)
const;
85 [[nodiscard]]
virtual field<vec> evaluate_shape_function_derivative(
double,
const field<vec>&, sword = -1)
const;
static void convert_to_weighted(mat &)
Definition: BSpline.cpp:20
const vec knot
Definition: BSpline.h:48
const uword dimension
Definition: BSpline.h:46
static uword compute_number_of_control_points(const vec &)
Definition: BSpline.cpp:39
static uword compute_order(const vec &)
Definition: BSpline.cpp:29
static uword compute_number_of_elements(const vec &)
Definition: BSpline.cpp:37
static uvec compute_all_element_span(const vec &)
Definition: BSpline.cpp:41
field< vec > net
Definition: BSpline.h:50