Struct BoundingSphere
- Namespace
- Stride.Core.Mathematics
- Assembly
- Stride.Core.Mathematics.dll
Represents a bounding sphere in three dimensional space.
[DataContract]
public struct BoundingSphere : IEquatable<BoundingSphere>, IFormattable, IIntersectableWithRay, IIntersectableWithPlane
- Implements
Constructors
BoundingSphere(Vector3, float)
Initializes a new instance of the BoundingSphere struct.
public BoundingSphere(Vector3 center, float radius)
Parameters
center
Vector3The center of the sphere in three dimensional space.
radius
floatThe radius of the sphere.
Fields
Center
The center of the sphere in three dimensional space.
public Vector3 Center
Field Value
Empty
An empty bounding sphere (Center = 0 and Radius = 0).
public static readonly BoundingSphere Empty
Field Value
Radius
The radius of the sphere.
public float Radius
Field Value
Methods
Contains(ref readonly BoundingBox)
Determines whether the current objects contains a BoundingBox.
public ContainmentType Contains(ref readonly BoundingBox box)
Parameters
box
BoundingBoxThe box to test.
Returns
- ContainmentType
The type of containment the two objects have.
Contains(ref readonly BoundingSphere)
Determines whether the current objects contains a BoundingSphere.
public ContainmentType Contains(ref readonly BoundingSphere sphere)
Parameters
sphere
BoundingSphereThe sphere to test.
Returns
- ContainmentType
The type of containment the two objects have.
Contains(ref readonly Vector3)
Determines whether the current objects contains a point.
public ContainmentType Contains(ref readonly Vector3 point)
Parameters
point
Vector3The point to test.
Returns
- ContainmentType
The type of containment the two objects have.
Contains(ref readonly Vector3, ref readonly Vector3, ref readonly Vector3)
Determines whether the current objects contains a triangle.
public ContainmentType Contains(ref readonly Vector3 vertex1, ref readonly Vector3 vertex2, ref readonly Vector3 vertex3)
Parameters
vertex1
Vector3The first vertex of the triangle to test.
vertex2
Vector3The second vertex of the triagnle to test.
vertex3
Vector3The third vertex of the triangle to test.
Returns
- ContainmentType
The type of containment the two objects have.
Equals(BoundingSphere)
Determines whether the specified Vector4 is equal to this instance.
public bool Equals(BoundingSphere value)
Parameters
value
BoundingSphereThe Vector4 to compare with this instance.
Returns
Equals(object)
Determines whether the specified object is equal to this instance.
public override bool Equals(object value)
Parameters
Returns
FromBox(BoundingBox)
Constructs a BoundingSphere from a given box.
public static BoundingSphere FromBox(BoundingBox box)
Parameters
box
BoundingBoxThe box that will designate the extents of the sphere.
Returns
- BoundingSphere
The newly constructed bounding sphere.
FromBox(ref readonly BoundingBox, out BoundingSphere)
Constructs a BoundingSphere from a given box.
public static void FromBox(ref readonly BoundingBox box, out BoundingSphere result)
Parameters
box
BoundingBoxThe box that will designate the extents of the sphere.
result
BoundingSphereWhen the method completes, the newly constructed bounding sphere.
FromPoints(Vector3[])
Constructs a BoundingSphere that fully contains the given points.
public static BoundingSphere FromPoints(Vector3[] points)
Parameters
points
Vector3[]The points that will be contained by the sphere.
Returns
- BoundingSphere
The newly constructed bounding sphere.
FromPoints(Vector3[], out BoundingSphere)
Constructs a BoundingSphere that fully contains the given points.
public static void FromPoints(Vector3[] points, out BoundingSphere result)
Parameters
points
Vector3[]The points that will be contained by the sphere.
result
BoundingSphereWhen the method completes, contains the newly constructed bounding sphere.
FromPoints(nint, int, int, int, out BoundingSphere)
Constructs a BoundingSphere that fully contains the given unmanaged points.
public static void FromPoints(nint vertexBufferPtr, int vertexPositionOffsetInBytes, int vertexCount, int vertexStride, out BoundingSphere result)
Parameters
vertexBufferPtr
nintA pointer to of vertices containing points.
vertexPositionOffsetInBytes
intThe point offset in bytes starting from the vertex structure.
vertexCount
intThe verterx vertexCount.
vertexStride
intThe vertex stride (size of vertex).
result
BoundingSphereWhen the method completes, contains the newly constructed bounding sphere.
GetHashCode()
Returns a hash code for this instance.
public override int GetHashCode()
Returns
- int
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
Intersects(ref readonly BoundingBox)
Determines if there is an intersection between the current object and a BoundingBox.
public bool Intersects(ref readonly BoundingBox box)
Parameters
box
BoundingBoxThe box to test.
Returns
- bool
Whether the two objects intersected.
Intersects(ref readonly BoundingSphere)
Determines if there is an intersection between the current object and a BoundingSphere.
public bool Intersects(ref readonly BoundingSphere sphere)
Parameters
sphere
BoundingSphereThe sphere to test.
Returns
- bool
Whether the two objects intersected.
Intersects(ref readonly Plane)
Determines if there is an intersection between the current object and a Plane.
public PlaneIntersectionType Intersects(ref readonly Plane plane)
Parameters
plane
PlaneThe plane to test.
Returns
- PlaneIntersectionType
Whether the two objects intersected.
Intersects(ref readonly Ray)
Determines if there is an intersection between the current object and a Ray.
public bool Intersects(ref readonly Ray ray)
Parameters
ray
RayThe ray to test.
Returns
- bool
Whether the two objects intersected.
Intersects(ref readonly Ray, out Vector3)
Determines if there is an intersection between the current object and a Ray.
public bool Intersects(ref readonly Ray ray, out Vector3 point)
Parameters
ray
RayThe ray to test.
point
Vector3When the method completes, contains the point of intersection, or Zero if there was no intersection.
Returns
- bool
Whether the two objects intersected.
Intersects(ref readonly Ray, out float)
Determines if there is an intersection between the current object and a Ray.
public bool Intersects(ref readonly Ray ray, out float distance)
Parameters
ray
RayThe ray to test.
distance
floatWhen the method completes, contains the distance of the intersection, or 0 if there was no intersection.
Returns
- bool
Whether the two objects intersected.
Intersects(ref readonly Vector3, ref readonly Vector3, ref readonly Vector3)
Determines if there is an intersection between the current object and a triangle.
public bool Intersects(ref readonly Vector3 vertex1, ref readonly Vector3 vertex2, ref readonly Vector3 vertex3)
Parameters
vertex1
Vector3The first vertex of the triangle to test.
vertex2
Vector3The second vertex of the triagnle to test.
vertex3
Vector3The third vertex of the triangle to test.
Returns
- bool
Whether the two objects intersected.
Merge(BoundingSphere, BoundingSphere)
Constructs a BoundingSphere that is the as large as the total combined area of the two specified spheres.
public static BoundingSphere Merge(BoundingSphere value1, BoundingSphere value2)
Parameters
value1
BoundingSphereThe first sphere to merge.
value2
BoundingSphereThe second sphere to merge.
Returns
- BoundingSphere
The newly constructed bounding sphere.
Merge(ref readonly BoundingSphere, ref readonly BoundingSphere, out BoundingSphere)
Constructs a BoundingSphere that is the as large as the total combined area of the two specified spheres.
public static void Merge(ref readonly BoundingSphere value1, ref readonly BoundingSphere value2, out BoundingSphere result)
Parameters
value1
BoundingSphereThe first sphere to merge.
value2
BoundingSphereThe second sphere to merge.
result
BoundingSphereWhen the method completes, contains the newly constructed bounding sphere.
ToString()
Returns a string that represents this instance.
public override string ToString()
Returns
ToString(IFormatProvider)
Returns a string that represents this instance.
public string ToString(IFormatProvider formatProvider)
Parameters
formatProvider
IFormatProviderThe format provider.
Returns
ToString(string)
Returns a string that represents this instance.
public string ToString(string format)
Parameters
format
stringThe format.
Returns
ToString(string, IFormatProvider)
Returns a string that represents this instance.
public string ToString(string format, IFormatProvider formatProvider)
Parameters
format
stringThe format.
formatProvider
IFormatProviderThe format provider.
Returns
Transform(ref readonly BoundingSphere, ref readonly Matrix, out BoundingSphere)
Transforms a bounding bounding sphere, yielding the bounding sphere of all points contained by the original one, transformed by the specified transform.
public static void Transform(ref readonly BoundingSphere value, ref readonly Matrix transform, out BoundingSphere result)
Parameters
value
BoundingSphereThe original bounding sphere.
transform
MatrixThe transform to apply to the bounding sphere.
result
BoundingSphereThe transformed bounding sphere.
Operators
operator ==(BoundingSphere, BoundingSphere)
Tests for equality between two objects.
public static bool operator ==(BoundingSphere left, BoundingSphere right)
Parameters
left
BoundingSphereThe first value to compare.
right
BoundingSphereThe second value to compare.
Returns
- bool
true
ifleft
has the same value asright
; otherwise,false
.
operator !=(BoundingSphere, BoundingSphere)
Tests for inequality between two objects.
public static bool operator !=(BoundingSphere left, BoundingSphere right)
Parameters
left
BoundingSphereThe first value to compare.
right
BoundingSphereThe second value to compare.
Returns
- bool
true
ifleft
has a different value thanright
; otherwise,false
.