ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
frame_visibility.hpp File Reference
#include <Eigen/Core>
#include <atomic>
#include <stdexcept>
#include <vector>
Include dependency graph for frame_visibility.hpp:

Go to the source code of this file.

Classes

struct  reusex::core::FrameVisibility
 One frame in which a queried world point is visible, with the geometry of its projection. More...
struct  reusex::core::VisibilityQuery
 Tunables for visible_frames(). More...
struct  reusex::core::OcclusionQuery
 Tunables for visible_frames_occluded(). More...
struct  reusex::core::VisibilityProbe
 What visible_frames_occluded() tests for one object: an anchor that decides the frustum test and the ranking (usually the centroid), plus surface samples. More...
class  reusex::core::OperationCancelled
 Thrown by visible_frames_occluded() when its cancel flag is raised. More...

Namespaces

namespace  reusex
namespace  reusex::core
 Wire form of one stored report PDF version — the ReportPdfVersion schema in ruxd's API contract (docs/gui/openapi.yaml, in the ruxd repo).

Functions

std::vector< FrameVisibility > reusex::core::visible_frames (const ProjectDB &db, const Eigen::Vector3d &world_point, const VisibilityQuery &query={})
 Rank the posed sensor frames by how centrally a world point projects.
std::vector< std::vector< FrameVisibility > > reusex::core::visible_frames_batch (const ProjectDB &db, const std::vector< Eigen::Vector3d > &world_points, const VisibilityQuery &query={})
 visible_frames() for many points at once.
std::vector< std::vector< FrameVisibility > > reusex::core::visible_frames_occluded (const ProjectDB &db, const std::vector< VisibilityProbe > &probes, const OcclusionQuery &query={}, const std::atomic< bool > *cancel=nullptr)
 Occlusion-aware visible_frames_batch(): frames that actually see each probe, not merely frames whose frustum contains it.