Public Member Functions |
| GlBezierCurve () |
| GlBezierCurve (const std::vector< Coord > &controlPoints, const Color &startColor, const Color &endColor, const float &startSize, const float &endSize, const unsigned int nbCurvePoints=100) |
| ~GlBezierCurve () |
void | drawCurve (std::vector< Coord > &controlPoints, const Color &startColor, const Color &endColor, const float startSize, const float endSize, const unsigned int nbCurvePoints=100) |
| 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 |
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 Bézier curves.
This class allows to draw Bézier curves defined by an arbitrary number of control points. Bézier curves are named after their inventor, Dr. Pierre Bézier. He was an engineer with the Renault car company and set out in the early 1960’s to develop a curve formulation which would lend itself to shape design. Bézier curves are widely used in computer graphics to model smooth curves. A Bézier curve is completely contained in the convex hull of its control points and passes through its first and last control points. The curve is also always tangent to the first and last convex hull polygon segments. In addition, the curve shape tends to follow the polygon shape.