tlp::GlOpenUniformCubicBSpline Class Reference#include <GlOpenUniformCubicBSpline.h>
Inherits tlp::AbstractGlCurve.
Inherited by tlp::GlCubicBSplineInterpolation.
Inheritance diagram for tlp::GlOpenUniformCubicBSpline:
[legend]Collaboration diagram for tlp::GlOpenUniformCubicBSpline:
[legend]List of all members.
Detailed Description
A class to draw open uniform cubic B-splines.
A B-spline is a convenient form for representing complicated, smooth curves. A cubic uniform B-spline is a piecewise collection of cubic Bézier curves, connected end to end. A cubic B-spline is C^2 continuous, meaning there is no discontinuities in curvature. B-splines have local control : parameters of a B-spline only affect a small part of the entire spline. A B-spline is qualified as open when it passes through its first and last control points.
Public Member Functions
- GlOpenUniformCubicBSpline ()
- GlOpenUniformCubicBSpline (const std::vector< Coord > &controlPoints, const Color &startColor, const Color &endColor, const float startSize, const float endSize, const unsigned int nbCurvePoints=200)
- ~GlOpenUniformCubicBSpline ()
- void drawCurve (std::vector< Coord > &controlPoints, const Color &startColor, const Color &endColor, const float startSize, const float endSize, const unsigned int nbCurvePoints=200)
Protected Member Functions
Constructor & Destructor Documentation
tlp::GlOpenUniformCubicBSpline::GlOpenUniformCubicBSpline |
( |
|
) |
|
|
tlp::GlOpenUniformCubicBSpline::GlOpenUniformCubicBSpline |
( |
const std::vector< Coord > & |
controlPoints, |
|
|
const Color & |
startColor, |
|
|
const Color & |
endColor, |
|
|
const float |
startSize, |
|
|
const float |
endSize, |
|
|
const unsigned int |
nbCurvePoints = 200 |
|
) |
|
|
|
GlOpenUniformCubicBSpline constructor
- Parameters:
-
| controlPoints | a vector of control points (size must be greater or equal to 4) |
| startColor | the color at the start of the curve |
| endColor | the color at the end of the curve |
| startSize | the width at the start of the curve |
| endSize | the width at the end of the curve |
| nbCurvePoints | the number of curve points to generate |
|
tlp::GlOpenUniformCubicBSpline::~GlOpenUniformCubicBSpline |
( |
|
) |
|
|
Member Function Documentation
Coord tlp::GlOpenUniformCubicBSpline::computeCurvePointOnCPU |
( |
const std::vector< Coord > & |
controlPoints, |
|
|
float |
t |
|
) |
[protected, virtual] |
|
void tlp::GlOpenUniformCubicBSpline::computeCurvePointsOnCPU |
( |
const std::vector< Coord > & |
controlPoints, |
|
|
std::vector< Coord > & |
curvePoints, |
|
|
unsigned int |
nbCurvePoints |
|
) |
[protected, virtual] |
|
void tlp::GlOpenUniformCubicBSpline::drawCurve |
( |
std::vector< Coord > & |
controlPoints, |
|
|
const Color & |
startColor, |
|
|
const Color & |
endColor, |
|
|
const float |
startSize, |
|
|
const float |
endSize, |
|
|
const unsigned int |
nbCurvePoints = 200 |
|
) |
[virtual] |
|
void tlp::GlOpenUniformCubicBSpline::setCurveVertexShaderRenderingSpecificParameters |
( |
|
) |
[protected, virtual] |
|
|