Cumulia Illustrator Rendering Engine v1.0.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
cil::BSplineCurve Class Reference

#include <spline.h>

Inheritance diagram for cil::BSplineCurve:
cil::FitBSplineCurve

Public Types

enum class  Boundary { OPEN , CLOSED , CLAMPED }
 

Public Member Functions

 BSplineCurve ()
 
 BSplineCurve (std::vector< Vector3f > points, int k=3, Boundary bound=BSplineCurve::Boundary::CLAMPED)
 
float BasisFunction (int i, int k, float u)
 
Vector3f CalculatePoint (float u)
 

Public Attributes

std::vector< Vector3fcontrol_points
 
std::vector< float > knot_vector
 
int degree
 
Boundary boundary
 

Member Enumeration Documentation

◆ Boundary

enum class cil::BSplineCurve::Boundary
strong
Enumerator
OPEN 
CLOSED 
CLAMPED 

Constructor & Destructor Documentation

◆ BSplineCurve() [1/2]

cil::BSplineCurve::BSplineCurve ( )

◆ BSplineCurve() [2/2]

cil::BSplineCurve::BSplineCurve ( std::vector< Vector3f > points,
int k = 3,
Boundary bound = BSplineCurve::Boundary::CLAMPED )

Member Function Documentation

◆ BasisFunction()

float cil::BSplineCurve::BasisFunction ( int i,
int k,
float u )

◆ CalculatePoint()

Vector3f cil::BSplineCurve::CalculatePoint ( float u)

Member Data Documentation

◆ boundary

Boundary cil::BSplineCurve::boundary

◆ control_points

std::vector<Vector3f> cil::BSplineCurve::control_points

◆ degree

int cil::BSplineCurve::degree

◆ knot_vector

std::vector<float> cil::BSplineCurve::knot_vector