# Cinder

# cinder::BSplineBasis Class Reference

`#include <BSpline.h>`

List of all members.

## Public Member Functions
| BSplineBasis ()
| BSplineBasis (int aNumCtrlPoints, int iDegree, bool bOpen)
void | create (int aNumCtrlPoints, int iDegree, bool bOpen)
| BSplineBasis (int aNumCtrlPoints, int iDegree, const float *afKnot)
void | create (int aNumCtrlPoints, int iDegree, const float *afKnot)
| BSplineBasis (const BSplineBasis &basis)
BSplineBasis & | operator= (const BSplineBasis &basis)
| ~BSplineBasis ()
int | getNumControlPoints () const
int | getDegree () const
bool | isOpen () const
bool | isUniform () const
void | setKnot (int i, float fKnot)
float | getKnot (int i) const
float | getD0 (int i) const
float | getD1 (int i) const
float | getD2 (int i) const
float | getD3 (int i) const
void | compute (float fTime, unsigned int uiOrder, int &riMinIndex, int &riMaxIndex) const
## Protected Member Functions
int | initialize (int iNumCtrlPoints, int iDegree, bool bOpen)
float ** | allocate () const
void | deallocate (float **aafArray)
int | getKey (float &rfTime) const
## Protected Attributes
int | mNumCtrlPoints
int | mDegree
float * | mKnots
bool | mOpen
bool | mUniform
float ** | m_aafBD0
float ** | m_aafBD1
float ** | m_aafBD2
float ** | m_aafBD3

## Constructor & Destructor Documentation

cinder::BSplineBasis::BSplineBasis | ( |  | ) |

cinder::BSplineBasis::BSplineBasis | ( | int | aNumCtrlPoints,
|  | int | iDegree,
|  | bool | bOpen |
| ) |  |  |

cinder::BSplineBasis::BSplineBasis | ( | int | aNumCtrlPoints,
|  | int | iDegree,
|  | const float * | afKnot |
| ) |  |  |

cinder::BSplineBasis::BSplineBasis | ( | const BSplineBasis & | basis | ) |

cinder::BSplineBasis::~BSplineBasis | ( |  | ) |

## Member Function Documentation

void cinder::BSplineBasis::create | ( | int | aNumCtrlPoints,
|  | int | iDegree,
|  | bool | bOpen |
| ) |  |  |

void cinder::BSplineBasis::create | ( | int | aNumCtrlPoints,
|  | int | iDegree,
|  | const float * | afKnot |
| ) |  |  |

BSplineBasis & cinder::BSplineBasis::operator= | ( | const BSplineBasis & | basis | ) |

int cinder::BSplineBasis::getNumControlPoints | ( |  | ) | const

int cinder::BSplineBasis::getDegree | ( |  | ) | const

bool cinder::BSplineBasis::isOpen | ( |  | ) | const

bool cinder::BSplineBasis::isUniform | ( |  | ) | const

void cinder::BSplineBasis::setKnot | ( | int | i,
|  | float | fKnot |
| ) |  |  |

float cinder::BSplineBasis::getKnot | ( | int | i | ) | const

float cinder::BSplineBasis::getD0 | ( | int | i | ) | const

float cinder::BSplineBasis::getD1 | ( | int | i | ) | const

float cinder::BSplineBasis::getD2 | ( | int | i | ) | const

float cinder::BSplineBasis::getD3 | ( | int | i | ) | const

void cinder::BSplineBasis::compute | ( | float | fTime,
|  | unsigned int | uiOrder,
|  | int & | riMinIndex,
|  | int & | riMaxIndex |
| ) |  |  | const

int cinder::BSplineBasis::initialize | ( | int | iNumCtrlPoints,
|  | int | iDegree,
|  | bool | bOpen |
| ) |  |  | `[protected]`

float ** cinder::BSplineBasis::allocate | ( |  | ) | const`[protected]`

void cinder::BSplineBasis::deallocate | ( | float ** | aafArray | ) | `[protected]`

int cinder::BSplineBasis::getKey | ( | float & | rfTime | ) | const`[protected]`

## Member Data Documentation

int cinder::BSplineBasis::mNumCtrlPoints`[protected]`

int cinder::BSplineBasis::mDegree`[protected]`

float* cinder::BSplineBasis::mKnots`[protected]`

bool cinder::BSplineBasis::mOpen`[protected]`

bool cinder::BSplineBasis::mUniform`[protected]`

float** cinder::BSplineBasis::m_aafBD0`[protected]`

float** cinder::BSplineBasis::m_aafBD1`[mutable, protected]`

float** cinder::BSplineBasis::m_aafBD2`[mutable, protected]`

float** cinder::BSplineBasis::m_aafBD3`[mutable, protected]`

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

- include/cinder/BSpline.h
- src/cinder/BSpline.cpp