# Plane Struct

## Definition

Represents a plane in three-dimensional space.

`public value class Plane : IEquatable<System::Numerics::Plane>`

`public struct Plane : IEquatable<System.Numerics.Plane>`

`type Plane = struct`

```
Public Structure Plane
Implements IEquatable(Of Plane)
```

- Inheritance

- Implements

## Remarks

For matrix transformations, the Vector2, Vector3, and Vector4 instances are represented as rows: a vector *v* is transformed by a matrix *M* with *vM* multiplication.

## Constructors

Plane(Single, Single, Single, Single) |
Creates a Plane object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. |

Plane(Vector3, Single) |
Creates a Plane object from a specified normal and the distance along the normal from the origin. |

Plane(Vector4) |
Creates a Plane object from a specified four-dimensional vector. |

## Fields

D |
The distance of the plane along its normal from the origin. |

Normal |
The normal vector of the plane. |

## Methods

CreateFromVertices(Vector3, Vector3, Vector3) |
Creates a Plane object that contains three specified points. |

Dot(Plane, Vector4) |
Calculates the dot product of a plane and a 4-dimensional vector. |

DotCoordinate(Plane, Vector3) |
Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance (D) value of the plane. |

DotNormal(Plane, Vector3) |
Returns the dot product of a specified three-dimensional vector and the Normal vector of this plane. |

Equals(Object) |
Returns a value that indicates whether this instance and a specified object are equal. |

Equals(Plane) |
Returns a value that indicates whether this instance and another plane object are equal. |

GetHashCode() |
Returns the hash code for this instance. |

Normalize(Plane) |
Creates a new Plane object whose normal vector is the source plane's normal vector normalized. |

ToString() |
Returns the string representation of this plane object. |

Transform(Plane, Matrix4x4) |
Transforms a normalized plane by a 4x4 matrix. |

Transform(Plane, Quaternion) |
Transforms a normalized plane by a Quaternion rotation. |

## Operators

Equality(Plane, Plane) |
Returns a value that indicates whether two planes are equal. |

Inequality(Plane, Plane) |
Returns a value that indicates whether two planes are not equal. |