4#ifndef QTQUICK3DXRGLOBAL_P_H
5#define QTQUICK3DXRGLOBAL_P_H
18#include <QtQuick3DXr/qtquick3dxrglobal.h>
58template<
typename XrSpaceT>
61 static_assert(
sizeof(XrSpaceT) <=
sizeof(
XrSpaceId),
"XrSpaceT's size must equal or smaller than XrSpaceId");
62 if constexpr (
std::is_pointer_v<XrSpaceT>)
63 return reinterpret_cast<XrSpaceT>(space);
65 return static_cast<XrSpaceT>(space);
68template<
typename XrSpaceT>
71 static_assert(
sizeof(XrSpaceT) <=
sizeof(
XrSpaceId),
"XrSpaceT's size must equal or smaller than XrSpaceId");
72 return static_cast<
XrSpaceId>(quint64(space));
75template <size_t N = 16>
78 for (size_t i = 0; i != N; ++i)
79 counter += (uuid[i] == 0);
81 return (counter == N);
static void registerAction(QQuick3DXrInputAction *action)
static void handleInput(QQuick3DXrInputAction::Action id, QQuick3DXrInputAction::Controller hand, const char *shortName, float value)
static QList< QPointer< QQuick3DXrHapticFeedback > > getHapticEffects(QQuick3DXrInputAction::Controller hand)
static void registerHapticEffect(QPointer< QQuick3DXrHapticFeedback >)
static void removeHapticEffect(QQuick3DXrHapticFeedback *action)
static void removeAction(QQuick3DXrInputAction *action)
Hand hand() const
\qmlproperty enumeration XrHandModel::hand
void setHand(Hand newHand)
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void handTrackerChanged()
void classBegin() override
Invoked after class creation, but before any properties have been set.
void hapticEffectChanged()
void setCondition(enum Condition newCondition)
~QQuick3DXrHapticFeedback() override
void setController(Controller newController)
void setTrigger(bool newTrigger)
enum Condition condition() const
\qmlproperty enumeration QtQuick3D.Xr::XrHapticFeedback::condition
void stop()
\qmlmethod void XrHapticFeedback::stop
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void setHapticEffect(QQuick3DXrAbstractHapticEffect *newHapticEffect)
QQuick3DXrAbstractHapticEffect * hapticEffect() const
\qmlproperty XrHapticEffect XrHapticFeedback::hapticEffect
Controller controller() const
\qmlproperty enumeration QtQuick3D.Xr::XrHapticFeedback::controller
void setAmplitude(float newAmplitude)
void setFrequency(float newFrequency)
void setDuration(float newDuration)
XrSpaceT fromXrSpaceId(XrSpaceId space)
QtQuick3DXr::Hand handForController(QQuick3DXrController::Controller controller)
bool isNullUuid(const quint8(&uuid)[N])
QtQuick3DXr::HandPoseSpace pose_cast(QQuick3DXrController::HandPoseSpace poseSpace)
XrSpaceId toXrSpaceId(XrSpaceT space)
@ ReferenceSpaceLocalFloor