• Articles
  • Api Documentation
Show / Hide Table of Contents
  • Vim.Math3d
    • AABox
    • AABox2D
    • AABox4D
    • AngularMotion
    • AxisAngle
    • Byte2
    • Byte3
    • Byte4
    • ColorHDR
    • ColorRGB
    • ColorRGBA
    • Complex
    • Constants
    • ContainmentType
    • CylindricalCoordinate
    • DAABox
    • DAABox2D
    • DAABox4D
    • DInterval
    • DPlane
    • DQuaternion
    • DRay
    • DSphere
    • DVector2
    • DVector3
    • DVector4
    • Euler
    • GeoCoordinate
    • Hash
    • HorizontalCoordinate
    • IMappable<TContainer, TPart>
    • Int2
    • Int3
    • Int4
    • Interval
    • IPoints
    • IPoints2D
    • ITransformable3D<TSelf>
    • Line
    • Line2D
    • LinearMotion
    • LinqUtil
    • LogPolarCoordinate
    • MathOps
    • Matrix4x4
    • Motion
    • MovementExtensions
    • Plane
    • PlaneIntersectionType
    • PolarCoordinate
    • Quad
    • Quad2D
    • Quaternion
    • Ray
    • Sphere
    • SphericalCoordinate
    • StatelessRandom
    • Stats<T>
    • Transform
    • Transformable3D
    • Triangle
    • Triangle2D
    • Vector2
    • Vector3
    • Vector4

Struct Plane

A structure encapsulating a 3D Plane

Implements
ITransformable3D<Plane>
System.IEquatable<Plane>
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: Vim.Math3d
Assembly: Vim.Math3D.dll
[DataContract]
public readonly struct Plane : ITransformable3D<Plane>, IEquatable<Plane>

Constructors

View Source

Plane(Single, Single, Single, Single)

public Plane(float x, float y, float z, float d)
View Source

Plane((Vector3 normal, Single d))

public Plane((Vector3 normal, float d) tuple)
View Source

Plane(Vector3, Single)

public Plane(Vector3 normal, float d)
View Source

Plane(Vector4)

public Plane(Vector4 v)

Fields

View Source

D

[DataMember]
public readonly float D
View Source

MaxValue

public static Plane MaxValue
View Source

MinValue

public static Plane MinValue
View Source

Normal

[DataMember]
public readonly Vector3 Normal
View Source

Zero

public static Plane Zero

Methods

View Source

AlmostEquals(Plane, Single)

public readonly bool AlmostEquals(Plane x, float tolerance = 1E-07F)
View Source

ClassifyPoint(Vector3)

Returns a value less than zero if the points is below the plane, above zero if above the plane, or zero if coplanar

public readonly float ClassifyPoint(Vector3 point)
View Source

Create((Vector3 normal, Single d))

public static Plane Create((Vector3 normal, float d) tuple)
View Source

Create(Vector3, Single)

public static Plane Create(Vector3 normal, float d)
View Source

CreateFromNormalAndPoint(Vector3, Vector3)

Creates a Plane with the given normal that contains the point

public static Plane CreateFromNormalAndPoint(Vector3 normal, Vector3 point)
View Source

CreateFromVertices(Vector3, Vector3, Vector3)

Creates a Plane that contains the three given points.

public static Plane CreateFromVertices(Vector3 point1, Vector3 point2, Vector3 point3)
View Source

Deconstruct(out Vector3, out Single)

public readonly void Deconstruct(out Vector3 normal, out float d)
View Source

Dot(Plane, Vector4)

Calculates the dot product of a Plane and Vector4.

public static float Dot(Plane plane, Vector4 value)
View Source

Dot(Vector4)

Calculates the dot product of a Plane and Vector4.

public readonly float Dot(Vector4 value)
View Source

DotCoordinate(Plane, Vector3)

Returns the dot product of a specified Vector3 and the normal vector of this Plane plus the distance (D) value of the Plane.

public static float DotCoordinate(Plane plane, Vector3 value)
View Source

DotNormal(Plane, Vector3)

Returns the dot product of a specified Vector3 and the Normal vector of this Plane.

public static float DotNormal(Plane plane, Vector3 value)
View Source

Equals(Object)

public override readonly bool Equals(object obj)
Overrides
System.ValueType.Equals(System.Object)
View Source

Equals(Plane)

public readonly bool Equals(Plane x)
View Source

GetHashCode()

public override readonly int GetHashCode()
Overrides
System.ValueType.GetHashCode()
View Source

Normalize(Plane)

Creates a new Plane whose normal vector is the source Plane's normal vector normalized.

public static Plane Normalize(Plane value)
View Source

ProjectPointOntoPlane(Plane, Vector3)

Projects a point onto the plane

public static Vector3 ProjectPointOntoPlane(Plane plane, Vector3 point)
View Source

SetD(Single)

public readonly Plane SetD(float x)
View Source

SetNormal(Vector3)

public readonly Plane SetNormal(Vector3 x)
View Source

ToString()

public override readonly string ToString()
Overrides
System.ValueType.ToString()
View Source

ToVector4()

Returns a Vector4 representation of the Plane

public readonly Vector4 ToVector4()
View Source

Transform(Matrix4x4)

Transforms a normalized Plane by a Matrix.

public readonly Plane Transform(Matrix4x4 matrix)
View Source

Transform(Quaternion)

Transforms a normalized Plane by a Quaternion rotation.

public readonly Plane Transform(Quaternion rotation)

Operators

View Source

Equality(Plane, Plane)

public static bool operator ==(Plane x0, Plane x1)
View Source

Implicit((Vector3 normal, Single d) to Plane)

public static implicit operator Plane((Vector3 normal, float d) tuple)
View Source

Implicit(Plane to (Vector3 normal, Single d))

public static implicit operator (Vector3 normal, float d)(Plane self)
View Source

Inequality(Plane, Plane)

public static bool operator !=(Plane x0, Plane x1)

Implements

ITransformable3D<TSelf>
System.IEquatable<T>

Extension Methods

Transformable3D.Transform<T>(ITransformable3D<T>, Matrix4x4[])
Transformable3D.Translate<T>(ITransformable3D<T>, Vector3)
Transformable3D.Translate<T>(ITransformable3D<T>, Single, Single, Single)
Transformable3D.Rotate<T>(ITransformable3D<T>, Quaternion)
Transformable3D.Scale<T>(ITransformable3D<T>, Single)
Transformable3D.Scale<T>(ITransformable3D<T>, Vector3)
Transformable3D.Scale<T>(ITransformable3D<T>, Single, Single, Single)
Transformable3D.ScaleX<T>(ITransformable3D<T>, Single)
Transformable3D.ScaleY<T>(ITransformable3D<T>, Single)
Transformable3D.ScaleZ<T>(ITransformable3D<T>, Single)
Transformable3D.LookAt<T>(ITransformable3D<T>, Vector3, Vector3, Vector3)
Transformable3D.RotateAround<T>(ITransformable3D<T>, Vector3, Single)
Transformable3D.Rotate<T>(ITransformable3D<T>, Single, Single, Single)
Transformable3D.Reflect<T>(ITransformable3D<T>, Plane)
Transformable3D.RotateX<T>(ITransformable3D<T>, Single)
Transformable3D.RotateY<T>(ITransformable3D<T>, Single)
Transformable3D.RotateZ<T>(ITransformable3D<T>, Single)
Transformable3D.TranslateRotateScale<T>(ITransformable3D<T>, Vector3, Quaternion, Vector3)
  • Improve this Doc
  • View Source
In This Article
Back to top Copyright VIM 2021, Generated by DocFX