Struct PlaneF
Represents a plane in the form of Ax + By + Cz = D. The following applies: Ax + Bx + Cz - D = 0. The plane's normal equals n = (A, B, C) and may NOT necessarily be of unit length. The plane divides a space into two half-spaces.The direction plane's normal vector defines the "outer" or negative half-space. Points that lie in the positive half space of the plane do have a negative signed distance to the plane.
Inherited Members
Namespace: Fusee.Math.Core
Assembly: Fusee.Math.Core.dll
Syntax
public struct PlaneF
  Fields
D
The D plane coefficient.
Declaration
public float D
  Field Value
| Type | Description | 
|---|---|
| System.Single | 
Properties
A
The A plane coefficient.
Declaration
public float A { get; set; }
  Property Value
| Type | Description | 
|---|---|
| System.Single | 
B
The B plane coefficient.
Declaration
public float B { get; set; }
  Property Value
| Type | Description | 
|---|---|
| System.Single | 
C
The C plane coefficient.
Declaration
public float C { get; set; }
  Property Value
| Type | Description | 
|---|---|
| System.Single | 
Normal
The plane's normal vector. May NOT be of unit length if the plane isn't normalized.
Declaration
public readonly float3 Normal { get; }
  Property Value
| Type | Description | 
|---|---|
| float3 | 
Methods
AngleBetween(PlaneF)
Calculates the angle between this plane and another one.
Declaration
public float AngleBetween(PlaneF other)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PlaneF | other | The other plane to calculate the angle with.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Single | 
Equals(Object)
Indicates whether this plane is equal to another object.
Declaration
public override bool Equals(object obj)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | obj | The object. This method will throw an exception if the object isn't of type PlaneF.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Overrides
GetHashCode()
Generates a hash code for this plane.
Declaration
public override int GetHashCode()
  Returns
| Type | Description | 
|---|---|
| System.Int32 | 
Overrides
InsideOrIntersecting(AABBf)
Test whether a AABBf intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164 CAREFUL: the definition whats completely inside and outside is flipped in comparison to Ericson, because FUSEE defines a point with a negative signed distance to be inside.
Declaration
public bool InsideOrIntersecting(AABBf aabb)
  Parameters
| Type | Name | Description | 
|---|---|---|
| AABBf | aabb | The axis aligned bounding box.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
InsideOrIntersecting(float3, float3)
Test whether a cuboid intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164 CAREFUL: the definition whats completely inside and outside is flipped in comparison to Ericson, because FUSEE defines a point with a negative signed distance to be inside.
Declaration
public bool InsideOrIntersecting(float3 center, float3 size)
  Parameters
| Type | Name | Description | 
|---|---|---|
| float3 | center | The center of the cuboid.  | 
      
| float3 | size | The width, height and length of the cuboid.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
InsideOrIntersecting(float3, Single)
Test whether a cuboid intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164 CAREFUL: the definition whats completely inside and outside is flipped in comparison to Ericson, because FUSEE defines a point with a negative signed distance to be inside.
Declaration
public bool InsideOrIntersecting(float3 center, float size)
  Parameters
| Type | Name | Description | 
|---|---|---|
| float3 | center | The center of the cuboid.  | 
      
| System.Single | size | The width, height and length of the cuboid.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
InsideOrIntersecting(OBBf)
Test whether a OBBf intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164 CAREFUL: the definition whats completely inside and outside is flipped in comparison to Ericson, because FUSEE defines a point with a negative signed distance to be inside.
Declaration
public bool InsideOrIntersecting(OBBf obb)
  Parameters
| Type | Name | Description | 
|---|---|---|
| OBBf | obb | The object oriented bounding box.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Intersects(AABBf)
Test whether a AABBf intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164
Declaration
public bool Intersects(AABBf aabb)
  Parameters
| Type | Name | Description | 
|---|---|---|
| AABBf | aabb | The axis aligned bounding box.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Intersects(float3, float3)
Test whether a cuboid intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164
Declaration
public bool Intersects(float3 center, float3 size)
  Parameters
| Type | Name | Description | 
|---|---|---|
| float3 | center | The center of the cuboid.  | 
      
| float3 | size | The width, height and length of the cuboid.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Intersects(OBBf)
Test whether a OBBf intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164
Declaration
public bool Intersects(OBBf obb)
  Parameters
| Type | Name | Description | 
|---|---|---|
| OBBf | obb | The axis aligned bounding box.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Normalize()
Normalizes this plane.
Declaration
public PlaneF Normalize()
  Returns
| Type | Description | 
|---|---|
| PlaneF | 
SignedDistanceFromPoint(float3)
Returns the signed distance from a point to this plane. If the plane isn't normalized this may not be the euclidean distance! For normalized and unnormalized planes the following is true: 1.If the distance is negative, the point lies in the negative half-space. 2.If 0 = dist, the point lies in the plane. 3.If the distance is positive the point lies in the positive half-space.
Declaration
public float SignedDistanceFromPoint(float3 pt)
  Parameters
| Type | Name | Description | 
|---|---|---|
| float3 | pt | An arbitrary point.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Single | 
Operators
Equality(PlaneF, PlaneF)
Operator override for equality.
Declaration
public static bool operator ==(PlaneF left, PlaneF right)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PlaneF | left | The plane.  | 
      
| PlaneF | right | The scalar value.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Inequality(PlaneF, PlaneF)
Operator override for inequality.
Declaration
public static bool operator !=(PlaneF left, PlaneF right)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PlaneF | left | The plane.  | 
      
| PlaneF | right | The scalar value.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Multiply(PlaneF, Single)
Operator override for multiplying a Plane with a float.
Declaration
public static PlaneF operator *(PlaneF plane, float scalar)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PlaneF | plane | The plane.  | 
      
| System.Single | scalar | The scalar value.  | 
      
Returns
| Type | Description | 
|---|---|
| PlaneF |