Bike-X
0.8
|
#include "OVR_SensorFusion.h"
Data Structures | |
class | BodyFrameHandler |
struct | ExposureRecord |
struct | LocklessState |
struct | MagReferencePoint |
Public Member Functions | |
SensorFusion (SensorDevice *sensor=0) | |
~SensorFusion () | |
bool | AttachToSensor (SensorDevice *sensor) |
bool | IsAttachedToSensor () const |
void | SetUserHeadDimensions (Profile const &profile, HmdRenderInfo const &hmdRenderInfo) |
Transformf | GetPoseAtTime (double absoluteTime) const |
SensorState | GetSensorStateAtTime (double absoluteTime) const |
unsigned int | GetStatus () const |
void | Reset () |
void | EnableMotionTracking (bool enable=true) |
bool | IsMotionTrackingEnabled () const |
void | SetGravityEnabled (bool enableGravity) |
bool | IsGravityEnabled () const |
bool | IsVisionPositionEnabled () const |
void | SetVisionPositionEnabled (bool enableVisionPosition) |
void | SetCameraTiltCorrectionEnabled (bool enable) |
bool | IsCameraTiltCorrectionEnabled () const |
void | OnMessage (const MessageBodyFrame &msg) |
virtual void | OnVisionSuccess (const Transform< double > &cameraFromImu, UInt32 exposureCounter) |
virtual void | OnVisionPreviousFrame (const Transform< double > &cameraFromImu) |
virtual void | OnVisionFailure () |
virtual Transform< double > | GetVisionPrediction (UInt32 exposureCounter) |
double | GetTime () const |
double | GetVisionLatency () const |
Vector3f | GetHeadModel () const |
void | SetHeadModel (const Vector3f &headModel, bool resetNeckPivot=true) |
float | GetCenterPupilDepth () const |
void | SetCenterPupilDepth (float centerPupilDepth) |
void | SetYawCorrectionEnabled (bool enable) |
bool | IsYawCorrectionEnabled () const |
void | ClearMagReferences () |
void | SetFocusDirection () |
void | SetFocusDirection (Vector3d direction) |
void | SetFocusFOV (double rads) |
void | ClearFocus () |
Private Types | |
enum | { MagMaxReferences = 1000 } |
Private Member Functions | |
void | handleMessage (const MessageBodyFrame &msg) |
void | handleExposure (const MessageExposureFrame &msg) |
PoseStated | computeVisionError () |
void | applyMagYawCorrection (Vector3d mag, double deltaT) |
void | applyTiltCorrection (double deltaT) |
void | applyVisionYawCorrection (double deltaT) |
void | applyPositionCorrection (double deltaT) |
void | applyCameraTiltCorrection (Vector3d accel, double deltaT) |
void | applyFocusCorrection (double deltaT) |
void | setNeckPivotFromPose (Transformd const &pose) |
Friends | |
class | SensorFusionDebug |
Definition at line 189 of file OVR_SensorFusion.h.
|
private |
Enumerator | |
---|---|
MagMaxReferences |
Definition at line 193 of file OVR_SensorFusion.h.
OVR::SensorFusion::SensorFusion | ( | SensorDevice * | sensor = 0 | ) |
Definition at line 52 of file OVR_SensorFusion.cpp.
OVR::SensorFusion::~SensorFusion | ( | ) |
Definition at line 72 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 608 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 684 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 510 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 439 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 584 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 485 of file OVR_SensorFusion.cpp.
bool OVR::SensorFusion::AttachToSensor | ( | SensorDevice * | sensor | ) |
Definition at line 77 of file OVR_SensorFusion.cpp.
void OVR::SensorFusion::ClearFocus | ( | ) |
Definition at line 742 of file OVR_SensorFusion.cpp.
void OVR::SensorFusion::ClearMagReferences | ( | ) |
|
private |
Definition at line 224 of file OVR_SensorFusion.cpp.
|
inline |
Definition at line 235 of file OVR_SensorFusion.h.
float OVR::SensorFusion::GetCenterPupilDepth | ( | ) | const |
Definition at line 801 of file OVR_SensorFusion.cpp.
Vector3f OVR::SensorFusion::GetHeadModel | ( | ) | const |
Definition at line 781 of file OVR_SensorFusion.cpp.
Transformf OVR::SensorFusion::GetPoseAtTime | ( | double | absoluteTime | ) | const |
Definition at line 852 of file OVR_SensorFusion.cpp.
SensorState OVR::SensorFusion::GetSensorStateAtTime | ( | double | absoluteTime | ) | const |
Definition at line 859 of file OVR_SensorFusion.cpp.
unsigned OVR::SensorFusion::GetStatus | ( | ) | const |
Definition at line 880 of file OVR_SensorFusion.cpp.
|
inline |
Definition at line 533 of file OVR_SensorFusion.h.
|
inline |
Definition at line 528 of file OVR_SensorFusion.h.
Implements OVR::VisionHandler.
Definition at line 240 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 398 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 285 of file OVR_SensorFusion.cpp.
|
inline |
Definition at line 483 of file OVR_SensorFusion.h.
|
inline |
Definition at line 523 of file OVR_SensorFusion.h.
|
inline |
Definition at line 493 of file OVR_SensorFusion.h.
|
inline |
Definition at line 236 of file OVR_SensorFusion.h.
|
inline |
Definition at line 508 of file OVR_SensorFusion.h.
|
inline |
Definition at line 503 of file OVR_SensorFusion.h.
void OVR::SensorFusion::OnMessage | ( | const MessageBodyFrame & | msg | ) |
Definition at line 887 of file OVR_SensorFusion.cpp.
|
virtual |
Implements OVR::VisionHandler.
Definition at line 158 of file OVR_SensorFusion.cpp.
|
virtual |
Implements OVR::VisionHandler.
Definition at line 164 of file OVR_SensorFusion.cpp.
|
virtual |
Implements OVR::VisionHandler.
Definition at line 172 of file OVR_SensorFusion.cpp.
void OVR::SensorFusion::Reset | ( | ) |
Definition at line 125 of file OVR_SensorFusion.cpp.
|
inline |
Definition at line 518 of file OVR_SensorFusion.h.
void OVR::SensorFusion::SetCenterPupilDepth | ( | float | centerPupilDepth | ) |
Definition at line 806 of file OVR_SensorFusion.cpp.
void OVR::SensorFusion::SetFocusDirection | ( | ) |
Definition at line 726 of file OVR_SensorFusion.cpp.
void OVR::SensorFusion::SetFocusDirection | ( | Vector3d | direction | ) |
Definition at line 731 of file OVR_SensorFusion.cpp.
void OVR::SensorFusion::SetFocusFOV | ( | double | rads | ) |
Definition at line 736 of file OVR_SensorFusion.cpp.
|
inline |
Definition at line 488 of file OVR_SensorFusion.h.
void OVR::SensorFusion::SetHeadModel | ( | const Vector3f & | headModel, |
bool | resetNeckPivot = true |
||
) |
Definition at line 786 of file OVR_SensorFusion.cpp.
|
private |
Definition at line 412 of file OVR_SensorFusion.cpp.
void OVR::SensorFusion::SetUserHeadDimensions | ( | Profile const & | profile, |
HmdRenderInfo const & | hmdRenderInfo | ||
) |
Definition at line 752 of file OVR_SensorFusion.cpp.
|
inline |
Definition at line 513 of file OVR_SensorFusion.h.
|
inline |
Definition at line 498 of file OVR_SensorFusion.h.
|
friend |
Definition at line 191 of file OVR_SensorFusion.h.
|
private |
Definition at line 419 of file OVR_SensorFusion.h.
|
private |
Definition at line 388 of file OVR_SensorFusion.h.
|
private |
Definition at line 441 of file OVR_SensorFusion.h.
|
private |
Definition at line 447 of file OVR_SensorFusion.h.
|
private |
Definition at line 429 of file OVR_SensorFusion.h.
|
private |
Definition at line 421 of file OVR_SensorFusion.h.
|
private |
Definition at line 423 of file OVR_SensorFusion.h.
|
private |
Definition at line 399 of file OVR_SensorFusion.h.
|
private |
Definition at line 416 of file OVR_SensorFusion.h.
|
private |
Definition at line 416 of file OVR_SensorFusion.h.
|
private |
Definition at line 417 of file OVR_SensorFusion.h.
|
private |
Definition at line 413 of file OVR_SensorFusion.h.
|
private |
Definition at line 414 of file OVR_SensorFusion.h.
|
private |
Definition at line 443 of file OVR_SensorFusion.h.
|
private |
Definition at line 445 of file OVR_SensorFusion.h.
|
private |
Definition at line 406 of file OVR_SensorFusion.h.
|
private |
Definition at line 408 of file OVR_SensorFusion.h.
|
private |
Definition at line 401 of file OVR_SensorFusion.h.
|
private |
Definition at line 424 of file OVR_SensorFusion.h.
|
private |
Definition at line 427 of file OVR_SensorFusion.h.
|
private |
Definition at line 426 of file OVR_SensorFusion.h.
|
private |
Definition at line 425 of file OVR_SensorFusion.h.
|
private |
Definition at line 434 of file OVR_SensorFusion.h.
|
private |
Definition at line 404 of file OVR_SensorFusion.h.
|
private |
Definition at line 411 of file OVR_SensorFusion.h.
|
private |
Definition at line 410 of file OVR_SensorFusion.h.
|
private |
Definition at line 385 of file OVR_SensorFusion.h.
|
private |
Definition at line 396 of file OVR_SensorFusion.h.
|
private |
Definition at line 435 of file OVR_SensorFusion.h.
|
private |
Definition at line 431 of file OVR_SensorFusion.h.
|
private |
Definition at line 432 of file OVR_SensorFusion.h.
|
private |
Definition at line 381 of file OVR_SensorFusion.h.
|
private |
Definition at line 449 of file OVR_SensorFusion.h.