Fove SDK  v1.3.1
Public Member Functions | Static Public Member Functions | List of all members
Fove::Headset Class Reference

Main API for using headsets. More...

#include <FoveAPI.h>

Inheritance diagram for Fove::Headset:
Inheritance graph
[legend]
Collaboration diagram for Fove::Headset:
Collaboration graph
[legend]

Public Member Functions

 Headset ()=default
 Creates an empty headset. More...
 
 Headset (Fove_Headset &headset)
 Creates a headset from an existing C API object. More...
 
 Headset (Headset &&other)
 Move constructs a headset. More...
 
 ~Headset ()
 Destroys the headset, releasing any resources. More...
 
Result activateLicense (const std::string &licenseKey)
 Wraps fove_Headset_activateLincese()
 
Result checkSoftwareVersions ()
 Wraps fove_Headset_checkSoftwareVersions()
 
Result< CompositorcreateCompositor ()
 Creates a new compositor object.
 
Result createProfile (const std::string &name)
 Wraps fove_Headset_createProfile()
 
Result deactivateLicense (const std::string &licenseKey)
 Wraps fove_Headset_deactivateLincese()
 
Result deleteProfile (const std::string &profileName)
 Wraps fove_Headset_deleteProfile()
 
Result destroy ()
 Destroys the headset, releasing resources. More...
 
Result< Fove_FrameTimestampfetchEyesImage ()
 Wraps fove_Headset_fetchEyesImage()
 
Result< Fove_FrameTimestampfetchEyeTrackingData ()
 Wraps fove_Headset_fetchEyeTrackingData()
 
Result< Fove_FrameTimestampfetchPoseData ()
 Wraps fove_Headset_fetchPoseData()
 
Result< Fove_FrameTimestampfetchPositionImage ()
 Wraps fove_Headset_fetchPositionImage()
 
Result< float > getCombinedGazeDepth ()
 Wraps fove_Headset_getCombinedGazeDepth()
 
Result< Fove_RaygetCombinedGazeRay ()
 Wraps fove_Headset_getCombinedGazeRay()
 
Result< float > getEyeballRadius (Eye eye)
 Wraps fove_Headset_getEyeballRadius()
 
Result< int > getEyeBlinkCount (Eye eye)
 Wraps fove_Headset_getEyeBlinkCount()
 
Result< EyeShapegetEyeShape (Eye eye)
 Wraps fove_Headset_getEyeShape()
 
Result< Fove_BitmapImagegetEyesImage ()
 Wraps fove_Headset_getEyesImage()
 
Result< Fove_FrameTimestampgetEyesImageTimestamp ()
 Wraps fove_Headset_getEyesImageTimestamp()
 
Result< EyeStategetEyeState (Eye eye)
 Wraps fove_Headset_getEyeState()
 
Result< Stereo< Matrix44 > > getEyeToHeadMatrices ()
 Wraps fove_Headset_getEyeToHeadMatrices()
 
Result< float > getEyeTorsion (Eye eye)
 Wraps fove_Headset_getEyeTorsion()
 
Result< Fove_CalibrationStategetEyeTrackingCalibrationState ()
 Wraps fove_Headset_getEyeTrackingCalibrationState()
 
template<typename Callback >
Result getEyeTrackingCalibrationStateDetails (Callback &&callback)
 Wraps fove_Headset_getEyeTrackingCalibrationStateDetails()
 
Result< Fove_FrameTimestampgetEyeTrackingDataTimestamp ()
 Wraps fove_Headset_getEyeTrackingDataTimestamp()
 
Result< int > getGazedObjectId ()
 Wraps fove_Headset_getGazedObjectId()
 
Result< Vec2getGazeScreenPosition (Eye eye)
 Wraps fove_Headset_getGazeScreenPosition()
 
Result< Vec2getGazeScreenPositionCombined ()
 Wraps fove_Headset_getGazeScreenPosition()
 
Result< Vec3getGazeVector (Eye eye)
 Wraps fove_Headset_getGazeVector()
 
Result< Vec3getGazeVectorRaw (Eye eye)
 Wraps fove_Headset_getGazeVectorRaw()
 
Result< float > getIrisRadius (Eye eye)
 Wraps fove_Headset_getIrisRadius()
 
Result< PosegetPose ()
 Wraps fove_Headset_getPose()
 
