Public Member Functions |
| GlCubicBSplineInterpolation (const std::vector< Coord > &pointsToInterpolate, const Color &startColor, const Color &endColor, const float startSize, const float endSize, const unsigned int nbCurvePoints=100) |
| 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) |
| AbstractGlCurve (const std::string &shaderProgramName, const std::string &curveSpecificShaderCode) |
| AbstractGlCurve (const std::string &shaderProgramName, const std::string &curveSpecificShaderCode, const std::vector< Coord > &controlPoints, const Color &startColor, const Color &endColor, const float startSize, const float endSize, const unsigned int nbCurvePoints) |
virtual | ~AbstractGlCurve () |
void | draw (float lod, Camera *camera) |
void | translate (const Coord &move) |
virtual void | setTexture (const std::string &texture) |
virtual void | setOutlined (const bool outlined) |
virtual void | setOutlineColor (const Color &outlineColor) |
virtual void | setOutlineColorInterpolation (const bool outlineColorInterpolation) |
void | setLineCurve (const bool lineCurve) |
void | setCurveLineWidth (const float curveLineWidth) |
void | setCurveQuadBordersWidth (const float curveQuadBorderWidth) |
virtual void | setBillboardCurve (const bool billboardCurve) |
virtual void | setLookDir (const Coord &lookDir) |
void | getXML (xmlNodePtr rootNode) |
void | setWithXML (xmlNodePtr rootNode) |
| GlSimpleEntity () |
virtual | ~GlSimpleEntity () |
virtual void | acceptVisitor (GlSceneVisitor *visitor) |
virtual void | setVisible (bool visible) |
bool | isVisible () |
virtual void | setStencil (int stencil) |
int | getStencil () |
void | setCheckByBoundingBoxVisitor (bool check) |
bool | isCheckByBoundingBoxVisitor () |
virtual BoundingBox | getBoundingBox () |
virtual void | addLayerParent (GlLayer *) |
virtual void | removeLayerParent (GlLayer *) |
void | addParent (GlComposite *composite) |
void | removeParent (GlComposite *composite) |
virtual | ~GlEntity () |
Additional Inherited Members |
void | setCurveVertexShaderRenderingSpecificParameters () |
Coord | computeCurvePointOnCPU (const std::vector< Coord > &controlPoints, float t) |
void | computeCurvePointsOnCPU (const std::vector< Coord > &controlPoints, std::vector< Coord > &curvePoints, unsigned int nbCurvePoints) |
static void | buildCurveVertexBuffers (const unsigned int nbCurvePoints, bool vboOk) |
std::string | shaderProgramName |
GlShaderProgram * | curveShaderProgramNormal |
GlShaderProgram * | curveShaderProgramBillboard |
GlShaderProgram * | curveShaderProgram |
std::vector< Coord > | controlPoints |
Color | startColor |
Color | endColor |
float | startSize |
float | endSize |
unsigned int | nbCurvePoints |
bool | outlined |
Color | outlineColor |
std::string | texture |
float | texCoordFactor |
bool | billboardCurve |
Coord | lookDir |
bool | lineCurve |
float | curveLineWidth |
float | curveQuadBordersWidth |
bool | outlineColorInterpolation |
static std::map< unsigned int,
GLfloat * > | curveVertexBuffersData |
static std::map< unsigned int,
std::vector< GLushort * > > | curveVertexBuffersIndices |
static std::map< unsigned int,
GLuint * > | curveVertexBuffersObject |
static std::map< std::string,
GlShaderProgram * > | curvesShadersMap |
static std::map< std::string,
GlShaderProgram * > | curvesBillboardShadersMap |
static GlShader * | curveVertexShaderNormalMain |
static GlShader * | curveVertexShaderBillboardMain |
static GlShader * | fisheyeDistortionVertexShader |
static bool | canUseGeometryShader |
static std::map< std::string,
std::pair< GlShaderProgram
*, GlShaderProgram * > > | curvesGeometryShadersMap |
static GlShader * | curveVertexGeometryShaderNormalMain |
static std::map< std::string,
std::pair< GlShaderProgram
*, GlShaderProgram * > > | curvesBillboardGeometryShadersMap |
A class to draw a curve interpolating a set of points with C^2 continuity
This class allows to draw a cubic B-spline interpolating a set of points. The resulting curve is C^2 continous, so there is no discontinuities in curvature.