|
| | 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.