VisibilityCheck.cpp File Reference
#include "VisibilityCheck.h"
#include <algorithm>
#include <cmath>
#include <limits>
+ Include dependency graph for VisibilityCheck.cpp:

Go to the source code of this file.

Namespaces

namespace  armarx
 This file offers overloads of toIce() and fromIce() functions for STL container types.
 
namespace  armarx::fake_object_detector
 Geometric primitives for the fake object detector.
 
namespace  ArmarXSimulation
 This file is part of ArmarX.
 

Functions

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