![]() |
Tulip
6.0.0
Large graphs analysis and drawing
|
#include <GlCatmullRomCurve.h>
Inherits AbstractGlCurve.
Public Member Functions | |
| GlCatmullRomCurve (const std::vector< Coord > &controlPoints, const Color &startColor, const Color &endColor, const float startSize, const float endSize, const bool closedCurve=false, const unsigned int nbCurvePoints=200, const ParameterizationType paramType=CENTRIPETAL) | |
| void | drawCurve (std::vector< Coord > &controlPoints, const Color &startColor, const Color &endColor, const float startSize, const float endSize, const unsigned int nbCurvePoints=200) override |
| void | setClosedCurve (const bool closedCurve) |
| void | setParameterizationType (const ParameterizationType paramType) |
A class to draw a Catmull-Rom curve.
This class allow to draw a Catmull-Rom curve, a smooth curve which passes through all its control points. Catmull-Rom splines are a family of cubic interpolating splines formulated such that the tangent at each control point is calculated using the previous and next control point point of the spline. Catmull-Rom splines have C^1 continuity, local control, and interpolation, but do not lie within the convex hull of their control points.
Definition at line 42 of file GlCatmullRomCurve.h.
| tlp::GlCatmullRomCurve::GlCatmullRomCurve | ( | const std::vector< Coord > & | controlPoints, |
| const Color & | startColor, | ||
| const Color & | endColor, | ||
| const float | startSize, | ||
| const float | endSize, | ||
| const bool | closedCurve = false, |
||
| const unsigned int | nbCurvePoints = 200, |
||
| const ParameterizationType | paramType = CENTRIPETAL |
||
| ) |
GlCatmullRomCurve constructor.
| 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 |
| closedCurve | if true, the curve will be closed and a bezier segment will be drawn between the last and first control point |
| paramType | curve parameterization type (GlCatmullRomCurve::UNIFORM | GlCatmullRomCurve::CENTRIPETAL | GlCatmullRomCurve::CHORD_LENGTH (default)) |
| nbCurvePoints | the number of curve points to generate |