Result< Fove_FrameTimestampgetPoseDataTimestamp ()
 Wraps fove_Headset_getPoseDataTimestamp()
 
Result< Fove_BitmapImagegetPositionImage ()
 Wraps fove_Headset_getPositionImage()
 
Result< Fove_FrameTimestampgetPositionImageTimestamp ()
 Wraps fove_Headset_getPositionImageTimestamp()
 
Result< Stereo< Matrix44 > > getProjectionMatricesLH (const float zNear, const float zFar)
 Wraps fove_Headset_getProjectionMatricesLH()
 
Result< Stereo< Matrix44 > > getProjectionMatricesRH (const float zNear, const float zFar)
 Wraps fove_Headset_getProjectionMatricesRH()
 
Result< float > getPupilRadius (Eye eye)
 Wraps fove_Headset_getPupilRadius()
 
Result< PupilShapegetPupilShape (Eye eye)
 Wraps fove_Headset_getPupilShape()
 
Result< Stereo< ProjectionParams > > getRawProjectionValues ()
 Wraps fove_Headset_getRawProjectionValues()
 
Result< float > getRenderIOD ()
 Wraps fove_Headset_getIOD()
 
Result< float > getUserIOD ()
 Wraps fove_Headset_getUserIOD()
 
Result< float > getUserIPD ()
 Wraps fove_Headset_getUserIPD()
 
Result< bool > hasAccessToFeature (const std::string &inFeatureName)
 Wraps fove_Headset_hasAccessToFeature()
 
Result< bool > hasHmdAdjustmentGuiTimeout ()
 Wraps fove_Headset_hasHmdAdjustmentGuiTimeout()
 
Result< bool > isEyeBlinking (Eye eye)
 Wraps fove_Headset_isEyeBlinking()
 
Result< bool > isEyeTrackingCalibrated ()
 Wraps fove_Headset_isEyeTrackingCalibrated()
 
Result< bool > isEyeTrackingCalibratedForGlasses ()
 Wraps fove_Headset_isEyeTrackingCalibratedForGlasses()
 
Result< bool > isEyeTrackingCalibrating ()
 Wraps fove_Headset_isEyeTrackingCalibrating()
 
Result< bool > isEyeTrackingEnabled ()
 Wraps fove_Headset_isEyeTrackingEnabled()
 
Result< bool > isEyeTrackingReady ()
 Wraps fove_Headset_isEyeTrackingReady()
 
Result< bool > isHardwareConnected ()
 Wraps fove_Headset_isHardwareConnected()
 
Result< bool > isHmdAdjustmentGuiVisible ()
 Wraps fove_Headset_isHmdAdjustmentGuiVisible()
 
Result< bool > isMotionReady ()
 Wraps fove_Headset_isMotionReady()
 
Result< bool > isPositionReady ()
 Wraps fove_Headset_isPositionReady()
 
Result< bool > isUserPresent ()
 Wraps fove_Headset_isUserPresent()
 
Result< bool > isUserShiftingAttention ()
 Wraps fove_Headset_isUserShiftingAttention()
 
Result< std::vector< std::string > > listProfiles ()
 Wraps fove_Headset_listProfiles()
 
template<typename Callback >
Result listProfiles (Callback &&callback)
 Wraps fove_Headset_listProfiles()
 
Headsetoperator= (Headset &&other)
 Destroys the existing headset if any, then moves the one referenced by other, if any, into this object. More...
 
Result< std::string > queryCurrentProfile ()
 Wraps fove_Headset_queryCurrentProfile()
 
template<typename Callback >
Result queryCurrentProfile (Callback &&callback)
 Wraps fove_Headset_queryCurrentProfile()
 
Result< HeadsetHardwareInfoqueryHeadsetHardwareInfo ()
 Wraps fove_Headset_queryHardwareInfo()
 
Result< std::vector< LicenseInfo > > queryLicenses ()
 Wraps fove_Headset_queryLicenses()
 
Result< std::string > queryProfileDataPath (const std::string &profileName)
 Wraps fove_Headset_queryProfileDataPath()
 
template<typename Callback >
Result queryProfileDataPath (const std::string &profileName, Callback &&callback)
 Wraps fove_Headset_queryProfileDataPath()
 
