Medusa  1.1
Coordinate Free Mehless Method implementation
cad_helpers_fwd.hpp
Go to the documentation of this file.
1 #ifndef MEDUSA_BITS_DOMAINS_CAD_HELPERS_FWD_HPP_
2 #define MEDUSA_BITS_DOMAINS_CAD_HELPERS_FWD_HPP_
3 
11 #include <medusa/Config.hpp>
14 
15 namespace mm {
16 
18 namespace cad_helpers {
19 
33 template <typename scalar_t, int dim>
34 Vec<scalar_t, dim> evaluate_b_spline(scalar_t t, int p,
35  const Range<Vec<scalar_t, dim>>& control_points, const Range<scalar_t>& knots, int k);
36 
42 template <typename scalar_t, int dim>
43 Vec<scalar_t, dim> evaluate_b_spline(scalar_t t, int p,
44  const Range<Vec<scalar_t, dim>>& control_points, const Range<scalar_t>& knots,
45  scalar_t epsilon = 1e-10);
46 
58 template <typename scalar_t, int dim>
59 void generate_b_spline_derivative(int p, const Range<Vec<scalar_t, dim>>& control_points,
60  const Range<scalar_t>& knots, Range<Vec<scalar_t, dim>>& der_control_points,
61  Range<scalar_t>& der_knots);
62 
73 template <typename scalar_t, int dim>
75  const Range<Vec<scalar_t, dim>>& control_points, const Range<scalar_t>& knots,
76  Range<Vec<scalar_t, dim>>& der_control_points);
77 
85 template <typename scalar_t>
86 void generate_b_spline_derivative_knots(const Range<scalar_t>& knots,
87  Range<scalar_t>& der_knots);
88 
89 } // namespace cad_helpers
90 } // namespace mm
91 
92 #endif // MEDUSA_BITS_DOMAINS_CAD_HELPERS_FWD_HPP_
mm
Root namespace for the whole library.
Definition: Gaussian.hpp:14
scalar_t
Scalar scalar_t
Type of the elements, alias of Scalar.
Definition: MatrixBaseAddons.hpp:16
mm::cad_helpers::generate_b_spline_derivative_control_points
void generate_b_spline_derivative_control_points(int p, const Range< Vec< scalar_t, dim >> &control_points, const Range< scalar_t > &knots, Range< Vec< scalar_t, dim >> &der_control_points)
Generate control points of a B-spline that is the first derivative of the inputed B-spline.
Definition: cad_helpers.hpp:69
mm::cad_helpers::generate_b_spline_derivative
void generate_b_spline_derivative(int p, const Range< Vec< scalar_t, dim >> &control_points, const Range< scalar_t > &knots, Range< Vec< scalar_t, dim >> &der_control_points, Range< scalar_t > &der_knots)
Generate control points and knot vector of a B-spline that is the first derivative of the inputed B-s...
Definition: cad_helpers.hpp:61
Config.hpp
mm::cad_helpers::generate_b_spline_derivative_knots
void generate_b_spline_derivative_knots(const Range< scalar_t > &knots, Range< scalar_t > &der_knots)
Generate knots of a B-spline that is the first derivative of the inputed B-spline.
Definition: cad_helpers.hpp:85
mm::cad_helpers::evaluate_b_spline
Vec< scalar_t, dim > evaluate_b_spline(scalar_t t, int p, const Range< Vec< scalar_t, dim >> &control_points, const Range< scalar_t > &knots, int k)
Evaluate B-spline in one point using De Boor's algorithm - , where is the number of dimensions.
Definition: cad_helpers.hpp:18
Vec.hpp
Range.hpp