| 
|   | BoundingBox () | 
|   | Creates an invalid bounding box.  
  | 
|   | 
|   | BoundingBox (const Box3 &box) | 
|   | Creates an invalid bounding box.  
  | 
|   | 
|   | BoundingBox (const Vector3 &lower, const Vector3 &higher) | 
|   | Creates a new bounding box by two given corners.  
  | 
|   | 
|   | BoundingBox (const Vectors3 &points) | 
|   | Creates a new bounding box enclosing a given set of 3D points.  
  | 
|   | 
|   | BoundingBox (const Vector3 *points, const unsigned int number) | 
|   | Creates a new bounding box enclosing a given set of 3D points.  
  | 
|   | 
| bool  | positiveFrontIntersection (const Line3 &ray, Vector3 &position, Scalar &distance) const | 
|   | Returns the front intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveFrontIntersection (const Line3 &ray, Vector3 &position, Scalar &distance, Vector3 &normal) const | 
|   | Returns the front intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveFrontIntersection (const Line3 &ray, Vector3 &position, Scalar &distance, Vector3 &normal, Vector2 &textureCoordinate) const | 
|   | Returns the front intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveFrontIntersection (const Line3 &ray, const HomogenousMatrix4 &transformation, const HomogenousMatrix4 &invertedTransformation, Vector3 &position, Scalar &distance) const | 
|   | Returns whether a given ray has an intersection with this box.  
  | 
|   | 
| bool  | positiveFrontIntersection (const Line3 &ray, const HomogenousMatrix4 &transformation, const HomogenousMatrix4 &invertedTransformation, Vector3 &position, Scalar &distance, Vector3 &normal) const | 
|   | Returns whether a given ray has an intersection with this box.  
  | 
|   | 
| bool  | positiveFrontIntersection (const Line3 &ray, const HomogenousMatrix4 &transformation, const HomogenousMatrix4 &invertedTransformation, Vector3 &position, Scalar &distance, Vector3 &normal, Vector2 &textureCoordinate) const | 
|   | Returns the front intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveBackIntersection (const Line3 &ray, Vector3 &position, Scalar &distance) const | 
|   | Returns the back intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveBackIntersection (const Line3 &ray, Vector3 &position, Scalar &distance, Vector3 &normal) const | 
|   | Returns the back intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveBackIntersection (const Line3 &ray, Vector3 &position, Scalar &distance, Vector3 &normal, Vector2 &textureCoordinate) const | 
|   | Returns the back intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveBackIntersection (const Line3 &ray, const HomogenousMatrix4 &transformation, const HomogenousMatrix4 &invertedTransformation, Vector3 &position, Scalar &distance) const | 
|   | Returns the back intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveBackIntersection (const Line3 &ray, const HomogenousMatrix4 &transformation, const HomogenousMatrix4 &invertedTransformation, Vector3 &position, Scalar &distance, Vector3 &normal) const | 
|   | Returns the back intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
| bool  | positiveBackIntersection (const Line3 &ray, const HomogenousMatrix4 &transformation, const HomogenousMatrix4 &invertedTransformation, Vector3 &position, Scalar &distance, Vector3 &normal, Vector2 &textureCoordinate) const | 
|   | Returns the back intersection point between a given ray and this box whenever the distance is positive.  
  | 
|   | 
|   | BoxT3 ()=default | 
|   | Creates an invalid bounding box.  
  | 
|   | 
|   | BoxT3 (const VectorT3< Scalar > &lower, const VectorT3< Scalar > &higher) | 
|   | Creates a new bounding box by two given corners.  
  | 
|   | 
|   | BoxT3 (const VectorsT3< Scalar > &points) | 
|   | Creates a new bounding box enclosing a given set of 3D points.  
  | 
|   | 
|   | BoxT3 (const VectorT3< Scalar > *points, const size_t number) | 
|   | Creates a new bounding box enclosing a given set of 3D points.  
  | 
|   | 
|   | BoxT3 (const VectorT3< Scalar > ¢er, const Scalar xSize, const Scalar ySize, const Scalar zSize) | 
|   | Creates a new bounding box with defined dimensions centered at a given 3D location.  
  | 
|   | 
| VectorT3< Scalar >  | center () const | 
|   | Returns the center of the box.  
  | 
|   | 
| Scalar  | sqrDiagonal () const | 
|   | Returns the square diagonal of this box.  
  | 
|   | 
| Scalar  | diagonal () const | 
|   | Returns the diagonal of this box.  
  | 
|   | 
| Scalar  | xDimension () const | 
|   | Returns the dimension in x axis, which could e.g.  
  | 
