13 #include "libmesh/point.h" 28 BSpline(
const unsigned int degree,
33 const unsigned int cps_per_half,
const libMesh::Real _sharpness
sharpness of the curve
const unsigned int _cps_per_half
number of control points per half of the spline (vertex is auto-included)
libMesh::Real secondCoeff(const libMesh::Real t, const unsigned int i, const unsigned int j) const
Submethod used in CdBBasis routine.
const libMesh::RealVectorValue _end_dir
ending direction of spline
const libMesh::RealVectorValue _start_dir
starting direction of spline
const libMesh::Point _end_point
ending point of spline
std::vector< libMesh::Real > buildKnotVector() const
Internal method for building the knot vector given the degree and control points. ...
libMesh::Real CdBBasis(const libMesh::Real t, const unsigned int i, const unsigned int j) const
Evaluates the the basis function for a B-Spline according to the Cox-de-Boor recursive formula...
libMesh::Point getPoint(const libMesh::Real t) const
Evaluate the BSpline interpolation at given value of t.
const std::vector< libMesh::Point > _control_points
The control points.
std::vector< libMesh::Point > createControlPoints() const
Creates a vector control points from the SplineUtils set of functions.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const libMesh::Point _start_point
starting point of spline
Class implementing a uniform clamped B-Spline curve.
const std::vector< libMesh::Real > _knot_vector
The knot vector.
BSpline(const unsigned int degree, const libMesh::Point &start_point, const libMesh::Point &end_point, const libMesh::RealVectorValue &start_direction, const libMesh::RealVectorValue &end_direction, const unsigned int cps_per_half, const libMesh::Real sharpness)
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
libMesh::Real firstCoeff(const libMesh::Real t, const unsigned int i, const unsigned int j) const
Submethod used in CdBBasis routine.
const unsigned int _degree
The polynomial degree of the B-Spline.