# PlanePlanePlanePlane 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
PlanePlanePlanePlane
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(Vector4) Plane(Vector4) Plane(Vector4) Plane(Vector4) Creates a Plane object from a specified four-dimensional vector. Plane(Vector3, Single) Plane(Vector3, Single) Plane(Vector3, Single) Plane(Vector3, Single) Creates a Plane object from a specified normal and the distance along the normal from the origin. Plane(Single, Single, Single, Single) Plane(Single, Single, Single, Single) Plane(Single, Single, Single, Single) 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.

## Fields

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

## Methods

 CreateFromVertices(Vector3, Vector3, Vector3) CreateFromVertices(Vector3, Vector3, Vector3) CreateFromVertices(Vector3, Vector3, Vector3) CreateFromVertices(Vector3, Vector3, Vector3) Creates a Plane object that contains three specified points. Dot(Plane, Vector4) Dot(Plane, Vector4) Dot(Plane, Vector4) Dot(Plane, Vector4) Calculates the dot product of a plane and a 4-dimensional vector. DotCoordinate(Plane, Vector3) DotCoordinate(Plane, Vector3) DotCoordinate(Plane, Vector3) 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) DotNormal(Plane, Vector3) DotNormal(Plane, Vector3) DotNormal(Plane, Vector3) Returns the dot product of a specified three-dimensional vector and the Normal vector of this plane. Equals(Object) Equals(Object) Equals(Object) Equals(Object) Returns a value that indicates whether this instance and a specified object are equal. Equals(Plane) Equals(Plane) Equals(Plane) Equals(Plane) Returns a value that indicates whether this instance and another plane object are equal. GetHashCode() GetHashCode() GetHashCode() GetHashCode() Returns the hash code for this instance. Normalize(Plane) Normalize(Plane) Normalize(Plane) Normalize(Plane) Creates a new Plane object whose normal vector is the source plane's normal vector normalized. ToString() ToString() ToString() ToString() Returns the string representation of this plane object. Transform(Plane, Matrix4x4) Transform(Plane, Matrix4x4) Transform(Plane, Matrix4x4) Transform(Plane, Matrix4x4) Transforms a normalized plane by a 4x4 matrix. Transform(Plane, Quaternion) Transform(Plane, Quaternion) Transform(Plane, Quaternion) Transform(Plane, Quaternion) Transforms a normalized plane by a Quaternion rotation.

## Operators

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