|   | 
| Scalar  | yDimension () const | 
|   | Returns the dimension in y axis, which could e.g.  
  | 
|   | 
| Scalar  | zDimension () const | 
|   | Returns the dimension in z axis, which could e.g.  
  | 
|   | 
| VectorT3< Scalar >  | dimension () const | 
|   | Returns the dimension of this box for all three axis.  
  | 
|   | 
| bool  | isPoint (VectorT3< Scalar > *point=nullptr) const | 
|   | Returns whether this box defines one single point only.  
  | 
|   | 
| bool  | isPlanar (PlaneT3< Scalar > &plane) const | 
|   | Returns whether this box is planar aligned to one axis.  
  | 
|   | 
| const VectorT3< Scalar > &  | lower () const | 
|   | Returns the lower corner of the box.  
  | 
|   | 
| const VectorT3< Scalar > &  | higher () const | 
|   | Returns the higher corner of the box.  
  | 
|   | 
| bool  | isInside (const VectorT3< Scalar > &point, const Scalar eps=Scalar(0)) const | 
|   | Returns whether a given point is inside this bounding box.  
  | 
|   | 
| bool  | isOnSurface (const VectorT3< Scalar > &point, const Scalar epsilon=NumericT< Scalar >::eps()) const | 
|   | Returns whether a given point lies on the surface of this box.  
  | 
|   | 
| bool  | hasIntersection (const LineT3< Scalar > &ray) const | 
|   | Returns whether a given ray has an intersection with this box.  
  | 
|   | 
| bool  | hasIntersection (const LineT3< Scalar > &ray, const Scalar epsPerDistance) const | 
|   | Returns whether a given ray has an intersection with this box while applying a distance-dependent epsilon threshold.  
  | 
|   | 
| bool  | hasIntersection (const LineT3< Scalar > &ray, const HomogenousMatrixT4< Scalar > &box_T_ray) const | 
|   | Returns whether a given ray has an intersection with this box.  
  | 
|   | 
| unsigned int  | corners (VectorT3< Scalar > *corners) const | 
|   | Returns the corner positions of this box.  
  | 
|   | 
| BoxT3< Scalar >  | expanded (const VectorT3< Scalar > &offsets) const | 
|   | Returns an expanded box of this box.  
  | 
|   | 
| BoxT3< Scalar > &  | expand (const VectorT3< Scalar > &offsets) | 
|   | Expands this box.  
  | 
|   | 
| void  | clear () | 
|   | Clears and resets the bounding box to an invalid box.  
  | 
|   | 
| bool  | isEqual (const BoxT3< Scalar > &box, const Scalar epsilon=NumericT< Scalar >::eps()) const | 
|   | Returns whether two box objects are equal up to an epsilon.  
  | 
|   | 
| bool  | isValid () const | 
|   | Returns whether the bounding box is valid.  
  | 
|   | 
| BoxT3< Scalar >  | operator* (const Scalar factor) const | 
|   | Returns an enlarged bounding box of this one.  
  | 
|   | 
| BoxT3< Scalar >  | operator* (const HomogenousMatrixT4< Scalar > &world_T_box) const | 
|   | Returns the (axis-aligned) world bounding box for a given transformation between the box and world.  
  | 
|   | 
| BoxT3< Scalar > &  | operator*= (const Scalar factor) | 
|   | Enlarges the bounding box by a given factor in each dimension.  
  | 
|   | 
| BoxT3< Scalar > &  | operator*= (const HomogenousMatrixT4< Scalar > &world_T_box) | 
|   | Transforms this bounding box with a given transformation so that the this bounding box is defined in world afterwards.  
  | 
|   | 
| BoxT3< Scalar > &  | operator+= (const VectorT3< Scalar > &point) | 
|   | Adds a new point to this bounding box and updates it's dimension.  
  | 
|   | 
| BoxT3< Scalar > &  | operator+= (const BoxT3< Scalar > &right) | 
|   | Joins to bounding boxes.  
  | 
|   | 
| BoxT3< Scalar >  | operator+ (const BoxT3< Scalar > &right) const | 
|   | Returns the union of two bounding boxes.  
  | 
|   | 
| bool  | operator== (const BoxT3< Scalar > &right) const | 
|   | Returns whether two boxes are identical.  
  | 
|   | 
| bool  | operator!= (const BoxT3< Scalar > &right) const | 
|   | Returns whether two boxes are not identical.  
  | 
|   | 
|   | operator bool () const | 
|   | Returns whether this box is not a default box.  
  | 
|   | 
This class implements a 3D bounding box.