Overview     Modules     Class Hierarchy     Classes     Members  

tlp::GlPolyQuad Class Reference

#include <GlPolyQuad.h>

Inherits tlp::GlSimpleEntity.

Inheritance diagram for tlp::GlPolyQuad:

Inheritance graph
[legend]
Collaboration diagram for tlp::GlPolyQuad:

Collaboration graph
[legend]
List of all members.

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

Public Member Functions

  • GlPolyQuad (const string &textureName="", const bool outlined=false, const int outlineWidth=1, const Color &outlineColor=Color(0, 0, 0))
  • GlPolyQuad (const vector< Coord > &polyQuadEdges, const vector< Color > &polyQuadEdgesColor, const string &textureName="", const bool outlined=false, const int outlineWidth=1, const Color &outlineColor=Color(0, 0, 0))
  • GlPolyQuad (const vector< Coord > &polyQuadEdges, const Color &polyQuadColor, const 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)

Constructor & Destructor Documentation

tlp::GlPolyQuad::GlPolyQuad const 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:
textureName The absolute path of the texture image file to use

tlp::GlPolyQuad::GlPolyQuad const vector< Coord > &  polyQuadEdges,
const vector< Color > &  polyQuadEdgesColor,
const 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:
polyQuadEdges A vector containing the coordinates of the quad edges, its size must be a multiple of 2 because an edge is defined by 2 points
polyQuadEdgesColor A vector containing the edges's colors, its size must be equal to the number of edges defined by the polyQuadEdges vector
textureName The absolute path of the texture image file to use

tlp::GlPolyQuad::GlPolyQuad const vector< Coord > &  polyQuadEdges,
const Color &  polyQuadColor,
const 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:
polyQuadEdges A vector containing the coordinates of the quad edges, its size must be a multiple of 2 because an edge is defined by 2 points
polyQuadColor The polyquad color
textureName The 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:
edgeStart The first end of the edge
edgeEnd The other end of the edge
edgeColor The 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 - 2010