Struct PlaneD
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 PlaneD
  Fields
D
The D plane coefficient.
Declaration
public double D
  Field Value
| Type | Description | 
|---|---|
| System.Double | 
Properties
A
The A plane coefficient.
Declaration
public double A { get; set; }
  Property Value
| Type | Description | 
|---|---|
| System.Double | 
B
The B plane coefficient.
Declaration
public double B { get; set; }
  Property Value
| Type | Description | 
|---|---|
| System.Double | 
C
The C plane coefficient.
Declaration
public double C { get; set; }
  Property Value
| Type | Description | 
|---|---|
| System.Double | 
Normal
The plane's normal vector. May NOT be of unit length if the plane isn't normalized.
Declaration
public readonly double3 Normal { get; }
  Property Value
| Type | Description | 
|---|---|
| double3 | 
Methods
AngleBetween(PlaneD)
Calculates the angle between this plane and another one.
Declaration
public double AngleBetween(PlaneD other)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PlaneD | other | The other plane to calculate the angle with.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Double | 
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 PlaneD.  | 
      
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(AABBd)
Test whether a AABBd 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(AABBd aabb)
  Parameters
| Type | Name | Description | 
|---|---|---|
| AABBd | aabb | The axis aligned bounding box.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
InsideOrIntersecting(double3, double3)
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(double3 center, double3 size)
  Parameters
| Type | Name | Description | 
|---|---|---|
| double3 | center | The center of the cuboid.  | 
      
| double3 | size | The width, height and length of the cuboid.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
InsideOrIntersecting(double3, Double)
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(double3 center, double size)
  Parameters
| Type | Name | Description | 
|---|---|---|
| double3 | center | The center of the cuboid.  | 
      
| System.Double | size | The width, height and length of the cuboid.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
InsideOrIntersecting(OBBd)
Test whether a OBBd 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(OBBd obb)
  Parameters
| Type | Name | Description | 
|---|---|---|
| OBBd | obb | The object oriented bounding box.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Intersects(AABBd)
Test whether a AABBd intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164
Declaration
public bool Intersects(AABBd aabb)
  Parameters
| Type | Name | Description | 
|---|---|---|
| AABBd | aabb | The axis aligned bounding box.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Intersects(double3, double3)
Test whether a cuboid intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164
Declaration
public bool Intersects(double3 center, double3 size)
  Parameters
| Type | Name | Description | 
|---|---|---|
| double3 | center | The center of the cuboid.  | 
      
| double3 | size | The width, height and length of the cuboid.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Intersects(OBBd)
Test whether a OBBd intersects this plane. See: Ericson 2005, Real Time Collision Detection, p. 161 - 164
Declaration
public bool Intersects(OBBd obb)
  Parameters
| Type | Name | Description | 
|---|---|---|
| OBBd | obb | The axis aligned bounding box.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Normalize()
Normalizes this plane.
Declaration
public PlaneD Normalize()
  Returns
| Type | Description | 
|---|---|
| PlaneD | 
SignedDistanceFromPoint(double3)
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 double SignedDistanceFromPoint(double3 pt)
  Parameters
| Type | Name | Description | 
|---|---|---|
| double3 | pt | An arbitrary point.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Double | 
Operators
Equality(PlaneD, PlaneD)
Operator override for equality.
Declaration
public static bool operator ==(PlaneD left, PlaneD right)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PlaneD | left | The plane.  | 
      
| PlaneD | right | The scalar value.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Inequality(PlaneD, PlaneD)
Operator override for inequality.
Declaration
public static bool operator !=(PlaneD left, PlaneD right)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PlaneD | left | The plane.  | 
      
| PlaneD | right | The scalar value.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
Multiply(PlaneD, Double)
Operator override for multiplying a Plane with a double.
Declaration
public static PlaneD operator *(PlaneD plane, double scalar)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PlaneD | plane | The plane.  | 
      
| System.Double | scalar | The scalar value.  | 
      
Returns
| Type | Description | 
|---|---|
| PlaneD |