in ReplicaSDK/include/MirrorRenderer.h [184:198]
bool InView(const MirrorSurface& surface, const pangolin::OpenGlRenderState& cam) {
const Eigen::Matrix4f mvp = ((Eigen::Matrix4d)cam.GetProjectionModelViewMatrix()).cast<float>();
for (size_t i = 0; i < surface.Boundary_w().size(); i++) {
Eigen::Vector4f p = mvp * Unproject(surface.Boundary_w()[i]);
p = p / p(3);
if (p(0) > -1 && p(0) < 1 && p(1) > -1 && p(1) < 1 && p(2) > -1 && p(2) < 1) {
return true;
}
}
return false;
}