OGRE  13.6
Object-Oriented Graphics Rendering Engine
Ogre::ConvexBody Class Reference

Holds a solid representation of a convex body. More...

#include <OgreConvexBody.h>

Public Types

typedef std::vector< Polygon * > PolygonList
 

Public Member Functions

 ConvexBody ()
 
 ConvexBody (const ConvexBody &cpy)
 
 ~ConvexBody ()
 
void clip (const AxisAlignedBox &aab)
 Clips the body with an AAB. More...
 
void clip (const ConvexBody &body)
 Clips the body with another body. More...
 
void clip (const Frustum &frustum)
 Clips the body with a frustum. More...
 
void clip (const Plane &pl, bool keepNegative=true)
 Clips the object by the positive half space of a plane. More...
 
void define (const AxisAlignedBox &aab)
 Build a new polygon representation from an AAB. More...
 
void define (const Frustum &frustum)
 Build a new polygon representation from a frustum. More...
 
void extend (const Vector3 &pt)
 Extends the existing body to incorporate the passed in point as a convex hull. More...
 
AxisAlignedBox getAABB (void) const
 Returns an AABB representation. More...
 
const Vector3getNormal (size_t poly)
 Returns the normal of a specified polygon. More...
 
const PolygongetPolygon (size_t poly) const
 Returns a polygon. More...
 
size_t getPolygonCount (void) const
 Returns the current number of polygons. More...
 
const Vector3getVertex (size_t poly, size_t vertex) const
 Returns a specific vertex of a polygon. More...
 
size_t getVertexCount (size_t poly) const
 Returns the number of vertices for a polygon. More...
 
bool hasClosedHull (void) const
 Checks if the body has a closed hull. More...
 
void logInfo () const
 
void mergePolygons (void)
 Merges all neighboring polygons into one single polygon if they are lay in the same plane. More...
 
bool operator!= (const ConvexBody &rhs) const
 Determines if the current object is not equal to the compared one. More...
 
bool operator== (const ConvexBody &rhs) const
 Determines if the current object is equal to the compared one. More...
 
void reset (void)
 Resets the object. More...
 

Static Public Member Functions

static void _destroyPool ()
 Tear down the internal polygon pool used to minimise allocations. More...
 
static void _initialisePool ()
 Initialise the internal polygon pool used to minimise allocations. More...
 

Detailed Description

Holds a solid representation of a convex body.

Remarks
Administers a convex body. All polygons of the body are convex and planar. Several operations may be applied, ranging from intersection to join where each result it itself a convex body.

Member Typedef Documentation

◆ PolygonList

typedef std::vector< Polygon* > Ogre::ConvexBody::PolygonList

Constructor & Destructor Documentation

◆ ConvexBody() [1/2]

Ogre::ConvexBody::ConvexBody ( )

◆ ~ConvexBody()

Ogre::ConvexBody::~ConvexBody ( )

◆ ConvexBody() [2/2]

Ogre::ConvexBody::ConvexBody ( const ConvexBody cpy)

Member Function Documentation

◆ define() [1/2]

void Ogre::ConvexBody::define ( const Frustum frustum)

Build a new polygon representation from a frustum.

◆ define() [2/2]

void Ogre::ConvexBody::define ( const AxisAlignedBox aab)

Build a new polygon representation from an AAB.

◆ clip() [1/4]

void Ogre::ConvexBody::clip ( const Frustum frustum)

Clips the body with a frustum.

The resulting holes are filled with new polygons.

◆ clip() [2/4]

void Ogre::ConvexBody::clip ( const AxisAlignedBox aab)

Clips the body with an AAB.

The resulting holes are filled with new polygons.

◆ clip() [3/4]

void Ogre::ConvexBody::clip ( const ConvexBody body)

Clips the body with another body.

◆ clip() [4/4]

void Ogre::ConvexBody::clip ( const Plane pl,
bool  keepNegative = true 
)

Clips the object by the positive half space of a plane.

◆ extend()

void Ogre::ConvexBody::extend ( const Vector3 pt)

Extends the existing body to incorporate the passed in point as a convex hull.

Remarks
You must already have constructed a basic body using a 'construct' method.

◆ reset()

void Ogre::ConvexBody::reset ( void  )

Resets the object.

◆ getPolygonCount()

size_t Ogre::ConvexBody::getPolygonCount ( void  ) const

Returns the current number of polygons.

◆ getVertexCount()

size_t Ogre::ConvexBody::getVertexCount ( size_t  poly) const

Returns the number of vertices for a polygon.

◆ getPolygon()

const Polygon& Ogre::ConvexBody::getPolygon ( size_t  poly) const

Returns a polygon.

◆ getVertex()

const Vector3& Ogre::ConvexBody::getVertex ( size_t  poly,
size_t  vertex 
) const

Returns a specific vertex of a polygon.

◆ getNormal()

const Vector3& Ogre::ConvexBody::getNormal ( size_t  poly)

Returns the normal of a specified polygon.

◆ getAABB()

AxisAlignedBox Ogre::ConvexBody::getAABB ( void  ) const

Returns an AABB representation.

◆ hasClosedHull()

bool Ogre::ConvexBody::hasClosedHull ( void  ) const

Checks if the body has a closed hull.

◆ mergePolygons()

void Ogre::ConvexBody::mergePolygons ( void  )

Merges all neighboring polygons into one single polygon if they are lay in the same plane.

◆ operator==()

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

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

◆ operator!=()

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

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

◆ logInfo()

void Ogre::ConvexBody::logInfo ( ) const
Deprecated:
use operator<<

◆ _initialisePool()

static void Ogre::ConvexBody::_initialisePool ( )
static

Initialise the internal polygon pool used to minimise allocations.

◆ _destroyPool()

static void Ogre::ConvexBody::_destroyPool ( )
static

Tear down the internal polygon pool used to minimise allocations.


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