diff --git a/Source/Engine/Core/Math/OrientedBoundingBox.cs b/Source/Engine/Core/Math/OrientedBoundingBox.cs
index 4e44746e7..093a8d695 100644
--- a/Source/Engine/Core/Math/OrientedBoundingBox.cs
+++ b/Source/Engine/Core/Math/OrientedBoundingBox.cs
@@ -53,9 +53,7 @@ namespace FlaxEngine
/// Creates an from a BoundingBox.
///
/// The BoundingBox to create from.
- ///
- /// Initially, the OBB is axis-aligned box, but it can be rotated and transformed later.
- ///
+ /// Initially, the OBB is axis-aligned box, but it can be rotated and transformed later.
public OrientedBoundingBox(BoundingBox bb)
{
Vector3 center = bb.Minimum + (bb.Maximum - bb.Minimum) / 2f;
@@ -79,9 +77,7 @@ namespace FlaxEngine
///
/// The minimum vertex of the bounding box.
/// The maximum vertex of the bounding box.
- ///
- /// Initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
- ///
+ /// Initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
public OrientedBoundingBox(Vector3 minimum, Vector3 maximum)
{
Vector3 center = minimum + (maximum - minimum) / 2f;
@@ -93,10 +89,7 @@ namespace FlaxEngine
/// Creates an that fully contains the given points.
///
/// The points that will be contained by the box.
- ///
- /// This method is not for computing the best tight-fitting OrientedBoundingBox.
- /// And initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
- ///
+ /// This method is not for computing the best tight-fitting OrientedBoundingBox. And initially, the OrientedBoundingBox is axis-aligned box, but it can be rotated and transformed later.
public OrientedBoundingBox(Vector3[] points)
{
if ((points == null) || (points.Length == 0))
@@ -231,8 +224,7 @@ namespace FlaxEngine
/// The transformation matrix.
///
/// While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which
- /// scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection
- /// accuracy.
+ /// scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy.
///
public void Transform(ref Matrix mat)
{
@@ -245,8 +237,7 @@ namespace FlaxEngine
/// The transformation matrix.
///
/// While any kind of transformation can be applied, it is recommended to apply scaling using scale method instead, which
- /// scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection
- /// accuracy.
+ /// scales the Extents and keeps the Transformation matrix for rotation only, and that preserves collision detection accuracy.
///
public void Transform(Matrix mat)
{
@@ -304,21 +295,15 @@ namespace FlaxEngine
///
/// The size of the if no scaling is applied to the transformation matrix.
///
- ///
- /// The property will return the actual size even if the scaling is applied using Scale method,
- /// but if the scaling is applied to transformation matrix, use GetSize Function instead.
+ /// The property will return the actual size even if the scaling is applied using Scale method, but if the scaling is applied to transformation matrix, use GetSize Function instead.
///
public Vector3 Size => Extents * 2;
///
- /// Returns the size of the taking into consideration the scaling applied to the
- /// transformation matrix.
+ /// Returns the size of the taking into consideration the scaling applied to the transformation matrix.
///
/// The size of the consideration
- ///
- /// This method is computationally expensive, so if no scale is applied to the transformation matrix
- /// use property instead.
- ///
+ /// This method is computationally expensive, so if no scale is applied to the transformation matrix use property instead.
public Vector3 GetSize()
{
var xv = new Vector3(Extents.X * 2, 0, 0);
@@ -332,8 +317,7 @@ namespace FlaxEngine
}
///
- /// Returns the square size of the taking into consideration the scaling applied to
- /// the transformation matrix.
+ /// Returns the square size of the taking into consideration the scaling applied to the transformation matrix.
///
/// The size of the consideration
public Vector3 GetSizeSquared()
@@ -433,16 +417,9 @@ namespace FlaxEngine
/// Determines whether a contains a .
///
/// The sphere to test.
- ///
- /// Optimize the check operation by assuming that has no
- /// scaling applied
- ///
+ /// Optimize the check operation by assuming that has no scaling applied.
/// The type of containment the two objects have.
- ///
- /// This method is not designed for which has a non-uniform scaling applied to its
- /// transformation matrix.
- /// But any type of scaling applied using Scale method will keep this method accurate.
- ///
+ /// This method is not designed for which has a non-uniform scaling applied to its transformation matrix. But any type of scaling applied using Scale method will keep this method accurate.
public ContainmentType Contains(BoundingSphere sphere, bool ignoreScale = false)
{
Matrix invTrans;
@@ -493,11 +470,7 @@ namespace FlaxEngine
///
/// The OrientedBoundingBox to test.
/// The type of containment the two objects have.
- ///
- /// For accuracy, The transformation matrix for both must not have any scaling applied
- /// to it.
- /// Anyway, scaling using Scale method will keep this method accurate.
- ///
+ /// For accuracy, The transformation matrix for both must not have any scaling applied to it. Anyway, scaling using Scale method will keep this method accurate.
public ContainmentType Contains(ref OrientedBoundingBox obb)
{
ContainmentType cornersCheck = Contains(obb.GetCorners());
@@ -574,11 +547,7 @@ namespace FlaxEngine
/// The first point in the line.
/// The second point in the line.
/// The type of containment the two objects have.
- ///
- /// For accuracy, The transformation matrix for the must not have any scaling applied
- /// to it.
- /// Anyway, scaling using Scale method will keep this method accurate.
- ///
+ /// For accuracy, The transformation matrix for the must not have any scaling applied to it. Anyway, scaling using Scale method will keep this method accurate.
public ContainmentType ContainsLine(ref Vector3 L1, ref Vector3 L2)
{
ContainmentType cornersCheck = Contains(new[]
@@ -628,11 +597,7 @@ namespace FlaxEngine
///
/// The BoundingBox to test.
/// The type of containment the two objects have.
- ///
- /// For accuracy, The transformation matrix for the must not have any scaling applied
- /// to it.
- /// Anyway, scaling using Scale method will keep this method accurate.
- ///
+ /// For accuracy, The transformation matrix for the must not have any scaling applied to it. Anyway, scaling using Scale method will keep this method accurate.
public ContainmentType Contains(ref BoundingBox box)
{
ContainmentType cornersCheck = Contains(box.GetCorners());
@@ -705,10 +670,7 @@ namespace FlaxEngine
/// Determines whether there is an intersection between a and a .
///
/// The ray to test.
- ///
- /// When the method completes, contains the point of intersection,
- /// or if there was no intersection.
- ///
+ /// When the method completes, contains the point of intersection, or if there was no intersection.
/// Whether the two objects intersected.
public bool Intersects(ref Ray ray, out Vector3 point)
{
@@ -720,11 +682,11 @@ namespace FlaxEngine
Vector3.TransformNormal(ref ray.Direction, ref invTrans, out bRay.Direction);
Vector3.TransformCoordinate(ref ray.Position, ref invTrans, out bRay.Position);
- //Perform a regular ray to BoundingBox check
+ // Perform a regular ray to BoundingBox check
var bb = new BoundingBox(-Extents, Extents);
bool intersects = CollisionsHelper.RayIntersectsBox(ref bRay, ref bb, out point);
- //Put the result intersection back to world
+ // Put the result intersection back to world
if (intersects)
Vector3.TransformCoordinate(ref point, ref Transformation, out point);
@@ -735,10 +697,7 @@ namespace FlaxEngine
/// Determines whether there is an intersection between a and a .
///
/// The ray to test.
- ///
- /// When the method completes, contains the distance of intersection from the ray start,
- /// or 0 if there was no intersection.
- ///
+ /// When the method completes, contains the distance of intersection from the ray start, or 0 if there was no intersection.
/// Whether the two objects intersected.
public bool Intersects(ref Ray ray, out float distance)
{
@@ -792,16 +751,12 @@ namespace FlaxEngine
}
///
- /// Calculates the matrix required to transfer any point from one local coordinates to
- /// another.
+ /// Calculates the matrix required to transfer any point from one local coordinates to another.
///
/// The source OrientedBoundingBox.
/// The target OrientedBoundingBox.
- ///
- /// If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation
- /// matrix of the OrientedBoundingBox.
- ///
- ///
+ /// If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+ /// The matrix.
public static Matrix GetBoxToBoxMatrix(ref OrientedBoundingBox A, ref OrientedBoundingBox B, bool NoMatrixScaleApplied = false)
{
Matrix AtoB_Matrix;
@@ -833,19 +788,12 @@ namespace FlaxEngine
}
///
- /// Merge an OrientedBoundingBox B into another OrientedBoundingBox A, by expanding A to contain B and keeping A
- /// orientation.
+ /// Merge an OrientedBoundingBox B into another OrientedBoundingBox A, by expanding A to contain B and keeping A orientation.
///
/// The to merge into it.
/// The to be merged
- ///
- /// If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation
- /// matrix of the OrientedBoundingBox.
- ///
- ///
- /// Unlike merging axis aligned boxes, The operation is not interchangeable, because it keeps A orientation and merge B
- /// into it.
- ///
+ /// If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
+ /// Unlike merging axis aligned boxes, The operation is not interchangeable, because it keeps A orientation and merge B into it.
public static void Merge(ref OrientedBoundingBox A, ref OrientedBoundingBox B, bool NoMatrixScaleApplied = false)
{
Matrix AtoB_Matrix = GetBoxToBoxMatrix(ref A, ref B, NoMatrixScaleApplied);
@@ -875,10 +823,7 @@ namespace FlaxEngine
/// Merge this OrientedBoundingBox into another OrientedBoundingBox, keeping the other OrientedBoundingBox orientation.
///
/// The other to merge into.
- ///
- /// If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation
- /// matrix of the OrientedBoundingBox.
- ///
+ /// If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
public void MergeInto(ref OrientedBoundingBox OBB, bool NoMatrixScaleApplied = false)
{
Merge(ref OBB, ref this, NoMatrixScaleApplied);
@@ -888,10 +833,7 @@ namespace FlaxEngine
/// Merge another OrientedBoundingBox into this OrientedBoundingBox.
///
/// The other to merge into this OrientedBoundingBox.
- ///
- /// If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation
- /// matrix of the OrientedBoundingBox.
- ///
+ /// If true, the method will use a fast algorithm which is inapplicable if a scale is applied to the transformation matrix of the OrientedBoundingBox.
public void Add(ref OrientedBoundingBox OBB, bool NoMatrixScaleApplied = false)
{
Merge(ref this, ref OBB, NoMatrixScaleApplied);
@@ -901,9 +843,7 @@ namespace FlaxEngine
/// Determines whether the specified is equal to this instance.
///
/// The to compare with this instance.
- ///
- /// true if the specified is equal to this instance; otherwise, false.
- ///
+ /// true if the specified is equal to this instance; otherwise, false.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool Equals(ref OrientedBoundingBox value)
{
@@ -914,9 +854,7 @@ namespace FlaxEngine
/// Determines whether the specified is equal to this instance.
///
/// The to compare with this instance.
- ///
- /// true if the specified is equal to this instance; otherwise, false.
- ///
+ /// true if the specified is equal to this instance; otherwise, false.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool Equals(OrientedBoundingBox value)
{
@@ -927,9 +865,7 @@ namespace FlaxEngine
/// Determines whether the specified is equal to this instance.
///
/// The to compare with this instance.
- ///
- /// true if the specified is equal to this instance; otherwise, false.
- ///
+ /// true if the specified is equal to this instance; otherwise, false.
public override bool Equals(object value)
{
if (!(value is OrientedBoundingBox))
@@ -958,10 +894,7 @@ namespace FlaxEngine
///
/// The first value to compare.
/// The second value to compare.
- ///
- /// true if has the same value as ; otherwise,
- /// false.
- ///
+ /// true if has the same value as ; otherwise, false.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool operator ==(OrientedBoundingBox left, OrientedBoundingBox right)
{
@@ -973,10 +906,7 @@ namespace FlaxEngine
///
/// The first value to compare.
/// The second value to compare.
- ///
- /// true if has a different value than ; otherwise,
- /// false.
- ///
+ /// true if has a different value than ; otherwise, false.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool operator !=(OrientedBoundingBox left, OrientedBoundingBox right)
{
@@ -986,9 +916,7 @@ namespace FlaxEngine
///
/// Returns a hash code for this instance.
///
- ///
- /// A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
- ///
+ /// A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
public override int GetHashCode()
{
return Extents.GetHashCode() + Transformation.GetHashCode();
@@ -997,9 +925,7 @@ namespace FlaxEngine
///
/// Returns a that represents this instance.
///
- ///
- /// A that represents this instance.
- ///
+ /// A that represents this instance.
public override string ToString()
{
return string.Format(CultureInfo.CurrentCulture, "Center: {0}, Extents: {1}", Center, Extents);
@@ -1009,9 +935,7 @@ namespace FlaxEngine
/// Returns a that represents this instance.
///
/// The format.
- ///
- /// A that represents this instance.
- ///
+ /// A that represents this instance.
public string ToString(string format)
{
if (format == null)
@@ -1025,9 +949,7 @@ namespace FlaxEngine
/// Returns a that represents this instance.
///
/// The format provider.
- ///
- /// A that represents this instance.
- ///
+ /// A that represents this instance.
public string ToString(IFormatProvider formatProvider)
{
return string.Format(formatProvider, "Center: {0}, Extents: {1}", Center.ToString(), Extents.ToString());
@@ -1038,9 +960,7 @@ namespace FlaxEngine
///
/// The format.
/// The format provider.
- ///
- /// A that represents this instance.
- ///
+ /// A that represents this instance.
public string ToString(string format, IFormatProvider formatProvider)
{
if (format == null)