# Plane struct

Namespace: [Rhino.Geometry](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
[StructLayout(LayoutKind.Sequential, Pack = 8, Size = 128)]
[Serializable]
public struct Plane : IEquatable<Plane>, IEpsilonComparable<Plane>, ICloneable, IFormattable
```

Represents the value of a center point and two axes in a plane in three dimensions.

## Constructors

- [Plane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/ctor.md): (5 overloads) Constructs a plane from an equation Ax+By+Cz+D=0.

## Properties

- [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/isvalid.md): Gets a value indicating whether or not this is a valid plane. A plane is considered to be valid when all fields contain reasonable information and the equation jibes with point and z-axis.
- [Normal](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/normal.md): Gets the normal of this plane. This is essentially the ZAxis of the plane.
- [Origin](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/origin.md): Gets or sets the origin point of this plane.
- [OriginX](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/originx.md): Gets or sets the X coordinate of the origin of this plane.
- [OriginY](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/originy.md): Gets or sets the Y coordinate of the origin of this plane.
- [OriginZ](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/originz.md): Gets or sets the Z coordinate of the origin of this plane.
- [Unset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/unset.md): (static) Gets a plane that contains Unset origin and axis vectors.
- [WorldXY](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/worldxy.md): (static) plane coincident with the World XY plane.
- [WorldYZ](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/worldyz.md): (static) plane coincident with the World YZ plane.
- [WorldZX](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/worldzx.md): (static) plane coincident with the World ZX plane.
- [XAxis](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/xaxis.md): Gets or sets the X axis vector of this plane.
- [YAxis](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/yaxis.md): Gets or sets the Y axis vector of this plane.
- [ZAxis](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/zaxis.md): Gets or sets the Z axis vector of this plane.

## Methods

- [Clone](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/clone.md): Returns a deep copy of this instance.
- [ClosestParameter](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/closestparameter.md): Gets the parameters of the point on the plane closest to a test point.
- [ClosestPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/closestpoint.md): Gets the point on the plane closest to a test point.
- [CreateFromFrame](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/createfromframe.md): (static) Constructs a plane from a point, and two vectors in the plane.
- [CreateFromNormal](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/createfromnormal.md): (static) Constructs a plane from a point and normal vector.
- [CreateFromNormalYup](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/createfromnormalyup.md): (static) Construct a plane from a point, a normal vector, and a vector that projects to the positive YAxis.
- [CreateFromPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/createfrompoints.md): (static) Construct a plane from three non-collinear points.
- [DistanceTo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/distanceto.md): (2 overloads) Returns the signed minimum and maximum distances from bounding box to this plane.
- [EpsilonEquals](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/epsilonequals.md): Check that all values in other are within epsilon of the values in this
- [Equals](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/equals.md): (2 overloads) Determines if an object is a plane and has the same components as this plane.
- [ExtendThroughBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/extendthroughbox.md): (2 overloads) Extends this plane through a bounding box.
- [FitPlaneToPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/fitplanetopoints.md): (2 overloads, static) Fit a plane through a collection of points.
- [Flip](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/flip.md): Flip this plane by swapping out the X and Y axes and inverting the Z axis.
- [GetHashCode](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/gethashcode.md): Gets a non-unique hashing code for this entity.
- [GetPlaneEquation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/getplaneequation.md): Gets the plane equation for this plane in the format of Ax+By+Cz+D=0.
- [IsCoplanar](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/iscoplanar.md): (2 overloads) Test if this plane is co-planar with a another plane.
- [PointAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/pointat.md): (2 overloads) Evaluate a point on the plane.
- [RemapToPlaneSpace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/remaptoplanespace.md): Convert a point from World space coordinates into Plane space coordinates.
- [Rotate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/rotate.md): (4 overloads) Rotate the plane about a custom anchor point.
- [ICloneable.Clone](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/system-icloneable-clone.md)
- [ToString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/tostring.md): (2 overloads) Constructs the string representation of this plane.
- [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/transform.md): Transform the plane with a Transformation matrix.
- [Translate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/translate.md): Translate (move) the plane along a vector.
- [UpdateEquation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/updateequation.md): Update Equations
- [ValueAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/valueat.md): Get the value of the plane equation at the point.

## Operators

- [operator ==](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/op-equality.md): (static) Determines if two planes are equal.
- [operator !=](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.plane/op-inequality.md): (static) Determines if two planes are different.
