suanPan
BSplineSurface Class Reference

#include <BSplineSurface.h>

Inheritance diagram for BSplineSurface:
Collaboration diagram for BSplineSurface:

Public Member Functions

 BSplineSurface (vec, vec, uword, field< vec > &&={})
 
 BSplineSurface (const BSplineSurface &)=default
 
 BSplineSurface (BSplineSurface &&)=default
 
BSplineSurfaceoperator= (const BSplineSurface &)=delete
 
BSplineSurfaceoperator= (BSplineSurface &&)=delete
 
virtual ~BSplineSurface ()=default
 
void set_control_polygon (field< vec > &&)
 
void set_control_polygon (const field< vec > &)
 
field< uvec > get_all_element_span () const
 
uvec get_number_of_control_points () const
 
vec evaluate_point (double, double) const
 
field< vec > evaluate_point_derivative (double, double, sword=-1, sword=-1) const
 
mat evaluate_shape_function (double, double) const
 
field< mat > evaluate_shape_function_derivative (double, double, sword=-1, sword=-1) const
 
virtual vec evaluate_point (double, double, const field< vec > &) const
 
virtual field< vec > evaluate_point_derivative (double, double, const field< vec > &, sword=-1, sword=-1) const
 
virtual mat evaluate_shape_function (double, double, const field< vec > &) const
 
virtual field< mat > evaluate_shape_function_derivative (double, double, const field< vec > &, sword=-1, sword=-1) const
 

Protected Attributes

const uword dimension
 
field< vec > net
 
BSpline line_u
 
BSpline line_v
 

Constructor & Destructor Documentation

◆ BSplineSurface() [1/3]

BSplineSurface::BSplineSurface ( vec  knot_u,
vec  knot_v,
uword  size,
field< vec > &&  N = {} 
)
explicit

◆ BSplineSurface() [2/3]

BSplineSurface::BSplineSurface ( const BSplineSurface )
default

◆ BSplineSurface() [3/3]

BSplineSurface::BSplineSurface ( BSplineSurface &&  )
default

◆ ~BSplineSurface()

virtual BSplineSurface::~BSplineSurface ( )
virtualdefault

Member Function Documentation

◆ evaluate_point() [1/2]

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

◆ evaluate_point() [2/2]

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

Reimplemented in NURBSSurface.

Here is the call graph for this function:

◆ evaluate_point_derivative() [1/2]

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

Reimplemented in NURBSSurface.

Here is the call graph for this function:

◆ evaluate_point_derivative() [2/2]

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

◆ evaluate_shape_function() [1/2]

mat BSplineSurface::evaluate_shape_function ( double  u,
double  v 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluate_shape_function() [2/2]

mat BSplineSurface::evaluate_shape_function ( double  u,
double  v,
const field< vec > &   
) const
virtual

Reimplemented in NURBSSurface.

Here is the call graph for this function:

◆ evaluate_shape_function_derivative() [1/2]

field< mat > BSplineSurface::evaluate_shape_function_derivative ( double  u,
double  v,
const field< vec > &  ,
sword  du = -1,
sword  dv = -1 
) const
virtual

Reimplemented in NURBSSurface.

Here is the call graph for this function:

◆ evaluate_shape_function_derivative() [2/2]

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

◆ get_all_element_span()

field< uvec > BSplineSurface::get_all_element_span ( ) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_number_of_control_points()

uvec BSplineSurface::get_number_of_control_points ( ) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

BSplineSurface & BSplineSurface::operator= ( BSplineSurface &&  )
delete

◆ operator=() [2/2]

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

◆ set_control_polygon() [1/2]

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

◆ set_control_polygon() [2/2]

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

Member Data Documentation

◆ dimension

const uword BSplineSurface::dimension
protected

◆ line_u

BSpline BSplineSurface::line_u
protected

◆ line_v

BSpline BSplineSurface::line_v
protected

◆ net

field<vec> BSplineSurface::net
protected

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