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

# Ogre::FocusedShadowCameraSetup::PointListBody Class Reference

Internal class holding a point list representation of a convex body. More...

`#include <OgreShadowCameraSetupFocused.h>`

List of all members.

## Public Member Functions
| PointListBody ()
| PointListBody (const ConvexBody &body)
| ~PointListBody ()
void | merge (const PointListBody &plb)
| Merges a second PointListBody into this one.
void | build (const ConvexBody &body, bool filterDuplicates=true)
| Builds a point list body from a 'real' body.
void | buildAndIncludeDirection (const ConvexBody &body, const AxisAlignedBox &aabMax, const Vector3 &dir)
| Builds a PointListBody from a Body and includes all the space in a given direction.
const AxisAlignedBox & | getAAB (void) const
| Returns the bounding box representation.
void | addPoint (const Vector3 &point)
| Adds a specific point to the body list.
void | addAAB (const AxisAlignedBox &aab)
| Adds all points of an AAB.
const Vector3 & | getPoint (size_t cnt) const
| Returns a point.
size_t | getPointCount (void) const
| Returns the point count.
void | reset (void)
| Resets the body.
## Private Attributes
Polygon::VertexList | mBodyPoints
AxisAlignedBox | mAAB

## Detailed Description

Internal class holding a point list representation of a convex body.

Definition at line 80 of file OgreShadowCameraSetupFocused.h.

## Constructor & Destructor Documentation

Ogre::FocusedShadowCameraSetup::PointListBody::PointListBody | ( |  | ) |

Ogre::FocusedShadowCameraSetup::PointListBody::PointListBody | ( | const ConvexBody & | body | ) |

Ogre::FocusedShadowCameraSetup::PointListBody::~PointListBody | ( |  | ) |

## Member Function Documentation

void Ogre::FocusedShadowCameraSetup::PointListBody::addAAB | ( | const AxisAlignedBox & | aab | ) |

| Adds all points of an AAB.

void Ogre::FocusedShadowCameraSetup::PointListBody::addPoint | ( | const Vector3 & | point | ) |

| Adds a specific point to the body list.

void Ogre::FocusedShadowCameraSetup::PointListBody::build | ( | const ConvexBody & | body,
|  | bool | filterDuplicates = `true`
| ) |

| Builds a point list body from a 'real' body. Remarks: Inserts all vertices from a body into the point list with or without adding duplicate vertices.

void Ogre::FocusedShadowCameraSetup::PointListBody::buildAndIncludeDirection | ( | const ConvexBody & | body,
|  | const AxisAlignedBox & | aabMax,
|  | const Vector3 & | dir
| ) |

| Builds a PointListBody from a Body and includes all the space in a given direction. Remarks: Intersects the bounding box with a ray from each available point of the body with the given direction. Base and intersection points are stored in a PointListBody structure. Note: Duplicate vertices are not filtered. Body is not checked for correctness.

const AxisAlignedBox& Ogre::FocusedShadowCameraSetup::PointListBody::getAAB | ( | void |  | ) | const

| Returns the bounding box representation.

const Vector3& Ogre::FocusedShadowCameraSetup::PointListBody::getPoint | ( | size_t | cnt | ) | const

| Returns a point.

size_t Ogre::FocusedShadowCameraSetup::PointListBody::getPointCount | ( | void |  | ) | const

| Returns the point count.

void Ogre::FocusedShadowCameraSetup::PointListBody::merge | ( | const PointListBody & | plb | ) |

| Merges a second PointListBody into this one.

void Ogre::FocusedShadowCameraSetup::PointListBody::reset | ( | void |  | ) |

| Resets the body.

## Member Data Documentation

AxisAlignedBox Ogre::FocusedShadowCameraSetup::PointListBody::mAAB`[private]`

| Definition at line 83 of file OgreShadowCameraSetupFocused.h.

Polygon::VertexList Ogre::FocusedShadowCameraSetup::PointListBody::mBodyPoints`[private]`

| Definition at line 82 of file OgreShadowCameraSetupFocused.h.

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

- OgreShadowCameraSetupFocused.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Thu Mar 6 09:48:49 2008