Virtual Testbed
Ship dynamics simulator for extreme conditions
Public Types | Public Member Functions | List of all members
vtb::geometry::Closed_basis_spline< T, N > Class Template Reference

Closed non-uniform rational basis spline (NURBS). More...

#include <basis_spline.hh>

Inheritance diagram for vtb::geometry::Closed_basis_spline< T, N >:
[legend]
Collaboration diagram for vtb::geometry::Closed_basis_spline< T, N >:
[legend]

Public Types

using value_type = element_type
 
using scalar_type = T
 
using size_type = size_t
 
using element_array = std::vector< element_type >
 
using knot_array = std::vector< knot_type >
 
- Public Types inherited from vtb::geometry::Basis_spline< T, N >
using point_type = Vertex< T, N >
 
using element_type = Vertex< T, N+1 >
 
using knot_type = T
 
using weight_type = T
 
using point_array = std::vector< point_type >
 
using element_array = std::vector< element_type >
 
using knot_array = std::vector< knot_type >
 
using weight_array = std::vector< weight_type >
 
using coefficient_array = std::vector< T >
 
using scalar_type = T
 
using value_type = element_type
 
using reference = value_type &
 
using const_reference = const value_type &
 
using size_type = size_t
 

Public Member Functions

 Closed_basis_spline (element_array elements, size_type degree=3)
 
- Public Member Functions inherited from vtb::geometry::Basis_spline< T, N >
 Basis_spline (const Basis_spline &)=default
 
Basis_splineoperator= (const Basis_spline &)=default
 
 Basis_spline (Basis_spline &&)=default
 
Basis_splineoperator= (Basis_spline &&)=default
 
 Basis_spline (element_array elements, knot_array knots)
 
 Basis_spline (element_array elements, size_type degree=3)
 
 Basis_spline (point_array points, weight_array weights, knot_array knots)
 
 Basis_spline (point_array points, knot_array knots)
 
 Basis_spline (point_array points, weight_array weights, size_type degree=3)
 
 Basis_spline (point_array points, size_type degree=3)
 
size_type degree () const
 
size_type num_internal_knots () const
 
element_type operator() (T x) const
 Uses de Boor's agorithm [deboor1977]. More...
 
coefficient_array coefficients (T x) const
 
void interpolate ()
 
size_type size () const
 
size_type num_points () const
 
size_type num_knots () const
 
const knot_arrayknots () const
 
const element_arrayelements () const
 
void range (T min, T max)
 

Additional Inherited Members

- Static Public Member Functions inherited from vtb::geometry::Basis_spline< T, N >
static knot_array make_knots (size_type npoints, size_type degree)
 
static knot_array make_cyclic_knots (size_type npoints, size_type degree)
 
static element_type to_element (const point_type &p, T weight)
 
static point_type to_point (const element_type &elem)
 

Detailed Description

template<class T, int N>
class vtb::geometry::Closed_basis_spline< T, N >

Closed non-uniform rational basis spline (NURBS).

Date
2019-11-02
See also
https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/B-spline/bspline-curve-closed.html

Definition at line 292 of file basis_spline.hh.