Ogre::FocusedShadowCameraSetup::PointListBody Class Reference

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

`#include <OgreShadowCameraSetupFocused.h>`

## Public Member Functions

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

## Private Attributes

AxisAlignedBox | mAAB
Polygon::VertexList | mBodyPoints

## Detailed Description

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

Definition at line 86 of file OgreShadowCameraSetupFocused.h.

## Constructor & Destructor Documentation

## PointListBody() [1/2]

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

## PointListBody() [2/2]

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

## ~PointListBody()

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

## Member Function Documentation

## addAAB()

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

Adds all points of an AAB.

## addPoint()

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

Adds a specific point to the body list.

## build()

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.

## buildAndIncludeDirection()

void Ogre::FocusedShadowCameraSetup::PointListBody::buildAndIncludeDirection | ( | const ConvexBody & | body,
|  | Real | extrudeDist,
|  | 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.

## getAAB()

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

Returns the bounding box representation.

## getPoint()

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

Returns a point.

## getPointCount()

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

Returns the point count.

## merge()

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

Merges a second PointListBody into this one.

## reset()

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

Resets the body.

## Member Data Documentation

## mAAB

AxisAlignedBox Ogre::FocusedShadowCameraSetup::PointListBody::mAAB

private

Definition at line 89 of file OgreShadowCameraSetupFocused.h.

## mBodyPoints

Polygon::VertexList Ogre::FocusedShadowCameraSetup::PointListBody::mBodyPoints

private

Definition at line 88 of file OgreShadowCameraSetupFocused.h.

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

- OgreShadowCameraSetupFocused.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.