Enpose API — C++
Enpose 6-DoF tracking API
Loading...
Searching...
No Matches
enpose Namespace Reference

Classes

struct  DeviceInfo
 One device discovered on the local network. More...
 
class  Error
 Exception thrown by the wrapper when a C call fails. More...
 
class  PoseStream
 RAII handle to a live pose stream from one device. More...
 

Typedefs

using MarkerPose = ::EnposeMarkerPose
 Pose of one tracked marker in world coordinates.
 

Functions

std::vector< DeviceInfo > discover ()
 Discover Enpose devices on the local network.
 

Typedef Documentation

◆ MarkerPose

using enpose::MarkerPose = typedef ::EnposeMarkerPose

Pose of one tracked marker in world coordinates.

Alias of the C POD struct, so all fields are available directly: timestamp, marker_id, x/y/z, rotation[9], position_rmse, rotation_rmse, sensors, observed_emitters. Units: x/y/z and position_rmse are in meters; rotation_rmse is in radians.

observed_emitters counts the marker LEDs whose measurements contributed to the pose (four on the standard marker); a lower count means some were occluded, leaving the pose fitted from a reduced set of points.

The world frame is right-handed, and where its origin and axes lie is decided by the device's extrinsics calibration. By default it is the reference sensor's optical frame — origin at that sensor, +X to its right, +Y down and +Z into the scene, so a marker in front of the device has a positive z. Calibrating against a measured origin puts the frame there instead, and measuring a ground plane makes that plane z = 0 with +Z pointing up out of it. Treat the axes as a property of the calibration rather than a fixed convention: recalibrating a device can move the frame.

Function Documentation

◆ discover()

std::vector< DeviceInfo > enpose::discover ( )
inline

Discover Enpose devices on the local network.

Returns one entry per device (empty if none are found). Throws Error on an I/O failure.