# PlaneD

Engine/source/math/mPlane.h

More...

## Public Types

enum
```Side {
Front = 1
On = 0
Back = -1
}
```

## Public Attributes

```F64
```
```d
```

NOTE: d is the NEGATIVE distance along the xyz normal.

## Public Functions

```PlaneD()
```
```PlaneD(const PlaneF & copy)
```
```PlaneD(const Point3D & j, const Point3D & k, const Point3D & l)
```
```PlaneD(const Point3D & p, const Point3D & n)
```
```PlaneD(F64 _x, F64 _y, F64 _z, F64 _d)
```

NOTE: d is the NEGATIVE distance along the xyz normal.

```F64
```
```distToPlane(const Point3D & cp)
```
```F64
```
```intersect(const Point3D & start, const Point3D & end)
```
```void
```
```invert()
```
```bool
```
```isHorizontal()
```
```bool
```
```isVertical()
```
```void
```
```neg()
```
```Point3D
```
```project(const Point3D & pt)
```
```void
```
```set(const F64 _x, const F64 _y, const F64 _z)
```
```void
```
```set(const Point3D & k, const Point3D & j, const Point3D & l)
```
```void
```
```set(const Point3D & p, const Point3D & n)
```
```void
```
```setPoint(const Point3D & p)
```
```void
```
```setXY(const Point3D & P, F64 dir)
```
```void
```
```setXY(F64 zz)
```
```void
```
```setXZ(const Point3D & P, F64 dir)
```
```void
```
```setXZ(F64 yy)
```
```void
```
```setYZ(const Point3D & P, F64 dir)
```
```void
```
```setYZ(F64 xx)
```
```void
```
```shiftX(F64 xx)
```
```void
```
```shiftY(F64 yy)
```
```void
```
```shiftZ(F64 zz)
```
```Side
```
```whichSide(const Point3D & cp)
```
```Side
```
```whichSideBox(const Point3D & center, const Point3D & axisx, const Point3D & axisy, const Point3D & axisz)
```

```Side
```

Front = 1
On = 0
Back = -1

## Public Attributes

```F64 d
```

NOTE: d is the NEGATIVE distance along the xyz normal.

## Public Functions

```PlaneD()
```

```PlaneD(const PlaneF & copy)
```

```PlaneD(const Point3D & j, const Point3D & k, const Point3D & l)
```

```PlaneD(const Point3D & p, const Point3D & n)
```

```PlaneD(F64 _x, F64 _y, F64 _z, F64 _d)
```

NOTE: d is the NEGATIVE distance along the xyz normal.

```distToPlane(const Point3D & cp)
```

```intersect(const Point3D & start, const Point3D & end)
```

```invert()
```

```isHorizontal()
```

```isVertical()
```

```neg()
```

```project(const Point3D & pt)
```

```set(const F64 _x, const F64 _y, const F64 _z)
```

```set(const Point3D & k, const Point3D & j, const Point3D & l)
```

```set(const Point3D & p, const Point3D & n)
```

```setPoint(const Point3D & p)
```

```setXY(const Point3D & P, F64 dir)
```

```setXY(F64 zz)
```

```setXZ(const Point3D & P, F64 dir)
```

```setXZ(F64 yy)
```

```setYZ(const Point3D & P, F64 dir)
```

```setYZ(F64 xx)
```

```shiftX(F64 xx)
```

```shiftY(F64 yy)
```

```shiftZ(F64 zz)
```

```whichSide(const Point3D & cp)
```

```whichSideBox(const Point3D & center, const Point3D & axisx, const Point3D & axisy, const Point3D & axisz)
```