Monado OpenXR Runtime
Public Types | Public Member Functions | Static Public Attributes
xrt_fusion::AbsolutePositionLeverArmMeasurement Class Reference

For PS Move-like things, where there's a directly-computed absolute position that is not at the tracked body's origin. More...

#include <tracking/t_fusion.hpp>

Inheritance diagram for xrt_fusion::AbsolutePositionLeverArmMeasurement:
Inheritance graph
[legend]
Collaboration diagram for xrt_fusion::AbsolutePositionLeverArmMeasurement:
Collaboration graph
[legend]

Public Types

using State = flexkalman::pose_externalized_rotation::State
 
using MeasurementVector = types::Vector< Dimension >
 
using MeasurementSquareMatrix = types::SquareMatrix< Dimension >
 

Public Member Functions

 AbsolutePositionLeverArmMeasurement (MeasurementVector const &measurement, MeasurementVector const &knownLocationInBodySpace, MeasurementVector const &variance)
 
MeasurementSquareMatrix const & getCovariance (State const &)
 
types::Vector< 3 > predictMeasurement (State const &s) const
 
MeasurementVector getResidual (MeasurementVector const &predictedMeasurement, State const &) const
 
MeasurementVector getResidual (State const &s) const
 

Static Public Attributes

static constexpr size_t Dimension = 3
 

Detailed Description

For PS Move-like things, where there's a directly-computed absolute position that is not at the tracked body's origin.

Member Typedef Documentation

◆ MeasurementSquareMatrix

◆ MeasurementVector

◆ State

using xrt_fusion::AbsolutePositionLeverArmMeasurement::State = flexkalman::pose_externalized_rotation::State

Constructor & Destructor Documentation

◆ AbsolutePositionLeverArmMeasurement()

xrt_fusion::AbsolutePositionLeverArmMeasurement::AbsolutePositionLeverArmMeasurement ( MeasurementVector const &  measurement,
MeasurementVector const &  knownLocationInBodySpace,
MeasurementVector const &  variance 
)
inline
Todo:
the point we get from the camera isn't the center of the ball, but the center of the visible surface of the ball - a closer approximation would be translation along the vector to the center of projection....

Member Function Documentation

◆ getCovariance()

MeasurementSquareMatrix const& xrt_fusion::AbsolutePositionLeverArmMeasurement::getCovariance ( State const &  )
inline

◆ getResidual() [1/2]

MeasurementVector xrt_fusion::AbsolutePositionLeverArmMeasurement::getResidual ( MeasurementVector const &  predictedMeasurement,
State const &   
) const
inline

◆ getResidual() [2/2]

MeasurementVector xrt_fusion::AbsolutePositionLeverArmMeasurement::getResidual ( State const &  s) const
inline

◆ predictMeasurement()

types::Vector<3> xrt_fusion::AbsolutePositionLeverArmMeasurement::predictMeasurement ( State const &  s) const
inline

Field Documentation

◆ Dimension

constexpr size_t xrt_fusion::AbsolutePositionLeverArmMeasurement::Dimension = 3
static

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