Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# Ogre::Polygon Class Reference

The class represents a polygon in 3D space. More...

`#include <OgrePolygon.h>`

List of all members.

## Public Types
typedef std::vector< Vector3 > | VertexList
typedef std::multimap< Vector3, Vector3 > | EdgeMap
typedef std::pair< Vector3, Vector3 > | Edge
## Public Member Functions
| Polygon ()
| ~Polygon ()
| Polygon (const Polygon &cpy)
void | insertVertex (const Vector3 &vdata, size_t vertexIndex)
| Inserts a vertex at a specific position.
void | insertVertex (const Vector3 &vdata)
| Inserts a vertex at the end of the polygon.
const Vector3 & | getVertex (size_t vertex) const
| Returns a vertex.
void | setVertex (const Vector3 &vdata, size_t vertexIndex)
| Sets a specific vertex of a polygon.
void | removeDuplicates (void)
| Removes duplicate vertices from a polygon.
size_t | getVertexCount (void) const
| Vertex count.
const Vector3 & | getNormal (void)
| Returns the polygon normal.
void | deleteVertex (size_t vertex)
| Deletes a specific vertex.
void | storeEdges (EdgeMap *edgeMap) const
| Stores the edges of the polygon in ccw order.
void | reset (void)
| Resets the object.
bool | operator== (const Polygon &rhs) const
| Determines if the current object is equal to the compared one.
bool | operator!= (const Polygon &rhs) const
| Determines if the current object is not equal to the compared one.
## Protected Member Functions
void | updateNormal (void)
| Updates the normal.
## Protected Attributes
VertexList | mVertexList
Vector3 | mNormal
bool | mIsNormalSet
## Friends
_OgreExport friend std::ostream & | operator<< (std::ostream &strm, const Polygon &poly)
| Prints out the polygon data.

## Detailed Description

The class represents a polygon in 3D space.

Remarks:
  It is made up of 3 or more vertices in a single plane, listed in counter-clockwise order.

Definition at line 46 of file OgrePolygon.h.

## Member Typedef Documentation

typedef std::pair< Vector3, Vector3> Ogre::Polygon::Edge

| Definition at line 53 of file OgrePolygon.h.

typedef std::multimap<Vector3, Vector3> Ogre::Polygon::EdgeMap

| Definition at line 52 of file OgrePolygon.h.

typedef std::vector<Vector3> Ogre::Polygon::VertexList

| Definition at line 50 of file OgrePolygon.h.

## Constructor & Destructor Documentation

Ogre::Polygon::Polygon | ( |  | ) |

Ogre::Polygon::~Polygon | ( |  | ) |

Ogre::Polygon::Polygon | ( | const Polygon & | cpy | ) |

## Member Function Documentation

void Ogre::Polygon::deleteVertex | ( | size_t | vertex | ) |

| Deletes a specific vertex.

const Vector3& Ogre::Polygon::getNormal | ( | void |  | ) |

| Returns the polygon normal.

const Vector3& Ogre::Polygon::getVertex | ( | size_t | vertex | ) | const

| Returns a vertex.

size_t Ogre::Polygon::getVertexCount | ( | void |  | ) | const

| Vertex count.

void Ogre::Polygon::insertVertex | ( | const Vector3 & | vdata | ) |

| Inserts a vertex at the end of the polygon. Note: Vertices must be coplanar.

void Ogre::Polygon::insertVertex | ( | const Vector3 & | vdata,
|  | size_t | vertexIndex
| ) |

| Inserts a vertex at a specific position. Note: Vertices must be coplanar.

bool Ogre::Polygon::operator!= | ( | const Polygon & | rhs | ) | const

| Determines if the current object is not equal to the compared one. Definition at line 119 of file OgrePolygon.h.

bool Ogre::Polygon::operator== | ( | const Polygon & | rhs | ) | const

| Determines if the current object is equal to the compared one.

void Ogre::Polygon::removeDuplicates | ( | void |  | ) |

| Removes duplicate vertices from a polygon.

void Ogre::Polygon::reset | ( | void |  | ) |

| Resets the object.

void Ogre::Polygon::setVertex | ( | const Vector3 & | vdata,
|  | size_t | vertexIndex
| ) |

| Sets a specific vertex of a polygon. Note: Vertices must be coplanar.

void Ogre::Polygon::storeEdges | ( | EdgeMap * | edgeMap | ) | const

| Stores the edges of the polygon in ccw order. The vertices are copied so the user has to take the deletion into account.

void Ogre::Polygon::updateNormal | ( | void |  | ) | `[protected]`

| Updates the normal.

## Friends And Related Function Documentation

_OgreExport friend std::ostream& operator<< | ( | std::ostream & | strm,
|  | const Polygon & | poly
| ) | `[friend]`

| Prints out the polygon data.

## Member Data Documentation

bool Ogre::Polygon::mIsNormalSet`[protected]`

| Definition at line 58 of file OgrePolygon.h.

Vector3 Ogre::Polygon::mNormal`[protected]`

| Definition at line 57 of file OgrePolygon.h.

VertexList Ogre::Polygon::mVertexList`[protected]`

| Definition at line 56 of file OgrePolygon.h.

The documentation for this class was generated from the following file:

- OgrePolygon.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 30 10:52:21 2007