Class BoundingBox
Represents an axis-aligned bounding box in three dimensional space.
Inheritance
Implements
Namespace: FlaxEngine
Assembly: FlaxEngine.CSharp.dll
Syntax
[Unmanaged]
public sealed class BoundingBox : ValueType, IEquatable<BoundingBox>, IFormattable
Constructors
BoundingBox(Vector3, Vector3)
Initializes a new instance of the BoundingBox struct.
Declaration
public BoundingBox(Vector3 minimum, Vector3 maximum)
Parameters
Vector3
minimum
The minimum vertex of the bounding box. |
Vector3
maximum
The maximum vertex of the bounding box. |
Fields
Empty
A BoundingBox which represents an empty space.
Declaration
public static readonly BoundingBox Empty
Field Value
BoundingBox
|
Maximum
Minimum
Zero
A BoundingBox which is located in point (0, 0, 0) and has size equal (0, 0, 0).
Declaration
public static readonly BoundingBox Zero
Field Value
BoundingBox
|
Properties
Center
Gets or sets the center point location.
Declaration
[NoSerialize]
public Vector3 Center { get; set; }
Property Value
Vector3
|
Default
The default BoundingBox.
Declaration
public static BoundingBox Default { get; }
Property Value
BoundingBox
|
Size
Gets or sets the size.
Declaration
[NoSerialize]
public Vector3 Size { get; set; }
Property Value
Vector3
|
Methods
Contains(BoundingBox)
Determines whether the current objects contains a BoundingBox.
Declaration
public ContainmentType Contains(BoundingBox box)
Parameters
BoundingBox
box
The box to test. |
Returns
ContainmentType
The type of containment the two objects have. |
Contains(ref BoundingBox)
Determines whether the current objects contains a BoundingBox.
Declaration
public ContainmentType Contains(ref BoundingBox box)
Parameters
BoundingBox
box
The box to test. |
Returns
ContainmentType
The type of containment the two objects have. |
Contains(BoundingSphere)
Determines whether the current objects contains a BoundingSphere.
Declaration
public ContainmentType Contains(BoundingSphere sphere)
Parameters
BoundingSphere
sphere
The sphere to test. |
Returns
ContainmentType
The type of containment the two objects have. |
Contains(ref BoundingSphere)
Determines whether the current objects contains a BoundingSphere.
Declaration
public ContainmentType Contains(ref BoundingSphere sphere)
Parameters
BoundingSphere
sphere
The sphere to test. |
Returns
ContainmentType
The type of containment the two objects have. |
Contains(Vector3)
Determines whether the current objects contains a point.
Declaration
public ContainmentType Contains(Vector3 point)
Parameters
Vector3
point
The point to test. |
Returns
ContainmentType
The type of containment the two objects have. |
Contains(ref Vector3)
Determines whether the current objects contains a point.
Declaration
public ContainmentType Contains(ref Vector3 point)
Parameters
Vector3
point
The point to test. |
Returns
ContainmentType
The type of containment the two objects have. |
Equals(BoundingBox)
Determines whether the specified Vector4 is equal to this instance.
Declaration
public bool Equals(BoundingBox value)
Parameters
BoundingBox
value
The Vector4 to compare with this instance. |
Returns
System.Boolean
|
Equals(ref BoundingBox)
Determines whether the specified Vector4 is equal to this instance.
Declaration
public bool Equals(ref BoundingBox value)
Parameters
BoundingBox
value
The Vector4 to compare with this instance. |
Returns
System.Boolean
|
Equals(Object)
Determines whether the specified System.Object is equal to this instance.
Declaration
public override bool Equals(object value)
Parameters
System.Object
value
The System.Object to compare with this instance. |
Returns
System.Boolean
|
FromPoints(Vector3[])
Constructs a BoundingBox that fully contains the given points.
Declaration
public static BoundingBox FromPoints(Vector3[] points)
Parameters
Vector3[]
points
The points that will be contained by the box. |
Returns
BoundingBox
The newly constructed bounding box. |
Exceptions
System.ArgumentNullException
Thrown when |
FromPoints(Vector3[], out BoundingBox)
Constructs a BoundingBox that fully contains the given points.
Declaration
public static void FromPoints(Vector3[] points, out BoundingBox result)
Parameters
Vector3[]
points
The points that will be contained by the box. |
BoundingBox
result
When the method completes, contains the newly constructed bounding box. |
Exceptions
System.ArgumentNullException
Thrown when |
FromSphere(BoundingSphere)
Constructs a BoundingBox from a given sphere.
Declaration
public static BoundingBox FromSphere(BoundingSphere sphere)
Parameters
BoundingSphere
sphere
The sphere that will designate the extents of the box. |
Returns
BoundingBox
The newly constructed bounding box. |
FromSphere(ref BoundingSphere, out BoundingBox)
Constructs a BoundingBox from a given sphere.
Declaration
public static void FromSphere(ref BoundingSphere sphere, out BoundingBox result)
Parameters
BoundingSphere
sphere
The sphere that will designate the extents of the box. |
BoundingBox
result
When the method completes, contains the newly constructed bounding box. |
GetCorners()
Retrieves the eight corners of the bounding box.
Declaration
public Vector3[] GetCorners()
Returns
Vector3[]
An array of points representing the eight corners of the bounding box. |
GetCorners(Vector3[])
Retrieves the eight corners of the bounding box.
Declaration
public void GetCorners(Vector3[] corners)
Parameters
Vector3[]
corners
|
GetHashCode()
Returns a hash code for this instance.
Declaration
public override int GetHashCode()
Returns
System.Int32
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. |
Intersects(BoundingBox)
Determines if there is an intersection between the current object and a BoundingBox.
Declaration
public bool Intersects(BoundingBox box)
Parameters
BoundingBox
box
The box to test. |
Returns
System.Boolean
Whether the two objects intersected. |
Intersects(ref BoundingBox)
Determines if there is an intersection between the current object and a BoundingBox.
Declaration
public bool Intersects(ref BoundingBox box)
Parameters
BoundingBox
box
The box to test. |
Returns
System.Boolean
Whether the two objects intersected. |
Intersects(BoundingSphere)
Determines if there is an intersection between the current object and a BoundingSphere.
Declaration
public bool Intersects(BoundingSphere sphere)
Parameters
BoundingSphere
sphere
The sphere to test. |
Returns
System.Boolean
Whether the two objects intersected. |
Intersects(ref BoundingSphere)
Determines if there is an intersection between the current object and a BoundingSphere.
Declaration
public bool Intersects(ref BoundingSphere sphere)
Parameters
BoundingSphere
sphere
The sphere to test. |
Returns
System.Boolean
Whether the two objects intersected. |
Intersects(ref Plane)
Determines if there is an intersection between the current object and a Plane.
Declaration
public PlaneIntersectionType Intersects(ref Plane plane)
Parameters
Plane
plane
The plane to test. |
Returns
PlaneIntersectionType
Whether the two objects intersected. |
Intersects(ref Ray)
Determines if there is an intersection between the current object and a Ray.
Declaration
public bool Intersects(ref Ray ray)
Parameters
Ray
ray
The ray to test. |
Returns
System.Boolean
Whether the two objects intersected. |
Intersects(ref Ray, out Vector3)
Determines if there is an intersection between the current object and a Ray.
Declaration
public bool Intersects(ref Ray ray, out Vector3 point)
Parameters
Ray
ray
The ray to test. |
Vector3
point
When the method completes, contains the point of intersection, or Zero if there was no intersection. |
Returns
System.Boolean
Whether the two objects intersected. |
Intersects(ref Ray, out Single)
Determines if there is an intersection between the current object and a Ray.
Declaration
public bool Intersects(ref Ray ray, out float distance)
Parameters
Ray
ray
The ray to test. |
System.Single
distance
When the method completes, contains the distance of the intersection, or 0 if there was no intersection. |
Returns
System.Boolean
Whether the two objects intersected. |
MakeOffsetted(ref BoundingBox, ref Vector3)
Creates the bounding box that is offseted by the given vector. Adds the offset value to minimum and maximum points.
Declaration
public static BoundingBox MakeOffsetted(ref BoundingBox box, ref Vector3 offset)
Parameters
BoundingBox
box
The box. |
Vector3
offset
The bounds offset. |
Returns
BoundingBox
The offsetted bounds. |
MakeOffsetted(Vector3)
Creates the bounding box that is offseted by the given vector. Adds the offset value to minimum and maximum points.
Declaration
public BoundingBox MakeOffsetted(Vector3 offset)
Parameters
Vector3
offset
The bounds offset. |
Returns
BoundingBox
The offsetted bounds. |
MakeScaled(ref BoundingBox, Single)
Creates the bounding box that is scaled by the given factor. Applies scale to the size of the bounds.
Declaration
public static BoundingBox MakeScaled(ref BoundingBox box, float scale)
Parameters
BoundingBox
box
The box. |
System.Single
scale
The bounds scale. |
Returns
BoundingBox
The scaled bounds. |
Merge(BoundingBox, BoundingBox)
Constructs a BoundingBox that is as large as the total combined area of the two specified boxes.
Declaration
public static BoundingBox Merge(BoundingBox value1, BoundingBox value2)
Parameters
BoundingBox
value1
The first box to merge. |
BoundingBox
value2
The second box to merge. |
Returns
BoundingBox
The newly constructed bounding box. |
Merge(ref BoundingBox, ref BoundingBox, out BoundingBox)
Constructs a BoundingBox that is as large as the total combined area of the two specified boxes.
Declaration
public static void Merge(ref BoundingBox value1, ref BoundingBox value2, out BoundingBox result)
Parameters
BoundingBox
value1
The first box to merge. |
BoundingBox
value2
The second box to merge. |
BoundingBox
result
When the method completes, contains the newly constructed bounding box. |
Merge(ref BoundingBox, ref Vector3, out BoundingBox)
Constructs a BoundingBox that is as large as the box and point.
Declaration
public static void Merge(ref BoundingBox value1, ref Vector3 value2, out BoundingBox result)
Parameters
BoundingBox
value1
The box to merge. |
Vector3
value2
The point to merge. |
BoundingBox
result
When the method completes, contains the newly constructed bounding box. |
Merge(Vector3)
Constructs a BoundingBox that is as large as the box and point.
Declaration
public BoundingBox Merge(Vector3 value2)
Parameters
Vector3
value2
The point to merge. |
Returns
BoundingBox
The newly constructed bounding box. |
ToString()
Returns a System.String that represents this instance.
Declaration
public override string ToString()
Returns
System.String
A System.String that represents this instance. |
ToString(IFormatProvider)
Returns a System.String that represents this instance.
Declaration
public string ToString(IFormatProvider formatProvider)
Parameters
System.IFormatProvider
formatProvider
The format provider. |
Returns
System.String
A System.String that represents this instance. |
ToString(String)
Returns a System.String that represents this instance.
Declaration
public string ToString(string format)
Parameters
System.String
format
The format. |
Returns
System.String
A System.String that represents this instance. |
ToString(String, IFormatProvider)
Returns a System.String that represents this instance.
Declaration
public string ToString(string format, IFormatProvider formatProvider)
Parameters
System.String
format
The format. |
System.IFormatProvider
formatProvider
The format provider. |
Returns
System.String
A System.String that represents this instance. |
Transform(BoundingBox, Matrix)
Transforms bounding box using the given transformation matrix.
Declaration
public static BoundingBox Transform(BoundingBox box, Matrix transform)
Parameters
BoundingBox
box
The bounding box to transform. |
Matrix
transform
The transformation matrix. |
Returns
BoundingBox
The result of the transformation. |
Transform(BoundingBox, Transform)
Transforms bounding box using the given transformation matrix.
Declaration
public static BoundingBox Transform(BoundingBox box, Transform transform)
Parameters
BoundingBox
box
The bounding box to transform. |
Transform
transform
The transformation matrix. |
Returns
BoundingBox
The result of the transformation. |
Transform(ref BoundingBox, ref Matrix, out BoundingBox)
Transforms bounding box using the given transformation matrix.
Declaration
public static void Transform(ref BoundingBox box, ref Matrix transform, out BoundingBox result)
Parameters
BoundingBox
box
The bounding box to transform. |
Matrix
transform
The transformation matrix. |
BoundingBox
result
The result of the transformation. |
Transform(ref BoundingBox, ref Transform, out BoundingBox)
Transforms bounding box using the given transformation.
Declaration
public static void Transform(ref BoundingBox box, ref Transform transform, out BoundingBox result)
Parameters
BoundingBox
box
The bounding box to transform. |
Transform
transform
The transformation. |
BoundingBox
result
The result of the transformation. |
Operators
Equality(BoundingBox, BoundingBox)
Tests for equality between two objects.
Declaration
public static bool operator ==(BoundingBox left, BoundingBox right)
Parameters
BoundingBox
left
The first value to compare. |
BoundingBox
right
The second value to compare. |
Returns
System.Boolean
|
Inequality(BoundingBox, BoundingBox)
Tests for inequality between two objects.
Declaration
public static bool operator !=(BoundingBox left, BoundingBox right)
Parameters
BoundingBox
left
The first value to compare. |
BoundingBox
right
The second value to compare. |
Returns
System.Boolean
|
Multiply(BoundingBox, Matrix)
Transforms bounding box using the given transformation matrix.
Declaration
public static BoundingBox operator *(BoundingBox box, Matrix transform)
Parameters
BoundingBox
box
The bounding box to transform. |
Matrix
transform
The transformation matrix. |
Returns
BoundingBox
The result of the transformation. |