Overview     Modules     Class Hierarchy     Classes     Members  
tlp::GlPolyQuad Class Reference

General class used to render a connected group of quadrilaterals (textured or not) that shares edges as GlEntity. More...

#include <GlPolyQuad.h>

Inheritance diagram for tlp::GlPolyQuad:
Collaboration diagram for tlp::GlPolyQuad:

Public Member Functions

 GlPolyQuad (const std::string &textureName="", const bool outlined=false, const int outlineWidth=1, const Color &outlineColor=Color(0, 0, 0))
 GlPolyQuad (const std::vector< Coord > &polyQuadEdges, const std::vector< Color > &polyQuadEdgesColor, const std::string &textureName="", const bool outlined=false, const int outlineWidth=1, const Color &outlineColor=Color(0, 0, 0))
 GlPolyQuad (const std::vector< Coord > &polyQuadEdges, const Color &polyQuadColor, const std::string &textureName="", const bool outlined=false, const int outlineWidth=1, const Color &outlineColor=Color(0, 0, 0))
void addQuadEdge (const Coord &edgeStart, const Coord &edgeEnd, const Color &edgeColor)
void draw (float lod, Camera *camera)
void setColor (const Color &color)
void setOutlineColor (const Color &color)
void setOutlined (const bool outline)
void setOutlineWidth (const int width)
void translate (const Coord &move)
void getXML (xmlNodePtr rootNode)
void setWithXML (xmlNodePtr rootNode)
- Public Member Functions inherited from tlp::GlSimpleEntity
 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)
- Public Member Functions inherited from tlp::GlEntity
virtual ~GlEntity ()

Additional Inherited Members

- Protected Attributes inherited from tlp::GlSimpleEntity
bool visible
int stencil
bool checkByBoundingBoxVisitor
BoundingBox boundingBox
std::vector< GlComposite * > parents

Detailed Description

General class used to render a connected group of quadrilaterals (textured or not) that shares edges as GlEntity.

This generic class is used to render a connected group of quadrilaterals (textured or not) that shares edges as GlEntity

Constructor & Destructor Documentation

tlp::GlPolyQuad::GlPolyQuad ( const std::string &  textureName = "",
const bool  outlined = false,
const int  outlineWidth = 1,
const Color &  outlineColor = Color(0, 0, 0) 
)

Default Constructor for initializing an empty polyquad Use the addQuadEdge method to set the quads edges

Parameters
textureNameThe absolute path of the texture image file to use
tlp::GlPolyQuad::GlPolyQuad ( const std::vector< Coord > &  polyQuadEdges,
const std::vector< Color > &  polyQuadEdgesColor,
const std::string &  textureName = "",
const bool  outlined = false,
const int  outlineWidth = 1,
const Color &  outlineColor = Color(0, 0, 0) 
)

Constructor for building a polyquad with spefific colors for each edges

Pay attention to the order of the edges point in the polyQuadEdges vector. Indeed, to draw the following polyquad

               v2
     v0+--------+--------+ v4
       |        |        |
       |        |        |
       |        |        |
     v1+--------+--------+ v5
               v3

The content of the polyQuadEdges vector should be {v0, v1, v2, v3, v4, v5} or {v1, v0, v3, v2, v5, v4}

Parameters
polyQuadEdgesA vector containing the coordinates of the quad edges, its size must be a multiple of 2 because an edge is defined by 2 points
polyQuadEdgesColorA vector containing the edges's colors, its size must be equal to the number of edges defined by the polyQuadEdges vector
textureNameThe absolute path of the texture image file to use
tlp::GlPolyQuad::GlPolyQuad ( const std::vector< Coord > &  polyQuadEdges,
const Color &  polyQuadColor,
const std::string &  textureName = "",
const bool  outlined = false,
const int  outlineWidth = 1,
const Color &  outlineColor = Color(0, 0, 0) 
)

Constructor for building a polyquad with a single color

Parameters
polyQuadEdgesA vector containing the coordinates of the quad edges, its size must be a multiple of 2 because an edge is defined by 2 points
polyQuadColorThe polyquad color
textureNameThe absolute path of the texture image file to use

Member Function Documentation

void tlp::GlPolyQuad::addQuadEdge ( const Coord &  edgeStart,
const Coord &  edgeEnd,
const Color &  edgeColor 
)

Method to add a polyquad edge

Parameters
edgeStartThe first end of the edge
edgeEndThe other end of the edge
edgeColorThe edge's color
void tlp::GlPolyQuad::draw ( float  lod,
Camera camera 
)
virtual

Virtual function used to draw the polyquad.

Implements tlp::GlSimpleEntity.

void tlp::GlPolyQuad::getXML ( xmlNodePtr  rootNode)
virtual

Function to export data in XML

Implements tlp::GlSimpleEntity.

void tlp::GlPolyQuad::setColor ( const Color &  color)

Method to set the polyquad color (all edges share the same color)

void tlp::GlPolyQuad::setOutlineColor ( const Color &  color)
inline

Method to set the polyquad outline color

void tlp::GlPolyQuad::setOutlined ( const bool  outline)
inline

Method to toggle polyquad outline

void tlp::GlPolyQuad::setOutlineWidth ( const int  width)
inline

Method to set the polyquad outline width

void tlp::GlPolyQuad::setWithXML ( xmlNodePtr  rootNode)
virtual

Function to set data with XML

Implements tlp::GlSimpleEntity.

void tlp::GlPolyQuad::translate ( const Coord &  move)
virtual

Method to translate entity

Reimplemented from tlp::GlSimpleEntity.



Tulip Software by LaBRI Visualization Team    2001 - 2012