Urho3D::BoundingBox Class Reference

Three-dimensional axis-aligned bounding box. More...

#include <Urho3D/Math/BoundingBox.h>

Collaboration diagram for Urho3D::BoundingBox:
[legend]

Public Member Functions

 BoundingBox () noexcept
 Construct with zero size.
 
 BoundingBox (const BoundingBox &box) noexcept
 Copy-construct from another bounding box.
 
 BoundingBox (const Rect &rect) noexcept
 Construct from a rect, with the Z dimension left zero.
 
 BoundingBox (const Vector3 &min, const Vector3 &max) noexcept
 Construct from minimum and maximum vectors.
 
 BoundingBox (float min, float max) noexcept
 Construct from minimum and maximum floats (all dimensions same.)
 
 BoundingBox (const Vector3 *vertices, unsigned count)
 Construct from an array of vertices.
 
 BoundingBox (const Frustum &frustum)
 Construct from a frustum.
 
 BoundingBox (const Polyhedron &poly)
 Construct from a polyhedron.
 
 BoundingBox (const Sphere &sphere)
 Construct from a sphere.
 
BoundingBoxoperator= (const BoundingBox &rhs) noexcept
 Assign from another bounding box.
 
BoundingBoxoperator= (const Rect &rhs) noexcept
 Assign from a Rect, with the Z dimension left zero.
 
bool operator== (const BoundingBox &rhs) const
 Test for equality with another bounding box.
 
bool operator!= (const BoundingBox &rhs) const
 Test for inequality with another bounding box.
 
void Define (const BoundingBox &box)
 Define from another bounding box.
 
void Define (const Rect &rect)
 Define from a Rect.
 
void Define (const Vector3 &min, const Vector3 &max)
 Define from minimum and maximum vectors.
 
void Define (float min, float max)
 Define from minimum and maximum floats (all dimensions same.)
 
void Define (const Vector3 &point)
 Define from a point.
 
void Merge (const Vector3 &point)
 Merge a point.
 
void Merge (const BoundingBox &box)
 Merge another bounding box.
 
void Define (const Vector3 *vertices, unsigned count)
 Define from an array of vertices.
 
void Define (const Frustum &frustum)
 Define from a frustum.
 
void Define (const Polyhedron &poly)
 Define from a polyhedron.
 
void Define (const Sphere &sphere)
 Define from a sphere.
 
void Merge (const Vector3 *vertices, unsigned count)
 Merge an array of vertices.
 
void Merge (const Frustum &frustum)
 Merge a frustum.
 
void Merge (const Polyhedron &poly)
 Merge a polyhedron.
 
void Merge (const Sphere &sphere)
 Merge a sphere.
 
void Clip (const BoundingBox &box)
 Clip with another bounding box. The box can become degenerate (undefined) as a result.
 
void Transform (const Matrix3 &transform)
 Transform with a 3x3 matrix.
 
void Transform (const Matrix3x4 &transform)
 Transform with a 3x4 matrix.
 
void Clear ()
 Clear to undefined state.
 
bool Defined () const
 Return true if this bounding box is defined via a previous call to Define() or Merge().
 
Vector3 Center () const
 Return center.
 
Vector3 Size () const
 Return size.
 
Vector3 HalfSize () const
 Return half-size.
 
BoundingBox Transformed (const Matrix3 &transform) const
 Return transformed by a 3x3 matrix.
 
BoundingBox Transformed (const Matrix3x4 &transform) const
 Return transformed by a 3x4 matrix.
 
Rect Projected (const Matrix4 &projection) const
 Return projected by a 4x4 projection matrix.
 
float DistanceToPoint (const Vector3 &point) const
 Return distance to point.
 
Intersection IsInside (const Vector3 &point) const
 Test if a point is inside.
 
Intersection IsInside (const BoundingBox &box) const
 Test if another bounding box is inside, outside or intersects.
 
Intersection IsInsideFast (const BoundingBox &box) const
 Test if another bounding box is (partially) inside or outside.
 
Intersection IsInside (const Sphere &sphere) const
 Test if a sphere is inside, outside or intersects.
 
Intersection IsInsideFast (const Sphere &sphere) const
 Test if a sphere is (partially) inside or outside.
 
String ToString () const
 Return as string.
 

Public Attributes

Vector3 min_
 Minimum vector.
 
float dummyMin_ {}
 
Vector3 max_
 Maximum vector.
 
float dummyMax_ {}
 

Detailed Description

Three-dimensional axis-aligned bounding box.


The documentation for this class was generated from the following files:
  • Source/Urho3D/Math/BoundingBox.h
  • Source/Urho3D/Math/BoundingBox.cpp