# SilhouetteExtractorOrtho

Engine/source/math/mSilhouetteExtractor.h

Silhouette edge extraction for orthographic projections.

## Protected Types

```
ExtractorType
```

## Protected Attributes

The actual extractor implementation.

## Public Functions

SilhouetteExtractorOrtho(const Polyhedron & polyhedron)

## Detailed Description

Silhouette edge extraction for orthographic projections.

## Protected Types

typedef SilhouetteExtractorImpl< SilhouetteExtractorBaseOrtho< Polyhedron > > ExtractorType

## Protected Attributes

ExtractorType mExtractor

The actual extractor implementation.

## Public Functions

SilhouetteExtractorOrtho(const Polyhedron & polyhedron)

extractSilhouette(const Point3F & viewDirOS, U32 * outIndices, U32 maxOutIndices)

Generate a silhouette polygon for the polyhedron based on the given view direction.

**Parameters:**

viewDirOS | Object-space normalized view vector. |

outIndices | Array where the resulting vertex indices will be stored. Must have enough room. If you don't know the exact size that you need, just allocate one index for any point in the mesh. |

maxOutIndices | The number of indices that can be stored in |

Number of indices written to *outIndices* or 0 if the silhouette extraction failed.

note:Be aware that silhouette polygons are in most cases non-planar!

note:The direction of the ordering of the resulting indices is undefined meaning that different silhouettes extracted from the same polyhedron may have different CCW/CW ordering. The only guarantee is that the resulting indices are consecutive.