OGRE  1.9.0
Ogre::Polygon Class Reference

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

#include <OgrePolygon.h>

Public Types

typedef std::pair< Vector3, Vector3Edge
 
typedef multimap< Vector3, Vector3 >::type EdgeMap
 
typedef vector< Vector3 >::type VertexList
 

Public Member Functions

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

Protected Member Functions

void updateNormal (void) const
 Updates the normal.
 

Protected Attributes

bool mIsNormalSet
 
Vector3 mNormal
 
VertexList mVertexList
 

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 52 of file OgrePolygon.h.

Member Typedef Documentation

◆ Edge

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

Definition at line 59 of file OgrePolygon.h.

◆ EdgeMap

Definition at line 58 of file OgrePolygon.h.

◆ VertexList

Definition at line 56 of file OgrePolygon.h.

Constructor & Destructor Documentation

◆ Polygon() [1/2]

Ogre::Polygon::Polygon ( )

◆ ~Polygon()

Ogre::Polygon::~Polygon ( )

◆ Polygon() [2/2]

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

References Polygon().

Member Function Documentation

◆ deleteVertex()

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

Deletes a specific vertex.

◆ getNormal()

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

Returns the polygon normal.

◆ getVertex()

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

Returns a vertex.

◆ getVertexCount()

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

Vertex count.

◆ insertVertex() [1/2]

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

Inserts a vertex at the end of the polygon.

Note
Vertices must be coplanar.

◆ insertVertex() [2/2]

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

Inserts a vertex at a specific position.

Note
Vertices must be coplanar.

◆ 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.

◆ operator!=()

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

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

Definition at line 133 of file OgrePolygon.h.

References Polygon().

◆ operator==()

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

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

References Polygon().

◆ removeDuplicates()

void Ogre::Polygon::removeDuplicates ( void )

Removes duplicate vertices from a polygon.

◆ reset()

void Ogre::Polygon::reset ( void )

Resets the object.

◆ setVertex()

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

Sets a specific vertex of a polygon.

Note
Vertices must be coplanar.

◆ 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.

◆ updateNormal()

void Ogre::Polygon::updateNormal ( void ) const
protected

Updates the normal.

Friends And Related Symbol Documentation

◆ operator<<

_OgreExport friend std::ostream & operator<< ( std::ostream & strm,
const Polygon & poly )
friend

Prints out the polygon data.

References Polygon(), and _OgreExport.

Member Data Documentation

◆ mIsNormalSet

bool Ogre::Polygon::mIsNormalSet
mutableprotected

Definition at line 64 of file OgrePolygon.h.

◆ mNormal

Vector3 Ogre::Polygon::mNormal
mutableprotected

Definition at line 63 of file OgrePolygon.h.

◆ mVertexList

VertexList Ogre::Polygon::mVertexList
protected

Definition at line 62 of file OgrePolygon.h.


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