---
name: "tlp_GlPolyQuad"
section: "3tulip"
platform: "linux"
package: "tulip-doc"
version: "3.1.2-2.3"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/tlp_GlPolyQuad"
---

# tlp\_GlPolyQuad(3tulip)

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

## NAME

tlp::GlPolyQuad -

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

## SYNOPSIS

`#include <GlPolyQuad.h>`

Inherits **tlp::GlSimpleEntity**.

### 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)\

## 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 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**.

## Author

Generated automatically by Doxygen for Tulip Open GL Library from the source code.
