suanPan
BSpline Class Reference

#include <BSpline.h>

Inheritance diagram for BSpline:
Collaboration diagram for BSpline:

Public Member Functions

 BSpline (vec, uword, field< vec > &&={})
 
 BSpline (const BSpline &)=default
 
 BSpline (BSpline &&)=default
 
BSplineoperator= (const BSpline &)=delete
 
BSplineoperator= (BSpline &&)=delete
 
virtual ~BSpline ()=default
 
void set_control_polygon (field< vec > &&)
 
void set_control_polygon (const field< vec > &)
 
const vec & get_knot () const
 
uword get_order () const
 
uword get_number_of_control_points () const
 
uvec get_all_element_span () const
 
uword evaluate_span (double) const
 Algorithm A2.1. More...
 
vec evaluate_basis (double, sword=-1) const
 Algorithm A2.2. More...
 
mat evaluate_basis_derivative (double, sword=-1, sword=-1) const
 Algorithm A2.3. More...
 
vec evaluate_point (double) const
 
field< vec > evaluate_point_derivative (double, sword=-1) const
 
vec evaluate_shape_function (double) const
 
field< vec > evaluate_shape_function_derivative (double, sword=-1) const
 
virtual vec evaluate_point (double, const field< vec > &) const
 Algorithm A3.1. More...
 
virtual field< vec > evaluate_point_derivative (double, const field< vec > &, sword=-1) const
 Algorithm A3.2. More...
 
virtual vec evaluate_shape_function (double, const field< vec > &) const
 
virtual field< vec > evaluate_shape_function_derivative (double, const field< vec > &, sword=-1) const
 

Protected Attributes

const uword dimension
 
const vec knot
 
field< vec > net
 
const uword order = IGA::compute_order(knot)
 

Constructor & Destructor Documentation

◆ BSpline() [1/3]

BSpline::BSpline ( vec  K,
uword  S,
field< vec > &&  N = {} 
)

◆ BSpline() [2/3]

BSpline::BSpline ( const BSpline )
default

◆ BSpline() [3/3]

BSpline::BSpline ( BSpline &&  )
default

◆ ~BSpline()

virtual BSpline::~BSpline ( )
virtualdefault

Member Function Documentation

◆ evaluate_basis()

vec BSpline::evaluate_basis ( double  u,
sword  p = -1 
) const

Algorithm A2.2.

Parameters
uparameter
pdegree
Returns
basis function
Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluate_basis_derivative()

mat BSpline::evaluate_basis_derivative ( double  u,
sword  n = -1,
sword  p = -1 
) const

Algorithm A2.3.

Parameters
uparameter
norder
pdegree
Returns
derivative of basis function
Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluate_point() [1/2]

vec BSpline::evaluate_point ( double  u) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluate_point() [2/2]

vec BSpline::evaluate_point ( double  u,
const field< vec > &  polygon 
) const
virtual

Algorithm A3.1.

Parameters
uparameter
polygoncontrol net polygon
Returns
vector contains location of point

Reimplemented in NURBS.

Here is the call graph for this function:

◆ evaluate_point_derivative() [1/2]

field< vec > BSpline::evaluate_point_derivative ( double  u,
const field< vec > &  polygon,
sword  du = -1 
) const
virtual

Algorithm A3.2.

Parameters
uparameter
polygoncontrol net polygon
dudegree
Returns
matrix contains derivatives arranged in the following layout | 0th derivative | 1st derivative | 2nd derivative | ... | | x component | x component | x component | ... | | y component | y component | y component | ... | | ... | ... | ... | ... |

Reimplemented in NURBS.

Here is the call graph for this function:

◆ evaluate_point_derivative() [2/2]

field< vec > BSpline::evaluate_point_derivative ( double  u,
sword  du = -1 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluate_shape_function() [1/2]

vec BSpline::evaluate_shape_function ( double  u) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluate_shape_function() [2/2]

vec BSpline::evaluate_shape_function ( double  u,
const field< vec > &   
) const
virtual

Reimplemented in NURBS.

Here is the call graph for this function:

◆ evaluate_shape_function_derivative() [1/2]

field< vec > BSpline::evaluate_shape_function_derivative ( double  u,
const field< vec > &  ,
sword  du = -1 
) const
virtual

Reimplemented in NURBS.

Here is the call graph for this function:

◆ evaluate_shape_function_derivative() [2/2]

field< vec > BSpline::evaluate_shape_function_derivative ( double  u,
sword  du = -1 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluate_span()

uword BSpline::evaluate_span ( double  u) const

Algorithm A2.1.

Parameters
uparameter
Returns
span index
Here is the caller graph for this function:

◆ get_all_element_span()

uvec BSpline::get_all_element_span ( ) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_knot()

const vec & BSpline::get_knot ( ) const
Here is the caller graph for this function:

◆ get_number_of_control_points()

uword BSpline::get_number_of_control_points ( ) const
Here is the caller graph for this function:

◆ get_order()

uword BSpline::get_order ( ) const
Here is the caller graph for this function:

◆ operator=() [1/2]

BSpline & BSpline::operator= ( BSpline &&  )
delete

◆ operator=() [2/2]

BSpline & BSpline::operator= ( const BSpline )
delete

◆ set_control_polygon() [1/2]

void BSpline::set_control_polygon ( const field< vec > &  N)

◆ set_control_polygon() [2/2]

void BSpline::set_control_polygon ( field< vec > &&  N)

Member Data Documentation

◆ dimension

const uword BSpline::dimension
protected

◆ knot

const vec BSpline::knot
protected

◆ net

field<vec> BSpline::net
protected

◆ order

const uword BSpline::order = IGA::compute_order(knot)
protected

The documentation for this class was generated from the following files: