# EarlyOutPolyList

Engine/source/collision/earlyOutPolyList.h

Early out check PolyList.

More...

## Public Types

```Vector< PlaneF >
```
```PlaneList
```

## Private Types

```Vector< U32 >
```
```IndexList
```
```Vector< Poly >
```
```PolyList
```
```Vector< Vertex >
```
```VertexList
```

## Private Attributes

```bool
```
```mEarlyOut
```
```IndexList
```
```mIndexList
```
```PolyList
```
```mPolyList
```
```PlaneList
```
```mPolyPlaneList
```
```VertexList
```
```mVertexList
```

## Public Attributes

```VectorF
```
```mNormal
```
```PlaneList
```
```mPlaneList
```

## Private Functions

```void
```
```memcpy(U32 * d, U32 * s, U32 size)
```

## Public Functions

```EarlyOutPolyList()
```
```~EarlyOutPolyList()
```
```U32
```
```addPlane(const PlaneF & plane)
```

Adds a plane to the poly list, and returns an ID number for that point.

```U32
```
```addPoint(const Point3F & p)
```

Adds a point to the poly list, and returns an ID number for that point.

```void
```
```begin(BaseMatInstance * material, U32 surfaceKey)
```

Start a surface.

```void
```
```clear()
```
```void
```
```end()
```

Mark the end of a surface.

```bool
```
```isEmpty()
```

Are we empty of data?

```void
```
```plane(const PlaneF & p)
```

Indicate the plane of the surface.

```void
```
```plane(const U32 index)
```

Indicate the plane of the surface.

```void
```
```plane(U32 v1, U32 v2, U32 v3)
```

Indicate the plane of the surface.

```void
```
```vertex(U32 vi)
```

Reference a vertex which is in this surface.

## Protected Functions

```const PlaneF &
```
```getIndexedPlane(const U32 index)
```

A helper function to convert a plane index to a PlaneF structure.

## Detailed Description

Early out check PolyList.

This class is used primarily for triggers and similar checks. It checks to see if any of the geometry you feed it is inside its area, and if it is, it stops checking for any more data and returns a true value. This is good if you want to know if anything is in your "trigger" area, for instance.

## Public Types

```typedef Vector< PlaneF > PlaneList
```

## Private Types

```typedef Vector< U32 > IndexList
```
```typedef Vector< Poly > PolyList
```
```typedef Vector< Vertex > VertexList
```

## Private Attributes

```bool mEarlyOut
```
```IndexList mIndexList
```
```PolyList mPolyList
```
```PlaneList mPolyPlaneList
```
```VertexList mVertexList
```

## Public Attributes

```VectorF mNormal
```
```PlaneList mPlaneList
```

## Private Functions

```memcpy(U32 * d, U32 * s, U32 size)
```

## Public Functions

```EarlyOutPolyList()
```

```~EarlyOutPolyList()
```

```addPlane(const PlaneF & plane)
```

Reimplemented from: AbstractPolyList

```addPoint(const Point3F & p)
```

Reimplemented from: AbstractPolyList

```begin(BaseMatInstance * material, U32 surfaceKey)
```

Reimplemented from: AbstractPolyList

```clear()
```

```end()
```

Reimplemented from: AbstractPolyList

```isEmpty()
```

Reimplemented from: AbstractPolyList

```plane(const PlaneF & p)
```

Reimplemented from: AbstractPolyList

```plane(const U32 index)
```

Reimplemented from: AbstractPolyList

```plane(U32 v1, U32 v2, U32 v3)
```

Reimplemented from: AbstractPolyList

```vertex(U32 vi)
```

Reimplemented from: AbstractPolyList

## Protected Functions

```getIndexedPlane(const U32 index)
```

Reimplemented from: AbstractPolyList