OGRE  1.12.9
Object-Oriented Graphics Rendering Engine
Ogre::Polygon Class Reference

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

#include <OgrePolygon.h>

Public Types

typedef std::pair< Vector3, Vector3Edge
 
typedef std::multimap< Vector3, Vector3EdgeMap
 
typedef std::vector< Vector3VertexList
 

Public Member Functions

 Polygon ()
 
 Polygon (const Polygon &cpy)
 
 ~Polygon ()
 
void deleteVertex (size_t vertex)
 Deletes a specific vertex. More...
 
const Vector3getNormal (void) const
 Returns the polygon normal. More...
 
const Vector3getVertex (size_t vertex) const
 Returns a vertex. More...
 
size_t getVertexCount (void) const
 Vertex count. More...
 
void insertVertex (const Vector3 &vdata)
 Inserts a vertex at the end of the polygon. More...
 
void insertVertex (const Vector3 &vdata, size_t vertexIndex)
 Inserts a vertex at a specific position. More...
 
bool isPointInside (const Vector3 &point) const
 Determines if a point is inside the polygon. More...
 
bool operator!= (const Polygon &rhs) const
 Determines if the current object is not equal to the compared one. More...
 
Polygonoperator= (const Ogre::Polygon &)
 
bool operator== (const Polygon &rhs) const
 Determines if the current object is equal to the compared one. More...
 
void removeDuplicates (void)
 Removes duplicate vertices from a polygon. More...
 
void reset (void)
 Resets the object. More...
 
void setVertex (const Vector3 &vdata, size_t vertexIndex)
 Sets a specific vertex of a polygon. More...
 
void storeEdges (EdgeMap *edgeMap) const
 Stores the edges of the polygon in ccw order. More...
 

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.

Member Typedef Documentation

◆ VertexList

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

◆ EdgeMap

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

◆ Edge

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

Constructor & Destructor Documentation

◆ Polygon() [1/2]

Ogre::Polygon::Polygon ( )

◆ ~Polygon()

Ogre::Polygon::~Polygon ( )

◆ Polygon() [2/2]

Ogre::Polygon::Polygon ( const Polygon cpy)

Member Function Documentation

◆ insertVertex() [1/2]

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

Inserts a vertex at a specific position.

Note
Vertices must be coplanar.

◆ insertVertex() [2/2]

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

Inserts a vertex at the end of the polygon.

Note
Vertices must be coplanar.

◆ getVertex()

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

Returns a vertex.

◆ setVertex()

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

Sets a specific vertex of a polygon.

Note
Vertices must be coplanar.

◆ removeDuplicates()

void Ogre::Polygon::removeDuplicates ( void  )

Removes duplicate vertices from a polygon.

◆ getVertexCount()

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

Vertex count.

◆ getNormal()

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

Returns the polygon normal.

◆ deleteVertex()

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

Deletes a specific vertex.

◆ isPointInside()

bool Ogre::Polygon::isPointInside ( const Vector3 point) const

Determines if a point is inside the polygon.

Remarks
A point is inside a polygon if it is both on the polygon's plane, and within the polygon's bounds. Polygons are assumed to be convex and planar.

◆ storeEdges()

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.

◆ reset()

void Ogre::Polygon::reset ( void  )

Resets the object.

◆ operator==()

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

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

◆ operator!=()

bool Ogre::Polygon::operator!= ( const Polygon rhs) const
inline

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

◆ operator=()

Polygon& Ogre::Polygon::operator= ( const Ogre::Polygon )

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