Show / Hide Table of Contents

    FUxtDefaultHandTracker

    Default hand tracker implementation.

    This implementation works for all XR systems. It uses the XRTrackingSystem engine API. Hand and controller data is based on the FXRMotionControllerData.

    Motion controller data is cached at the beginning of each frame. Input events for known XR systems are used to keep track of Select and Grip actions.

    class FUxtDefaultHandTracker;
    

    Header

    #include <UxtDefaultHandTracker.h>

    Inheritance

    Inherits from IUxtHandTracker, IModularFeature

    Public Functions

    Name
    void RegisterInputMappings()
    void UnregisterInputMappings()
    FXRMotionControllerData & GetControllerData(EControllerHand Hand)
    const FXRMotionControllerData & GetControllerData(EControllerHand Hand) const
    virtual ETrackingStatus GetTrackingStatus(EControllerHand Hand) const override
    virtual bool IsHandController(EControllerHand Hand) const override
    virtual bool GetJointState(EControllerHand Hand, EHandKeypoint Joint, FQuat & OutOrientation, FVector & OutPosition, float & OutRadius) const override
    virtual bool GetPointerPose(EControllerHand Hand, FQuat & OutOrientation, FVector & OutPosition) const override
    virtual bool GetGripPose(EControllerHand Hand, FQuat & OutOrientation, FVector & OutPosition) const override
    virtual bool GetIsGrabbing(EControllerHand Hand, bool & OutIsGrabbing) const override
    virtual bool GetIsSelectPressed(EControllerHand Hand, bool & OutIsSelectPressed) const override

    Friends

    Name
    class UUxtDefaultHandTrackerSubsystem

    Additional inherited members

    Public Functions inherited from IUxtHandTracker

    Name
    FName GetModularFeatureName()
    IUxtHandTracker & Get()
    virtual ~IUxtHandTracker()

    Public Functions Documentation

    function RegisterInputMappings

    static void RegisterInputMappings()
    

    function UnregisterInputMappings

    static void UnregisterInputMappings()
    

    function GetControllerData

    FXRMotionControllerData & GetControllerData(
        EControllerHand Hand
    )
    

    function GetControllerData

    const FXRMotionControllerData & GetControllerData(
        EControllerHand Hand
    ) const
    

    function GetTrackingStatus

    virtual ETrackingStatus GetTrackingStatus(
        EControllerHand Hand
    ) const override
    

    Reimplements: IUxtHandTracker::GetTrackingStatus

    Get tracking status of the hand or motion controller.

    function IsHandController

    virtual bool IsHandController(
        EControllerHand Hand
    ) const override
    

    Reimplements: IUxtHandTracker::IsHandController

    True if the controller is a hand.

    function GetJointState

    virtual bool GetJointState(
        EControllerHand Hand,
        EHandKeypoint Joint,
        FQuat & OutOrientation,
        FVector & OutPosition,
        float & OutRadius
    ) const override
    

    Reimplements: IUxtHandTracker::GetJointState

    Obtain the state of the given joint. Returns false if the hand is not tracked this frame, in which case the values of the output parameters are unchanged.

    function GetPointerPose

    virtual bool GetPointerPose(
        EControllerHand Hand,
        FQuat & OutOrientation,
        FVector & OutPosition
    ) const override
    

    Reimplements: IUxtHandTracker::GetPointerPose

    Obtain the pointer pose. Returns false if the hand is not tracked this frame, in which case the value of the output parameter is unchanged.

    function GetGripPose

    virtual bool GetGripPose(
        EControllerHand Hand,
        FQuat & OutOrientation,
        FVector & OutPosition
    ) const override
    

    Reimplements: IUxtHandTracker::GetGripPose

    Grip pose following the controller. Returns false if the hand is not tracked this frame, in which case the value of the output parameter is unchanged.

    function GetIsGrabbing

    virtual bool GetIsGrabbing(
        EControllerHand Hand,
        bool & OutIsGrabbing
    ) const override
    

    Reimplements: IUxtHandTracker::GetIsGrabbing

    Obtain current grabbing state. Returns false if the hand is not tracked this frame, in which case the value of the output parameter is unchanged.

    function GetIsSelectPressed

    virtual bool GetIsSelectPressed(
        EControllerHand Hand,
        bool & OutIsSelectPressed
    ) const override
    

    Reimplements: IUxtHandTracker::GetIsSelectPressed

    Obtain current selection state. Returns false if the hand is not tracked this frame, in which case the value of the output parameter is unchanged.

    Friends

    friend UUxtDefaultHandTrackerSubsystem

    friend class UUxtDefaultHandTrackerSubsystem(
        UUxtDefaultHandTrackerSubsystem 
    );
    

    Updated on 19 August 2021 at 17:42:51 Coordinated Universal Time

    • Improve this Doc
    Back to top Generated by DocFX