Result< VersionsquerySoftwareVersions ()
 Wraps fove_Headset_querySoftwareVersions()
 
Result registerCameraObject (const Fove_CameraObject &camera)
 Wraps fove_Headset_registerCameraObject()
 
Result registerCapabilities (const ClientCapabilities caps)
 Wraps fove_Headset_registerCapabilities()
 
Result registerGazableObject (const Fove_GazableObject &object)
 Wraps fove_Headset_registerGazableObject()
 
Result removeCameraObject (const int cameraId)
 Wraps fove_Headset_removeCameraObject()
 
Result removeGazableObject (const int objectId)
 Wraps fove_Headset_removeGazableObject()
 
Result renameProfile (const std::string &oldName, const std::string &newName)
 Wraps fove_Headset_renameProfile()
 
Result setCurrentProfile (const std::string &profileName)
 Wraps fove_Headset_setCurrentProfile()
 
Result startEyeTrackingCalibration (const Fove_CalibrationOptions &options={})
 Wraps fove_Headset_startEyeTrackingCalibration()
 
Result startHmdAdjustmentProcess (bool lazy=true)
 Wraps fove_Headset_startHmdAdjustmentProcess()
 
Result stopEyeTrackingCalibration ()
 Wraps fove_Headset_stopEyeTrackingCalibration()
 
Result tareOrientationSensor ()
 Wraps fove_Headset_tareOrientationSensor()
 
Result tarePositionSensors ()
 Wraps fove_Headset_tarePositionSensors()
 
template<typename Callback >
Result tickEyeTrackingCalibration (const float dt, bool isVisible, Callback &&callback)
 Wraps fove_Headset_tickEyeTrackingCalibration()
 
Result tickHmdAdjustmentProcess (float deltaTime, bool isVisible, Fove_HmdAdjustmentData &outData)
 Wraps fove_Headset_tickHmdAdjustmentProcess()
 
Result unregisterCapabilities (const ClientCapabilities caps)
 Wraps fove_Headset_unregisterCapabilities()
 
Result updateCameraObject (const int cameraId, const Fove_ObjectPose &pose)
 Wraps fove_Headset_updateCameraObject()
 
Result updateGazableObject (const int objectId, const Fove_ObjectPose &objectPose)
 Wraps fove_Headset_updateGazableObject()
 
Result waitForProcessedEyeFrame ()
 Wraps fove_Headset_waitForProcessedEyeFrame()
 
- Public Member Functions inherited from Fove::Object< Fove_Headset >
Fove_HeadsetgetCObject () const
 Returns the underlying C type which the caller can use to invoke the C API directly, or null if not valid.
 
bool isValid () const
 Returns true if this object is non-empty. More...
 

Static Public Member Functions

static Result< Headsetcreate (const ClientCapabilities capabilities)
 Creates a new headset object with the given capabilities.
 

Detailed Description

Main API for using headsets.

This class is a wrapper around the C API's Fove_Headset, and is the main class of the FOVE API.

Constructor & Destructor Documentation

◆ Headset() [1/3]

Fove::Headset::Headset ( )
default

Creates an empty headset.

Please use Headset::create() to create a valid headset.

See also
Headset::create

◆ Headset() [2/3]

Fove::Headset::Headset ( Fove_Headset headset)

Creates a headset from an existing C API object.

This is not normally invoked directly, rather Headset::create(), which wraps this, is typically used.

See also
Headset::create

◆ Headset() [3/3]

Fove::Headset::Headset ( Headset &&  other)

Move constructs a headset.

Parameters
otherMay be empty or non-empty. By return, it will be empty.

◆ ~Headset()

Fove::Headset::~Headset ( )

Destroys the headset, releasing any resources.

Since an error cannot be returned, any error from fove_Headset_destroy will be logged.

Here is the call graph for this function:

Member Function Documentation

◆ destroy()

Result Fove::Headset::destroy ( )

Destroys the headset, releasing resources.

After this call, this object will be in an empty state and future calls will fail. This is handled by the destructor, usually the user doesn't need to call this.

Here is the call graph for this function:

◆ operator=()

Headset& Fove::Headset::operator= ( Headset &&  other)

Destroys the existing headset if any, then moves the one referenced by other, if any, into this object.

Parameters
otherMay be empty or non-empty. By return, it will be empty.
Here is the call graph for this function: