OGRE-Next 3.0.0
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::ConvexBody Class Reference

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

#include <OgreConvexBody.h>

Public Types

typedef vector< Polygon * >::type PolygonList
 

Public Member Functions

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

Static Public Member Functions

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

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

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

◆ _destroyPool()

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

Tear down the internal polygon pool used to minimise allocations.

◆ _initialisePool()

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

Initialise the internal polygon pool used to minimise allocations.

◆ clip() [1/4]

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

Clips the body with an AAB.

The resulting holes are filled with new polygons.

◆ clip() [2/4]

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

Clips the body with another body.

◆ clip() [3/4]

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

Clips the body with a frustum.

The resulting holes are filled with new polygons.

◆ clip() [4/4]

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

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

◆ define() [1/3]

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

Build a new polygon representation from an AAB.

◆ define() [2/3]

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

Build a new polygon representation from a frustum.

◆ define() [3/3]

void Ogre::ConvexBody::define ( const Vector3 corners[8])

Build a new polygon representation from an axis-UNaligned box.

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

◆ getAABB()

AxisAlignedBox Ogre::ConvexBody::getAABB ( ) const

Returns an AABB representation.

◆ getNormal()

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

Returns the normal of a specified polygon.

◆ getPolygon()

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

Returns a polygon.

◆ getPolygonCount()

size_t Ogre::ConvexBody::getPolygonCount ( ) const

Returns the current number of polygons.

◆ getVertex()

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

Returns a specific vertex of a polygon.

◆ getVertexCount()

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

Returns the number of vertices for a polygon.

◆ hasClosedHull()

bool Ogre::ConvexBody::hasClosedHull ( ) const

Checks if the body has a closed hull.

◆ logInfo()

void Ogre::ConvexBody::logInfo ( ) const

Log details of this body.

◆ mergePolygons()

void Ogre::ConvexBody::mergePolygons ( )

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
inline

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

◆ operator==()

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

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

◆ reset()

void Ogre::ConvexBody::reset ( )

Resets the object.


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