# TerrainConvex

Engine/source/terrain/terrCollision.h

More...

## Public Friends

```class
```
```TerrainBlock
```

## Private Attributes

```Box3F
```
```box
```

Bounding box.

```bool
```
```halfA
```

Which half of square.

```U32
```
```material
```
```VectorF
```
```normal [2]
```
```Point3F
```
```point [4]
```

3-4 vertices

```bool
```
```split45
```

Square split pattern.

```TerrainConvex *
```
```square
```

Alternate convex if square is concave.

```U32
```
```squareId
```

Used to match squares.

## Public Functions

```TerrainConvex()
```
```TerrainConvex(const TerrainConvex & cv)
```
```Box3F
```
```getBoundingBox()
```

Returns the bounding box for the object this is built around in world space.

```Box3F
```
```getBoundingBox(const MatrixF & mat, const Point3F & scale)
```

Returns the object space bounding box for the object this is built around transformed and scaled.

```void
```
```getFeatures(const MatrixF & mat, const VectorF & n, ConvexFeature * cf)
```

This is used by the GJK collision in Vehicle.

```void
```
```getPolyList(AbstractPolyList * list)
```

Builds a collision poly list out of this convex.

```Point3F
```
```support(const VectorF & v)
```

Returns the farthest point, along a vector, still bound by the convex.

## Private Attributes

```Box3F box
```

Bounding box.

```bool halfA
```

Which half of square.

```U32 material
```
```VectorF normal [2]
```
```Point3F point [4]
```

3-4 vertices

```bool split45
```

Square split pattern.

```TerrainConvex * square
```

Alternate convex if square is concave.

```U32 squareId
```

Used to match squares.

## Public Functions

```TerrainConvex()
```

```TerrainConvex(const TerrainConvex & cv)
```

```getBoundingBox()
```

Reimplemented from: Convex

```getBoundingBox(const MatrixF & mat, const Point3F & scale)
```

Reimplemented from: Convex

```getFeatures(const MatrixF & mat, const VectorF & n, ConvexFeature * cf)
```

Reimplemented from: Convex

```getPolyList(AbstractPolyList * list)
```

Reimplemented from: Convex

```support(const VectorF & v)
```

Reimplemented from: Convex