Overview | Modules | Class Hierarchy | Classes | Members

# tlp::GlComplexPolygon Class Reference

`#include <GlComplexPolygon.h>`

Inherits tlp::GlSimpleEntity.

Inheritance diagram for tlp::GlComplexPolygon:

[legend]
Collaboration diagram for tlp::GlComplexPolygon:

[legend]
List of all members.

## Detailed Description

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

## 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)
- void setOutlineSize (double size)
- 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
- double outlineSize
- std::string textureName

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

void tlp::GlComplexPolygon::setOutlineSize | ( | double | size | ) |

| Set size of outline

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]`

double tlp::GlComplexPolygon::outlineSize`[protected]`

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

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

Tulip Software by LaBRI Visualization Team 2001 - 2010