|
Monado OpenXR Runtime
|
Implementation of the main logic for the constellation tracker. More...
#include "xrt/xrt_frame.h"#include "util/u_debug.h"#include "util/u_logging.h"#include "util/u_var.h"#include "util/u_threading.h"#include "util/u_weak_ptr.hpp"#include "tracking/t_constellation.h"#include "math/m_api.h"#include "correspondence_search.h"#include "led_search_model.h"#include "pose_optimize.h"#include "t_constellation_tracker.h"#include <vector>#include <memory>#include <mutex>#include <shared_mutex>#include <optional>#include <stdexcept>Macros | |
| #define | CT_TRACE(ct, ...) U_LOG_IFL_T(ct->log_level, __VA_ARGS__) |
| #define | CT_DEBUG(ct, ...) U_LOG_IFL_D(ct->log_level, __VA_ARGS__) |
| #define | CT_INFO(ct, ...) U_LOG_IFL_I(ct->log_level, __VA_ARGS__) |
| #define | CT_WARN(ct, ...) U_LOG_IFL_W(ct->log_level, __VA_ARGS__) |
| #define | CT_ERROR(ct, ...) U_LOG_IFL_E(ct->log_level, __VA_ARGS__) |
| #define | MIN_ROT_ERROR DEG_TO_RAD(30) |
| #define | MIN_POS_ERROR 0.10 |
Functions | |
| void | constellation_tracker_camera_push_blobs (struct t_blob_sink *tbs, struct t_blob_observation *tbo) |
| void | constellation_tracker_camera_destroy (struct t_blob_sink *tbs) |
| void * | constellation_tracker_camera_slow_thread (void *ptr) |
| void * | constellation_tracker_camera_fast_thread (void *ptr) |
| void | constellation_tracker_node_break_apart (struct xrt_frame_node *node) |
| void | constellation_tracker_node_destroy (struct xrt_frame_node *node) |
| static void | mark_matching_blobs (ConstellationTracker *ct, struct t_blob_observation *bwobs, struct t_constellation_tracker_led_model *led_model, t_constellation_device_id_t device_id, struct pose_metrics_blob_match_info *blob_match_info) |
| static bool | get_tracking_origin_pose (CameraMosaic &mosaic, timepoint_ns when_ns, struct xrt_pose &Txr_world_origin) |
| static void | push_pose (Camera *camera, std::unique_ptr< Device > &device, struct xrt_pose &Tcv_cam_device, t_blob_observation &tbo) |
| static void | slow_thread_process (Camera *camera, CameraSample &sample) |
| static void | defer_to_slow_thread (Camera *camera, t_blob_observation &observation) |
| int | t_constellation_tracker_create (struct xrt_frame_context *xfctx, struct t_constellation_tracker_params *params, struct t_constellation_tracker **out_tracker) |
| int | t_constellation_tracker_add_device (struct t_constellation_tracker *raw_tracker, struct t_constellation_tracker_device_params *params, struct t_constellation_tracker_device *device, t_constellation_device_id_t *out_device_id) |
| int | t_constellation_tracker_remove_device (struct t_constellation_tracker *raw_tracker, t_constellation_device_id_t device) |
Implementation of the main logic for the constellation tracker.