|
ToyMaker Game Engine 0.0.2
ToyMaker is a game engine developed and maintained by Zoheb Shujauddin.
|
The base class of all spatial query volumes. More...
#include <types.hpp>
Public Member Functions | |
| template<typename TDerived> | |
| std::array< glm::vec3, 8 > | getVolumeRelativeBoxCorners () const |
| Gets corners of the object-relative bounding box that encapsulates the derived volume. | |
| template<typename TDerived> | |
| bool | isSensible () const |
| Returns whether or not the derived volume has sensible parameters (i.e., isn't infinite or invalid). | |
| template<typename TDerived> | |
| bool | isPositiveStrict () const |
| Returns whether or not the derived volume has strictly positive parameters. | |
Static Public Member Functions | |
| static constexpr std::array< glm::vec3, 8 > | GetCornerSignsArray () |
| Returns an array populated with axis-wise sign multipliers, where the positions on the array correspond to the corner of a box. | |
| static std::array< glm::vec3, 8 > | ComputeBoxCorners (const glm::vec3 &boxDimensions) |
| Computes the model relative corners of a box, given the dimensions of the box. | |
The base class of all spatial query volumes.
Provides functions and methods for retrieving and computing volume relative and axis aligned box corner coordinates.
|
inlinestatic |
Computes the model relative corners of a box, given the dimensions of the box.
| boxDimensions | A box's width, height, and depth. |
|
inlinestaticconstexpr |
Returns an array populated with axis-wise sign multipliers, where the positions on the array correspond to the corner of a box.
|
inline |
Gets corners of the object-relative bounding box that encapsulates the derived volume.
Forces subclasses to implement their own version of this function without breaking their ability to be aggregate initialized.
|
inline |
Returns whether or not the derived volume has strictly positive parameters.
Forces subclasses to implement their own version of this function without breaking their ability to be aggregate initialized
|
inline |
Returns whether or not the derived volume has sensible parameters (i.e., isn't infinite or invalid).
Forces subclasses to implement their own version of this function without breaking their ability to be aggregate initialized.