Class BoundingBoxI
Defines an axis-aligned box-shaped 3D volume.
Inheritance
System.Object
BoundingBoxI
Assembly: VRage.Math.dll
Syntax
public sealed class BoundingBoxI : ValueType, IEquatable<BoundingBoxI>
Constructors
BoundingBoxI(Int32, Int32)
Creates an instance of BoundingBoxI.
Declaration
public BoundingBoxI(int min, int max)
Parameters
| Type |
Name |
Description |
| System.Int32 |
min |
The minimum point the BoundingBoxI includes.
|
| System.Int32 |
max |
The maximum point the BoundingBoxI includes.
|
BoundingBoxI(BoundingBox)
Creates an instance of BoundingBoxI.
Declaration
public BoundingBoxI(BoundingBox box)
Parameters
BoundingBoxI(Vector3I, Vector3I)
Creates an instance of BoundingBoxI.
Declaration
public BoundingBoxI(Vector3I min, Vector3I max)
Parameters
| Type |
Name |
Description |
| Vector3I |
min |
The minimum point the BoundingBoxI includes.
|
| Vector3I |
max |
The maximum point the BoundingBoxI includes.
|
Fields
Max
The maximum point the BoundingBoxI contains.
Declaration
Field Value
Min
The minimum point the BoundingBoxI contains.
Declaration
Field Value
Properties
Center
Declaration
public Vector3I Center { get; }
Property Value
HalfExtents
Declaration
public Vector3I HalfExtents { get; }
Property Value
IsValid
Declaration
public bool IsValid { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Perimeter
return perimeter of edges
Declaration
public float Perimeter { get; }
Property Value
| Type |
Description |
| System.Single |
|
Size
Declaration
public Vector3I Size { get; }
Property Value
Methods
Contains(BoundingBoxI)
Tests whether the BoundingBoxI contains another BoundingBoxI.
Declaration
public ContainmentType Contains(BoundingBoxI box)
Parameters
| Type |
Name |
Description |
| BoundingBoxI |
box |
The BoundingBoxI to test for overlap.
|
Returns
Contains(ref BoundingBoxI, out ContainmentType)
Tests whether the BoundingBoxI contains a BoundingBoxI.
Declaration
public void Contains(ref BoundingBoxI box, out ContainmentType result)
Parameters
| Type |
Name |
Description |
| BoundingBoxI |
box |
The BoundingBoxI to test for overlap.
|
| ContainmentType |
result |
[OutAttribute] Enumeration indicating the extent of overlap.
|
Contains(Vector3)
Declaration
public ContainmentType Contains(Vector3 point)
Parameters
| Type |
Name |
Description |
| Vector3 |
point |
|
Returns
Contains(Vector3I)
Tests whether the BoundingBoxI contains a point.
Declaration
public ContainmentType Contains(Vector3I point)
Parameters
| Type |
Name |
Description |
| Vector3I |
point |
The point to test for overlap.
|
Returns
Contains(ref Vector3I, out ContainmentType)
Tests whether the BoundingBoxI contains a point.
Declaration
public void Contains(ref Vector3I point, out ContainmentType result)
Parameters
| Type |
Name |
Description |
| Vector3I |
point |
The point to test for overlap.
|
| ContainmentType |
result |
[OutAttribute] Enumeration indicating the extent of overlap.
|
CreateFromPoints(IEnumerable<Vector3I>)
Creates the smallest BoundingBoxI that will contain a group of points.
Declaration
public static BoundingBoxI CreateFromPoints(IEnumerable<Vector3I> points)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.IEnumerable<Vector3I> |
points |
A list of points the BoundingBoxI should contain.
|
Returns
CreateFromSphere(BoundingSphere)
Creates the smallest BoundingBoxI that will contain the specified BoundingSphere.
Declaration
public static BoundingBoxI CreateFromSphere(BoundingSphere sphere)
Parameters
| Type |
Name |
Description |
| BoundingSphere |
sphere |
The BoundingSphere to contain.
|
Returns
CreateFromSphere(ref BoundingSphere, out BoundingBoxI)
Creates the smallest BoundingBoxI that will contain the specified BoundingSphere.
Declaration
public static void CreateFromSphere(ref BoundingSphere sphere, out BoundingBoxI result)
Parameters
| Type |
Name |
Description |
| BoundingSphere |
sphere |
The BoundingSphere to contain.
|
| BoundingBoxI |
result |
[OutAttribute] The created BoundingBoxI.
|
CreateInvalid()
Declaration
public static BoundingBoxI CreateInvalid()
Returns
CreateMerged(BoundingBoxI, BoundingBoxI)
Creates the smallest BoundingBoxI that contains the two specified BoundingBoxI instances.
Declaration
public static BoundingBoxI CreateMerged(BoundingBoxI original, BoundingBoxI additional)
Parameters
| Type |
Name |
Description |
| BoundingBoxI |
original |
One of the BoundingBoxIs to contain.
|
| BoundingBoxI |
additional |
One of the BoundingBoxIs to contain.
|
Returns
CreateMerged(ref BoundingBoxI, ref BoundingBoxI, out BoundingBoxI)
Creates the smallest BoundingBoxI that contains the two specified BoundingBoxI instances.
Declaration
public static void CreateMerged(ref BoundingBoxI original, ref BoundingBoxI additional, out BoundingBoxI result)
Parameters
| Type |
Name |
Description |
| BoundingBoxI |
original |
One of the BoundingBoxI instances to contain.
|
| BoundingBoxI |
additional |
One of the BoundingBoxI instances to contain.
|
| BoundingBoxI |
result |
[OutAttribute] The created BoundingBoxI.
|
Distance(Vector3I)
Declaration
public float Distance(Vector3I point)
Parameters
Returns
| Type |
Description |
| System.Single |
|
EnumeratePoints(BoundingBoxI)
Enumerate all values in a integer interval (a cuboid).
This method is an allocating version of the Vector3I_RangeIterator.
This once can be used in the foreach syntax though so it's more convenient for debug routines.
Declaration
public static IEnumerable<Vector3I> EnumeratePoints(BoundingBoxI rangeInclusive)
Parameters
Returns
| Type |
Description |
| System.Collections.Generic.IEnumerable<Vector3I> |
An iterator for that range.
|
Equals(Object)
Determines whether two instances of BoundingBoxI are equal.
Declaration
public override bool Equals(object obj)
Parameters
| Type |
Name |
Description |
| System.Object |
obj |
The Object to compare with the current BoundingBoxI.
|
Returns
| Type |
Description |
| System.Boolean |
|
Equals(BoundingBoxI)
Determines whether two instances of BoundingBoxI are equal.
Declaration
public bool Equals(BoundingBoxI other)
Parameters
| Type |
Name |
Description |
| BoundingBoxI |
other |
The BoundingBoxI to compare with the current BoundingBoxI.
|
Returns
| Type |
Description |
| System.Boolean |
|
GetCorners()
Gets an array of points that make up the corners of the BoundingBoxI.
Declaration
public Vector3I[] GetCorners()
Returns
GetCorners(Vector3I[])
Gets the array of points that make up the corners of the BoundingBoxI.
Declaration
public void GetCorners(Vector3I[] corners)
Parameters
| Type |
Name |
Description |
| Vector3I[] |
corners |
An existing array of at least 8 Vector3I points where the corners of the BoundingBoxI are written.
|
GetCornersUnsafe(Vector3I*)
Gets the array of points that make up the corners of the BoundingBoxI.
Declaration
public void GetCornersUnsafe(Vector3I*corners)
Parameters
| Type |
Name |
Description |
| Vector3I* |
corners |
An existing array of at least 8 Vector3I points where the corners of the BoundingBoxI are written.
|
GetHashCode()
Gets the hash code for this instance.
Declaration
public override int GetHashCode()
Returns
| Type |
Description |
| System.Int32 |
|
GetIncluded(Vector3I)
Declaration
public BoundingBoxI GetIncluded(Vector3I point)
Parameters
Returns
Include(BoundingBoxI)
Declaration
public BoundingBoxI Include(BoundingBoxI box)
Parameters
Returns
Include(ref BoundingBoxI)
return expanded aabb (abb include point)
Declaration
public BoundingBoxI Include(ref BoundingBoxI box)
Parameters
Returns
Include(Vector3I)
Declaration
public BoundingBoxI Include(Vector3I point)
Parameters
Returns
Include(Vector3I, Vector3I, Vector3I)
Declaration
public BoundingBoxI Include(Vector3I p0, Vector3I p1, Vector3I p2)
Parameters
Returns
Include(ref Vector3I)
return expanded aabb (abb include point)
Declaration
public BoundingBoxI Include(ref Vector3I point)
Parameters
Returns
Include(ref Vector3I, ref Vector3I, ref Vector3I)
Declaration
public BoundingBoxI Include(ref Vector3I p0, ref Vector3I p1, ref Vector3I p2)
Parameters
Returns
Inflate(Int32)
Declaration
public void Inflate(int size)
Parameters
| Type |
Name |
Description |
| System.Int32 |
size |
|
InflateToMinimum(Vector3I)
Declaration
public void InflateToMinimum(Vector3I minimumSize)
Parameters
| Type |
Name |
Description |
| Vector3I |
minimumSize |
|
Intersect(BoundingBoxI)
Returns bounding box which is intersection of this and box
Result is invalid box when there's no intersection (Min > Max)
Declaration
public BoundingBoxI Intersect(BoundingBoxI box)
Parameters
Returns
Intersects(BoundingBoxI)
Checks whether the current BoundingBoxI intersects another BoundingBoxI.
Declaration
public bool Intersects(BoundingBoxI box)
Parameters
| Type |
Name |
Description |
| BoundingBoxI |
box |
The BoundingBoxI to check for intersection with.
|
Returns
| Type |
Description |
| System.Boolean |
|
Intersects(ref BoundingBoxI)
Declaration
public bool Intersects(ref BoundingBoxI box)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Intersects(ref BoundingBoxI, out Boolean)
Checks whether the current BoundingBoxI intersects another BoundingBoxI.
Declaration
public void Intersects(ref BoundingBoxI box, out bool result)
Parameters
| Type |
Name |
Description |
| BoundingBoxI |
box |
The BoundingBoxI to check for intersection with.
|
| System.Boolean |
result |
[OutAttribute] true if the BoundingBoxI instances intersect; false otherwise.
|
Intersects(Line, out Single)
Declaration
public bool Intersects(Line line, out float distance)
Parameters
| Type |
Name |
Description |
| Line |
line |
|
| System.Single |
distance |
|
Returns
| Type |
Description |
| System.Boolean |
|
Intersects(Plane)
Checks whether the current BoundingBoxI intersects a Plane.
Declaration
public PlaneIntersectionType Intersects(Plane plane)
Parameters
| Type |
Name |
Description |
| Plane |
plane |
The Plane to check for intersection with.
|
Returns
Intersects(ref Plane, out PlaneIntersectionType)
Checks whether the current BoundingBoxI intersects a Plane.
Declaration
public void Intersects(ref Plane plane, out PlaneIntersectionType result)
Parameters
| Type |
Name |
Description |
| Plane |
plane |
The Plane to check for intersection with.
|
| PlaneIntersectionType |
result |
[OutAttribute] An enumeration indicating whether the BoundingBoxI intersects the Plane.
|
Intersects(Ray)
Checks whether the current BoundingBoxI intersects a Ray.
Declaration
public Nullable<float> Intersects(Ray ray)
Parameters
| Type |
Name |
Description |
| Ray |
ray |
The Ray to check for intersection with.
|
Returns
| Type |
Description |
| System.Nullable<System.Single> |
|
Intersects(ref Ray, out Nullable<Single>)
Checks whether the current BoundingBoxI intersects a Ray.
Declaration
public void Intersects(ref Ray ray, out Nullable<float> result)
Parameters
| Type |
Name |
Description |
| Ray |
ray |
The Ray to check for intersection with.
|
| System.Nullable<System.Single> |
result |
[OutAttribute] Distance at which the ray intersects the BoundingBoxI, or null if there is no intersection.
|
IntersectsTriangle(Vector3I, Vector3I, Vector3I)
Declaration
public bool IntersectsTriangle(Vector3I v0, Vector3I v1, Vector3I v2)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
IntersectsTriangle(ref Vector3I, ref Vector3I, ref Vector3I)
Declaration
public bool IntersectsTriangle(ref Vector3I v0, ref Vector3I v1, ref Vector3I v2)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
IntersectWith(ref BoundingBoxI)
Returns bounding box which is intersection of this and box
Result is invalid box when there's no intersection (Min > Max)
Declaration
public void IntersectWith(ref BoundingBoxI box)
Parameters
IterateDifference(BoundingBoxI, BoundingBoxI)
Iterate every cell contained in {left} - {right},
where we interpret {box} as the set of all distinct Vector3I points inside a 'box'.
Containment is taken in a typical inclusive start, exclusive end fashion.
Declaration
public static IEnumerable<Vector3I> IterateDifference(BoundingBoxI left, BoundingBoxI right)
Parameters
Returns
| Type |
Description |
| System.Collections.Generic.IEnumerable<Vector3I> |
|
SurfaceArea()
Declaration
public float SurfaceArea()
Returns
| Type |
Description |
| System.Single |
|
ToString()
Returns a String that represents the current BoundingBoxI.
Declaration
public override string ToString()
Returns
| Type |
Description |
| System.String |
|
Translate(Vector3I)
Declaration
public BoundingBoxI Translate(Vector3I vctTranlsation)
Parameters
| Type |
Name |
Description |
| Vector3I |
vctTranlsation |
|
Returns
Volume()
Declaration
Returns
| Type |
Description |
| System.Single |
|
Operators
Equality(BoundingBoxI, BoundingBoxI)
Determines whether two instances of BoundingBoxI are equal.
Declaration
public static bool operator ==(BoundingBoxI a, BoundingBoxI b)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Explicit(BoundingBox to BoundingBoxI)
Declaration
public static explicit operator BoundingBoxI(BoundingBox box)
Parameters
Returns
Explicit(BoundingBoxD to BoundingBoxI)
Declaration
public static explicit operator BoundingBoxI(BoundingBoxD box)
Parameters
Returns
Inequality(BoundingBoxI, BoundingBoxI)
Determines whether two instances of BoundingBoxI are not equal.
Declaration
public static bool operator !=(BoundingBoxI a, BoundingBoxI b)
Parameters
| Type |
Name |
Description |
| BoundingBoxI |
a |
The object to the left of the inequality operator.
|
| BoundingBoxI |
b |
The object to the right of the inequality operator.
|
Returns
| Type |
Description |
| System.Boolean |
|