- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# 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::merge | ( | const PointListBody & | plb | ) |

Merges a second PointListBody into this one.

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.

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

Adds a specific point to the body list.

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

Adds all points of an AAB.

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::reset | ( | void |  | ) |

Resets the body.

## Member Data Documentation

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

Definition at line 82 of file OgreShadowCameraSetupFocused.h.

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

Definition at line 83 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 Mon Jun 16 12:53:35 2008