---
name: "tlp_GlComplexPolygon"
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_GlComplexPolygon"
---

# tlp\_GlComplexPolygon(3tulip)

## NAME

tlp::GlComplexPolygon -

## SYNOPSIS

`#include <GlComplexPolygon.h>`

Inherits **tlp::GlSimpleEntity**.

### Public Member Functions

**GlComplexPolygon** ()\
 **GlComplexPolygon** (std::vector\< Coord \> &coords, Color fcolor, int bezier=0, const std::string &**textureName**='')\
 **GlComplexPolygon** (std::vector\< Coord \> &coords, Color fcolor, Color ocolor, int bezier=0, const std::string &**textureName**='')\
 **GlComplexPolygon** (std::vector\< std::vector\< Coord \> \> &coords, Color fcolor, int bezier=0, const std::string &**textureName**='')\
 **GlComplexPolygon** (std::vector\< std::vector\< Coord \> \> &coords, Color fcolor, Color ocolor, int bezier=0, const std::string &**textureName**='')\
 virtual **~GlComplexPolygon** ()\
 void **draw** (float lod, **Camera** \*camera)\
 virtual void **addPoint** (const Coord &point)\
 virtual void **beginNewHole** ()\
 void **setOutlineMode** (const bool)\
 virtual void **translate** (const Coord &mouvement)\
 virtual void **getXML** (xmlNodePtr rootNode)\
 virtual void **getXMLOnlyData** (xmlNodePtr rootNode)\
 virtual void **setWithXML** (xmlNodePtr rootNode)\

### Protected Member Functions

void **createPolygon** (std::vector\< Coord \> &coords, int bezier)\

### Protected Attributes

std::vector\< std::vector\< Coord \> \> **points**\
 int **currentVector**\
 bool **outlined**\
 Color **fillColor**\
 Color **outlineColor**\
 std::string **textureName**\

## Detailed Description

class to create a complex polygon (concave polygon or polygon with hole)

## Constructor & Destructor Documentation

### tlp::GlComplexPolygon::GlComplexPolygon ()` [inline]` Default constructor

### tlp::GlComplexPolygon::GlComplexPolygon (std::vector\< Coord \> & coords, Color fcolor, int bezier = `0`, const std::string & textureName = `''`) Constructor with a vector of coords, a fill color, a number of decomposition in bezier mode (if bezier==0 the polygon is render without bezier mode) and a textureName if you want

### tlp::GlComplexPolygon::GlComplexPolygon (std::vector\< Coord \> & coords, Color fcolor, Color ocolor, int bezier = `0`, const std::string & textureName = `''`) Constructor with a vector of coords, a fill color, an outline color, a number of decomposition in bezier mode (if bezier==0 the polygon is render without bezier mode) and a textureName if you want

### tlp::GlComplexPolygon::GlComplexPolygon (std::vector\< std::vector\< Coord \> \> & coords, Color fcolor, int bezier = `0`, const std::string & textureName = `''`) Constructor with a vector of vector of coords (the first vector of coord is the polygon and others vectors are holes in polygon), a fill color, a number of decomposition in bezier mode (if bezier==0 the polygon is render without bezier mode) and a textureName if you want

### tlp::GlComplexPolygon::GlComplexPolygon (std::vector\< std::vector\< Coord \> \> & coords, Color fcolor, Color ocolor, int bezier = `0`, const std::string & textureName = `''`) Constructor with a vector of vector of coords (the first vector of coord is the polygon and others vectors are holes in polygon), a fill color, an outline color a number of decomposition in bezier mode (if bezier==0 the polygon is render without bezier mode) and a textureName if you want

### virtual tlp::GlComplexPolygon::~GlComplexPolygon ()` [virtual]`

## Member Function Documentation

### virtual void tlp::GlComplexPolygon::addPoint (const Coord & point)` [virtual]` Add a new point in polygon

### virtual void tlp::GlComplexPolygon::beginNewHole ()` [virtual]` Begin a new hole in the polygon

### void tlp::GlComplexPolygon::createPolygon (std::vector\< Coord \> & coords, int bezier)` [protected]`

### void tlp::GlComplexPolygon::draw (float lod, Camera \* camera)` [virtual]` Draw the complex polygon

Implements **tlp::GlSimpleEntity**.

### virtual void tlp::GlComplexPolygon::getXML (xmlNodePtr rootNode)` [virtual]` Function to export data and type in XML

Implements **tlp::GlSimpleEntity**.

### virtual void tlp::GlComplexPolygon::getXMLOnlyData (xmlNodePtr rootNode)` [virtual]` Function to export data in XML

### void tlp::GlComplexPolygon::setOutlineMode (const bool) Set if the polygon is outlined or not

### virtual void tlp::GlComplexPolygon::setWithXML (xmlNodePtr rootNode)` [virtual]` Function to set data with XML

Implements **tlp::GlSimpleEntity**.

### virtual void tlp::GlComplexPolygon::translate (const Coord & mouvement)` [virtual]` Translate entity

Reimplemented from **tlp::GlSimpleEntity**.

## Member Data Documentation

### int tlp::GlComplexPolygon::currentVector` [protected]`

### Color tlp::GlComplexPolygon::fillColor` [protected]`

### Color tlp::GlComplexPolygon::outlineColor` [protected]`

### bool tlp::GlComplexPolygon::outlined` [protected]`

### std::vector\<std::vector\<Coord\> \> tlp::GlComplexPolygon::points` [protected]`

### std::string tlp::GlComplexPolygon::textureName` [protected]`

## Author

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