Nebula
|
Defines a viewing frustum for intersection operations.
Inherits IEquatable< BoundingFrustum >.
Public Member Functions | |
BoundingFrustum (Matrix value) | |
Constructs the frustum by extracting the view planes from a matrix. | |
ContainmentType | Contains (BoundingBox box) |
Containment test between this BoundingFrustum and specified BoundingBox. | |
void | Contains (ref BoundingBox box, out ContainmentType result) |
Containment test between this BoundingFrustum and specified BoundingBox. | |
ContainmentType | Contains (BoundingFrustum frustum) |
Containment test between this BoundingFrustum and specified BoundingFrustum. | |
ContainmentType | Contains (BoundingSphere sphere) |
Containment test between this BoundingFrustum and specified BoundingSphere. | |
void | Contains (ref BoundingSphere sphere, out ContainmentType result) |
Containment test between this BoundingFrustum and specified BoundingSphere. | |
ContainmentType | Contains (Vector3 point) |
Containment test between this BoundingFrustum and specified Vector3. | |
void | Contains (ref Vector3 point, out ContainmentType result) |
Containment test between this BoundingFrustum and specified Vector3. | |
bool | Equals (BoundingFrustum other) |
Compares whether current instance is equal to specified BoundingFrustum. | |
override bool | Equals (object obj) |
Compares whether current instance is equal to specified BoundingFrustum. | |
Vector3[] | GetCorners () |
Returns a copy of internal corners array. | |
void | GetCorners (Vector3[] corners) |
Returns a copy of internal corners array. | |
override int | GetHashCode () |
Gets the hash code of this BoundingFrustum. | |
bool | Intersects (BoundingBox box) |
Gets whether or not a specified BoundingBox intersects with this BoundingFrustum. | |
void | Intersects (ref BoundingBox box, out bool result) |
Gets whether or not a specified BoundingBox intersects with this BoundingFrustum. | |
bool | Intersects (BoundingFrustum frustum) |
Gets whether or not a specified BoundingFrustum intersects with this BoundingFrustum. | |
bool | Intersects (BoundingSphere sphere) |
Gets whether or not a specified BoundingSphere intersects with this BoundingFrustum. | |
void | Intersects (ref BoundingSphere sphere, out bool result) |
Gets whether or not a specified BoundingSphere intersects with this BoundingFrustum. | |
PlaneIntersectionType | Intersects (Plane plane) |
Gets type of intersection between specified Plane and this BoundingFrustum. | |
void | Intersects (ref Plane plane, out PlaneIntersectionType result) |
Gets type of intersection between specified Plane and this BoundingFrustum. | |
float? | Intersects (Ray ray) |
Gets the distance of intersection of Ray and this BoundingFrustum or null if no intersection happens. | |
void | Intersects (ref Ray ray, out float? result) |
Gets the distance of intersection of Ray and this BoundingFrustum or null if no intersection happens. | |
override string | ToString () |
Returns a String representation of this BoundingFrustum in the format: {Near:[nearPlane] Far:[farPlane] Left:[leftPlane] Right:[rightPlane] Top:[topPlane] Bottom:[bottomPlane]}. | |
Static Public Member Functions | |
static bool | operator== (BoundingFrustum a, BoundingFrustum b) |
Compares whether two BoundingFrustum instances are equal. | |
static bool | operator!= (BoundingFrustum a, BoundingFrustum b) |
Compares whether two BoundingFrustum instances are not equal. | |
Static Public Attributes | |
const int | PlaneCount = 6 |
The number of planes in the frustum. | |
const int | CornerCount = 8 |
The number of corner points in the frustum. | |
Properties | |
Matrix | Matrix [get, set] |
Gets or sets the Matrix of the frustum. | |
Plane | Near [get] |
Gets the near plane of the frustum. | |
Plane | Far [get] |
Gets the far plane of the frustum. | |
Plane | Left [get] |
Gets the left plane of the frustum. | |
Plane | Right [get] |
Gets the right plane of the frustum. | |
Plane | Top [get] |
Gets the top plane of the frustum. | |
Plane | Bottom [get] |
Gets the bottom plane of the frustum. | |
string | DebugDisplayString [get] |
Private Member Functions | |
void | CreateCorners () |
void | CreatePlanes () |
void | NormalizePlane (ref Plane p) |
Static Private Member Functions | |
static void | IntersectionPoint (ref Plane a, ref Plane b, ref Plane c, out Vector3 result) |
Private Attributes | |
Matrix | _matrix |
readonly Vector3[] | _corners = new Vector3[CornerCount] |
readonly Plane[] | _planes = new Plane[PlaneCount] |
|
inline |
Constructs the frustum by extracting the view planes from a matrix.
value | Combined matrix which usually is (View * Projection). |
|
inline |
Containment test between this BoundingFrustum and specified BoundingBox.
box | A BoundingBox for testing. |
|
inline |
Containment test between this BoundingFrustum and specified BoundingFrustum.
frustum | A BoundingFrustum for testing. |
|
inline |
Containment test between this BoundingFrustum and specified BoundingSphere.
sphere | A BoundingSphere for testing. |
|
inline |
Containment test between this BoundingFrustum and specified BoundingBox.
box | A BoundingBox for testing. |
result | Result of testing for containment between this BoundingFrustum and specified BoundingBox as an output parameter. |
|
inline |
Containment test between this BoundingFrustum and specified BoundingSphere.
sphere | A BoundingSphere for testing. |
result | Result of testing for containment between this BoundingFrustum and specified BoundingSphere as an output parameter. |
|
inline |
Containment test between this BoundingFrustum and specified Vector3.
point | A Vector3 for testing. |
result | Result of testing for containment between this BoundingFrustum and specified Vector3 as an output parameter. |
|
inline |
Containment test between this BoundingFrustum and specified Vector3.
point | A Vector3 for testing. |
|
inlineprivate |
|
inlineprivate |
|
inline |
Compares whether current instance is equal to specified BoundingFrustum.
other | The BoundingFrustum to compare. |
true
if the instances are equal; false
otherwise.
|
inline |
Compares whether current instance is equal to specified BoundingFrustum.
obj | The Object to compare. |
true
if the instances are equal; false
otherwise.
|
inline |
Returns a copy of internal corners array.
|
inline |
Returns a copy of internal corners array.
corners | The array which values will be replaced to corner values of this instance. It must have size of BoundingFrustum.CornerCount. |
|
inline |
Gets the hash code of this BoundingFrustum.
|
inlinestaticprivate |
|
inline |
Gets whether or not a specified BoundingBox intersects with this BoundingFrustum.
box | A BoundingBox for intersection test. |
true
if specified BoundingBox intersects with this BoundingFrustum; false
otherwise.
|
inline |
Gets whether or not a specified BoundingFrustum intersects with this BoundingFrustum.
frustum | An other BoundingFrustum for intersection test. |
true
if other BoundingFrustum intersects with this BoundingFrustum; false
otherwise.
|
inline |
Gets whether or not a specified BoundingSphere intersects with this BoundingFrustum.
sphere | A BoundingSphere for intersection test. |
true
if specified BoundingSphere intersects with this BoundingFrustum; false
otherwise.
|
inline |
Gets type of intersection between specified Plane and this BoundingFrustum.
plane | A Plane for intersection test. |
|
inline |
Gets the distance of intersection of Ray and this BoundingFrustum or null if no intersection happens.
ray | A Ray for intersection test. |
|
inline |
Gets whether or not a specified BoundingBox intersects with this BoundingFrustum.
box | A BoundingBox for intersection test. |
result | true if specified BoundingBox intersects with this BoundingFrustum; false otherwise as an output parameter. |
|
inline |
Gets whether or not a specified BoundingSphere intersects with this BoundingFrustum.
sphere | A BoundingSphere for intersection test. |
result | true if specified BoundingSphere intersects with this BoundingFrustum; false otherwise as an output parameter. |
|
inline |
Gets type of intersection between specified Plane and this BoundingFrustum.
plane | A Plane for intersection test. |
result | A plane intersection type as an output parameter. |
|
inline |
Gets the distance of intersection of Ray and this BoundingFrustum or null if no intersection happens.
ray | A Ray for intersection test. |
result | Distance at which ray intersects with this BoundingFrustum or null if no intersection happens as an output parameter. |
|
inlineprivate |
|
inlinestatic |
Compares whether two BoundingFrustum instances are not equal.
a | BoundingFrustum instance on the left of the not equal sign. |
b | BoundingFrustum instance on the right of the not equal sign. |
true
if the instances are not equal; false
otherwise.
|
inlinestatic |
Compares whether two BoundingFrustum instances are equal.
a | BoundingFrustum instance on the left of the equal sign. |
b | BoundingFrustum instance on the right of the equal sign. |
true
if the instances are equal; false
otherwise.
|
inline |
Returns a String representation of this BoundingFrustum in the format: {Near:[nearPlane] Far:[farPlane] Left:[leftPlane] Right:[rightPlane] Top:[topPlane] Bottom:[bottomPlane]}.
|
private |
|
private |
|
private |
|
static |
The number of corner points in the frustum.
|
static |
The number of planes in the frustum.
|
get |
Gets the bottom plane of the frustum.
|
getpackage |
|
get |
Gets the far plane of the frustum.
|
get |
Gets the left plane of the frustum.
|
get |
Gets the near plane of the frustum.
|
get |
Gets the right plane of the frustum.
|
get |
Gets the top plane of the frustum.