MobileRT
1.0
A multi platform C++ CPU progressive Ray Tracer.
|
#include <AABB.hpp>
Public Member Functions | |
AABB ()=default | |
AABB (const ::glm::vec3 &pointMin, const ::glm::vec3 &pointMax) | |
AABB (const AABB &aabb)=default | |
AABB (AABB &&aabb) noexcept=default | |
~AABB ()=default | |
AABB & | operator= (const AABB &aabb)=default |
AABB & | operator= (AABB &&aabb) noexcept=default |
float | getSurfaceArea () const |
::glm::vec3 | getCentroid () const |
bool | intersect (const Ray &ray) const |
::glm::vec3 | getPointMin () const |
::glm::vec3 | getPointMax () const |
Private Member Functions | |
void | checkArguments () const |
Private Attributes | |
::glm::vec3 | pointMin_ {} |
::glm::vec3 | pointMax_ {} |
A class which represents an Axis Aligned Bounding Box.
This type of bounding box consists of a box where all the edges are aligned with the axis of the scene.
|
explicitdefault |
|
explicit |
|
default |
|
defaultnoexcept |
|
default |
|
private |
Helper method which checks for invalid fields.
glm::vec3 AABB::getCentroid | ( | ) | const |
Calculates the centroid of this AABB.
The centroid or geometric center of a plane figure is the arithmetic mean position of all the points in the figure.
glm::vec3 AABB::getPointMax | ( | ) | const |
glm::vec3 AABB::getPointMin | ( | ) | const |
float AABB::getSurfaceArea | ( | ) | const |
Calculates the surface area of this AABB.
bool AABB::intersect | ( | const Ray & | ray | ) | const |
|
private |
|
private |