Monado OpenXR Runtime
xrt::auxiliary::tracking::psmv::TrackerPSMV Struct Reference

The core object of the PS Move tracking setup. More...

Inheritance diagram for xrt::auxiliary::tracking::psmv::TrackerPSMV:
Collaboration diagram for xrt::auxiliary::tracking::psmv::TrackerPSMV:

Data Fields

struct xrt_tracked_psmv base = {}
 
struct xrt_frame_sink sink = {}
 
struct xrt_frame_node node = {}
 
struct xrt_frameframe
 Frame waiting to be processed. More...
 
struct os_thread_helper oth
 Thread and lock helper. More...
 
bool tracked = false
 
HelperDebugSink debug = {HelperDebugSink::AllAvailable}
 
bool has_imu = false
 Have we received a new IMU sample. More...
 
struct {
   struct xrt_vec3   pos = {}
 
   struct xrt_quat   rot = {}
 
fusion
 
View view [2]
 
bool calibrated
 
cv::Mat disparity_to_depth
 
cv::Vec3d r_cam_translation
 
cv::Matx33d r_cam_rotation
 
cv::Ptr< cv::SimpleBlobDetector > sbd
 
std::shared_ptr< PSMVFusionInterfacefilter
 
xrt_vec3 tracked_object_position
 
- Data Fields inherited from xrt_tracked_psmv
struct xrt_tracking_originorigin
 The tracking system origin for this ball. More...
 
struct xrt_devicexdev
 Device owning this ball. More...
 
struct xrt_colour_rgb_f32 colour
 Colour of the ball. More...
 
void(* push_imu )(struct xrt_tracked_psmv *, timepoint_ns timestamp_ns, struct xrt_tracking_sample *sample)
 Push a IMU sample into the tracking system. More...
 
void(* get_tracked_pose )(struct xrt_tracked_psmv *, enum xrt_input_name name, timepoint_ns when_ns, struct xrt_space_relation *out_relation)
 Called by the owning xrt_device xdev to get the pose of the ball in the tracking space at the given time. More...
 
void(* destroy )(struct xrt_tracked_psmv *)
 Destroy this tracked ball. More...
 
- Data Fields inherited from xrt_frame_sink
void(* push_frame )(struct xrt_frame_sink *sink, struct xrt_frame *frame)
 Push a frame into the sink. More...
 
- Data Fields inherited from xrt_frame_node
struct xrt_frame_nodenext
 
void(* break_apart )(struct xrt_frame_node *node)
 Called first in when the graph is being destroyed, remove any references frames and other objects and stop threads. More...
 
void(* destroy )(struct xrt_frame_node *node)
 Do the actual freeing of the objects. More...
 

Additional Inherited Members

- Public Member Functions inherited from xrt_tracked_psmv
int t_psmv_start (struct xrt_tracked_psmv *xtmv)
 
int t_psmv_create (struct xrt_frame_context *xfctx, struct xrt_colour_rgb_f32 *rgb, struct t_stereo_camera_calibration *data, struct xrt_tracked_psmv **out_xtmv, struct xrt_frame_sink **out_sink)
 
static void xrt_tracked_psmv_get_tracked_pose (struct xrt_tracked_psmv *psmv, enum xrt_input_name name, timepoint_ns when_ns, struct xrt_space_relation *out_relation)
 
static void xrt_tracked_psmv_push_imu (struct xrt_tracked_psmv *psmv, timepoint_ns timestamp_ns, struct xrt_tracking_sample *sample)
 
static void xrt_tracked_psmv_destroy (struct xrt_tracked_psmv **xtmv_ptr)
 
static void xrt_tracked_psvr_get_tracked_pose (struct xrt_tracked_psvr *psvr, timepoint_ns when_ns, struct xrt_space_relation *out_relation)
 
static void xrt_tracked_psvr_push_imu (struct xrt_tracked_psvr *psvr, timepoint_ns timestamp_ns, struct xrt_tracking_sample *sample)
 
static void xrt_tracked_psvr_destroy (struct xrt_tracked_psvr **xtvr_ptr)
 
- Public Member Functions inherited from xrt_frame_sink
void u_sink_create_format_converter (struct xrt_frame_context *xfctx, enum xrt_format f, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_r8g8b8_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_r8g8b8_bayer_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_rgb_yuv_yuyv_uyvy_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_yuv_yuyv_uyvy_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_yuv_or_yuyv (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_r8g8b8_r8g8b8a8_r8g8b8x8_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_deinterleaver_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
bool u_sink_queue_create (struct xrt_frame_context *xfctx, uint64_t max_size, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
bool u_sink_simple_queue_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_quirk_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct u_sink_quirk_params *params, struct xrt_frame_sink **out_xfs)
 
void u_sink_split_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *left, struct xrt_frame_sink *right, struct xrt_frame_sink **out_xfs)
 
static void xrt_sink_push_frame (struct xrt_frame_sink *sink, struct xrt_frame *frame)
 Push a frame into the sink. More...
 

Detailed Description

The core object of the PS Move tracking setup.

Field Documentation

◆ frame

struct xrt_frame* xrt::auxiliary::tracking::psmv::TrackerPSMV::frame

Frame waiting to be processed.

◆ has_imu

bool xrt::auxiliary::tracking::psmv::TrackerPSMV::has_imu = false

Have we received a new IMU sample.

◆ oth

struct os_thread_helper xrt::auxiliary::tracking::psmv::TrackerPSMV::oth

Thread and lock helper.

Referenced by xrt::auxiliary::tracking::psmv::get_pose().


The documentation for this struct was generated from the following file: