Struct ILLIXR::data_format::pose::head_pose_type
ClassList > ILLIXR > data_format > pose > head_pose_type
Pose and velocity data for the head / HMD , with a timestamp.More...
#include <head_pose.hpp>
Inherits the following classes: ILLIXR::switchboard::event, ILLIXR::data_format::pose::head_pose_data
Public Attributes
| Type | Name |
|---|---|
| Eigen::Vector3f | angular_velocity Angular velocity in rad/s; zero if unavailable. |
| bool | angular_velocity_valid True when the runtime supplied a valid angular velocity. |
| Eigen::Vector3f | linear_velocity Linear velocity in m/s; zero if unavailable. |
| bool | linear_velocity_valid True when the runtime supplied a valid linear velocity. |
| time_point | sensor_time Recorded time of sensor data ingestion. |
Public Attributes inherited from ILLIXR::data_format::pose::pose_base
See ILLIXR::data_format::pose::pose_base
| Type | Name |
|---|---|
| float | confidence Confidence in the pose estimate in [0, 1], where 1 is highest confidence. |
| Eigen::Quaternionf | orientation Rotation component of the pose as a unit quaternion. |
| Eigen::Vector3f | position Translation component of the pose (x, y, z) |
| bool | valid Whether this pose contains valid, usable data. |
Public Functions
| Type | Name |
|---|---|
| head_pose_type () Default constructor. Pose invalid; velocities zero and invalid. |
|
| head_pose_type (time_point sensor_time_, Eigen::Vector3f & position_, Eigen::Quaternionf & orientation_, Eigen::Vector3f linear_velocity_=Eigen::Vector3f::Zero(), Eigen::Vector3f angular_velocity_=Eigen::Vector3f::Zero(), bool linear_velocity_valid_=false, bool angular_velocity_valid_=false, bool valid_=true, const float confidence_=0.) Construct from explicit components (mutable reference overload). |
|
| head_pose_type (time_point sensor_time_, const Eigen::Vector3f & position_, const Eigen::Quaternionf & orientation_, Eigen::Vector3f linear_velocity_=Eigen::Vector3f::Zero(), Eigen::Vector3f angular_velocity_=Eigen::Vector3f::Zero(), bool linear_velocity_valid_=false, bool angular_velocity_valid_=false, bool valid_=true, const float confidence_=0.) Construct from explicit components (const reference overload). |
|
| head_pose_type (time_point sensor_time_, head_pose_data & other) Construct from a head_pose_data with no velocity information. |
Public Functions inherited from ILLIXR::switchboard::event
See ILLIXR::switchboard::event
| Type | Name |
|---|---|
| void | serialize (Archive & ar, const unsigned int version) |
| virtual | ~event () = default |
Public Functions inherited from ILLIXR::data_format::pose::head_pose_data
See ILLIXR::data_format::pose::head_pose_data
| Type | Name |
|---|---|
| head_pose_data () = default Default constructor. Produces an invalid, zero-translation, identity-rotation pose. |
|
| head_pose_data (Eigen::Vector3f position_, Eigen::Quaternionf orientation_, bool valid_=true, const float confidence_=0.) |
Public Functions inherited from ILLIXR::data_format::pose::pose_base
See ILLIXR::data_format::pose::pose_base
| Type | Name |
|---|---|
| pose_base () Default constructor. Produces an invalid, zero-translation, identity-rotation pose. |
|
| pose_base (Eigen::Vector3f position_, Eigen::Quaternionf orientation_, float confidence_=0.f, bool valid_=true) Construct a pose from explicit components. |
|
| void | update (Eigen::Vector3f position_, Eigen::Quaternionf orientation_) |
Detailed Description
Extends head_pose_data with linear and angular velocity reported by the OpenXR runtime via XrSpaceVelocity. Each velocity component carries its own validity flag because the runtime may provide one without the other.
Velocities are expressed in the same reference space as the pose (local space by convention in this plugin) and in SI units:
* linear_velocity — metres per second
* angular_velocity — radians per second (axis-angle, right-hand rule)
Public Attributes Documentation
variable angular_velocity
Angular velocity in rad/s; zero if unavailable.
Eigen::Vector3f ILLIXR::data_format::pose::head_pose_type::angular_velocity;
variable angular_velocity_valid
True when the runtime supplied a valid angular velocity.
bool ILLIXR::data_format::pose::head_pose_type::angular_velocity_valid;
variable linear_velocity
Linear velocity in m/s; zero if unavailable.
Eigen::Vector3f ILLIXR::data_format::pose::head_pose_type::linear_velocity;
variable linear_velocity_valid
True when the runtime supplied a valid linear velocity.
bool ILLIXR::data_format::pose::head_pose_type::linear_velocity_valid;
variable sensor_time
Recorded time of sensor data ingestion.
time_point ILLIXR::data_format::pose::head_pose_type::sensor_time;
Public Functions Documentation
function head_pose_type [1/4]
Default constructor. Pose invalid; velocities zero and invalid.
inline ILLIXR::data_format::pose::head_pose_type::head_pose_type ()
function head_pose_type [2/4]
Construct from explicit components (mutable reference overload).
inline ILLIXR::data_format::pose::head_pose_type::head_pose_type (
time_point sensor_time_,
Eigen::Vector3f & position_,
Eigen::Quaternionf & orientation_,
Eigen::Vector3f linear_velocity_=Eigen::Vector3f::Zero(),
Eigen::Vector3f angular_velocity_=Eigen::Vector3f::Zero(),
bool linear_velocity_valid_=false,
bool angular_velocity_valid_=false,
bool valid_=true,
const float confidence_=0.
)
Parameters:
sensor_time_Timestamp associated with this dataposition_Positional part of the poseorientation_Rotational part of the poselinear_velocity_Linear velocity in m/s, defaults to zeroangular_velocity_Angular velocity in rad/s, defaults to zerolinear_velocity_valid_Whether linear_velocity_ contains valid dataangular_velocity_valid_Whether angular_velocity_ contains valid datavalid_Pose validity, defaults to trueconfidence_Confidence in [0, 1], defaults to 0
function head_pose_type [3/4]
Construct from explicit components (const reference overload).
inline ILLIXR::data_format::pose::head_pose_type::head_pose_type (
time_point sensor_time_,
const Eigen::Vector3f & position_,
const Eigen::Quaternionf & orientation_,
Eigen::Vector3f linear_velocity_=Eigen::Vector3f::Zero(),
Eigen::Vector3f angular_velocity_=Eigen::Vector3f::Zero(),
bool linear_velocity_valid_=false,
bool angular_velocity_valid_=false,
bool valid_=true,
const float confidence_=0.
)
Parameters:
sensor_time_Timestamp associated with this dataposition_Positional part of the poseorientation_Rotational part of the poselinear_velocity_Linear velocity in m/s, defaults to zeroangular_velocity_Angular velocity in rad/s, defaults to zerolinear_velocity_valid_Whether linear_velocity_ contains valid dataangular_velocity_valid_Whether angular_velocity_ contains valid datavalid_Pose validity, defaults to trueconfidence_Confidence in [0, 1], defaults to 0
function head_pose_type [4/4]
Construct from a head_pose_data with no velocity information.
inline ILLIXR::data_format::pose::head_pose_type::head_pose_type (
time_point sensor_time_,
head_pose_data & other
)
Parameters:
sensor_time_Timestamp associated with the poseotherPose to copy; velocities will be zero and invalid
The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/include/illixr/data_format/poses/head_pose.hpp