#include "VisibilityCheck.h"
#include <algorithm>
#include <cmath>
#include <limits>
Go to the source code of this file.
|
| Eigen::Vector3f | faceCenter (const Box &box, int faceIndex) |
| | Centre of faceIndex in global coordinates.
|
| |
| Eigen::Vector3f | faceNormal (const Box &box, int faceIndex) |
| | Outward unit normal of faceIndex in global coordinates.
|
| |
| int | frontFaceIndex (const Frustum &frustum, const Box &box) |
| | The face of box that points most directly at the camera - the "front facing side" of the bounding box.
|
| |
| std::optional< float > | intersectRayBox (const Eigen::Vector3f &origin, const Eigen::Vector3f &unitDirection, const Box &box) |
| | Intersect a ray with an oriented box using the slab method.
|
| |
| bool | isInFieldOfView (const Frustum &frustum, const Box &box, bool requireFullyInside) |
| | Whether box is inside the camera frustum.
|
| |
| std::vector< Eigen::Vector3f > | sampleFace (const Box &box, int faceIndex, int gridN) |
| | A gridN x gridN grid of sample points spread over faceIndex, in global coordinates.
|
| |
| float | visibleFraction (const Frustum &frustum, const Box &target, const std::vector< Box > &occluders, int gridN, float epsilon) |
| | The fraction of sample points on the front face of target that the camera can see.
|
| |