// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Perception_People_0_H #define WINRT_Windows_Perception_People_0_H WINRT_EXPORT namespace winrt::Windows::Foundation::Numerics { } WINRT_EXPORT namespace winrt::Windows::Perception { struct PerceptionTimestamp; } WINRT_EXPORT namespace winrt::Windows::Perception::Spatial { struct SpatialCoordinateSystem; } WINRT_EXPORT namespace winrt::Windows::UI::Input::Spatial { struct SpatialInteractionSource; } WINRT_EXPORT namespace winrt::Windows::Perception::People { enum class HandJointKind : int32_t { Palm = 0, Wrist = 1, ThumbMetacarpal = 2, ThumbProximal = 3, ThumbDistal = 4, ThumbTip = 5, IndexMetacarpal = 6, IndexProximal = 7, IndexIntermediate = 8, IndexDistal = 9, IndexTip = 10, MiddleMetacarpal = 11, MiddleProximal = 12, MiddleIntermediate = 13, MiddleDistal = 14, MiddleTip = 15, RingMetacarpal = 16, RingProximal = 17, RingIntermediate = 18, RingDistal = 19, RingTip = 20, LittleMetacarpal = 21, LittleProximal = 22, LittleIntermediate = 23, LittleDistal = 24, LittleTip = 25, }; enum class JointPoseAccuracy : int32_t { High = 0, Approximate = 1, }; struct IEyesPose; struct IEyesPoseStatics; struct IHandMeshObserver; struct IHandMeshVertexState; struct IHandPose; struct IHeadPose; struct EyesPose; struct HandMeshObserver; struct HandMeshVertexState; struct HandPose; struct HeadPose; struct HandMeshVertex; struct JointPose; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = struct_category; }; template <> struct category{ using type = struct_category; }; template <> inline constexpr auto& name_v = L"Windows.Perception.People.EyesPose"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.HandMeshObserver"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.HandMeshVertexState"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.HandPose"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.HeadPose"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.HandJointKind"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.JointPoseAccuracy"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.HandMeshVertex"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.JointPose"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.IEyesPose"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.IEyesPoseStatics"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.IHandMeshObserver"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.IHandMeshVertexState"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.IHandPose"; template <> inline constexpr auto& name_v = L"Windows.Perception.People.IHeadPose"; template <> inline constexpr guid guid_v{ 0x682A9B23,0x8A1E,0x5B86,{ 0xA0,0x60,0x90,0x6F,0xFA,0xCB,0x62,0xA4 } }; // 682A9B23-8A1E-5B86-A060-906FFACB62A4 template <> inline constexpr guid guid_v{ 0x1CFF7413,0xB21F,0x54C0,{ 0x80,0xC1,0xE6,0x0D,0x99,0x4C,0xA5,0x8C } }; // 1CFF7413-B21F-54C0-80C1-E60D994CA58C template <> inline constexpr guid guid_v{ 0x85AE30CB,0x6FC3,0x55C4,{ 0xA7,0xB4,0x29,0xE3,0x38,0x96,0xCA,0x69 } }; // 85AE30CB-6FC3-55C4-A7B4-29E33896CA69 template <> inline constexpr guid guid_v{ 0x046C5FEF,0x1D8B,0x55DE,{ 0xAB,0x2C,0x1C,0xD4,0x24,0x88,0x6D,0x8F } }; // 046C5FEF-1D8B-55DE-AB2C-1CD424886D8F template <> inline constexpr guid guid_v{ 0x4D98E79A,0xBB08,0x5D09,{ 0x91,0xDE,0xDF,0x0D,0xD3,0xFA,0xE4,0x6C } }; // 4D98E79A-BB08-5D09-91DE-DF0DD3FAE46C template <> inline constexpr guid guid_v{ 0x7F5AC5A5,0x49DB,0x379F,{ 0x94,0x29,0x32,0xA2,0xFA,0xF3,0x4F,0xA6 } }; // 7F5AC5A5-49DB-379F-9429-32A2FAF34FA6 template <> struct default_interface{ using type = winrt::Windows::Perception::People::IEyesPose; }; template <> struct default_interface{ using type = winrt::Windows::Perception::People::IHandMeshObserver; }; template <> struct default_interface{ using type = winrt::Windows::Perception::People::IHandMeshVertexState; }; template <> struct default_interface{ using type = winrt::Windows::Perception::People::IHandPose; }; template <> struct default_interface{ using type = winrt::Windows::Perception::People::IHeadPose; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_IsCalibrationValid(bool*) noexcept = 0; virtual int32_t __stdcall get_Gaze(void**) noexcept = 0; virtual int32_t __stdcall get_UpdateTimestamp(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall IsSupported(bool*) noexcept = 0; virtual int32_t __stdcall RequestAccessAsync(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Source(void**) noexcept = 0; virtual int32_t __stdcall get_TriangleIndexCount(uint32_t*) noexcept = 0; virtual int32_t __stdcall get_VertexCount(uint32_t*) noexcept = 0; virtual int32_t __stdcall GetTriangleIndices(uint32_t, uint16_t*) noexcept = 0; virtual int32_t __stdcall GetVertexStateForPose(void*, void**) noexcept = 0; virtual int32_t __stdcall get_NeutralPose(void**) noexcept = 0; virtual int32_t __stdcall get_NeutralPoseVersion(int32_t*) noexcept = 0; virtual int32_t __stdcall get_ModelId(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_CoordinateSystem(void**) noexcept = 0; virtual int32_t __stdcall GetVertices(uint32_t, struct struct_Windows_Perception_People_HandMeshVertex*) noexcept = 0; virtual int32_t __stdcall get_UpdateTimestamp(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall TryGetJoint(void*, int32_t, struct struct_Windows_Perception_People_JointPose*, bool*) noexcept = 0; virtual int32_t __stdcall TryGetJoints(void*, uint32_t, int32_t*, uint32_t, struct struct_Windows_Perception_People_JointPose*, bool*) noexcept = 0; virtual int32_t __stdcall GetRelativeJoint(int32_t, int32_t, struct struct_Windows_Perception_People_JointPose*) noexcept = 0; virtual int32_t __stdcall GetRelativeJoints(uint32_t, int32_t*, uint32_t, int32_t*, uint32_t, struct struct_Windows_Perception_People_JointPose*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Position(winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall get_ForwardDirection(winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall get_UpDirection(winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; }; }; template struct consume_Windows_Perception_People_IEyesPose { [[nodiscard]] auto IsCalibrationValid() const; [[nodiscard]] auto Gaze() const; [[nodiscard]] auto UpdateTimestamp() const; }; template <> struct consume { template using type = consume_Windows_Perception_People_IEyesPose; }; template struct consume_Windows_Perception_People_IEyesPoseStatics { auto IsSupported() const; auto RequestAccessAsync() const; }; template <> struct consume { template using type = consume_Windows_Perception_People_IEyesPoseStatics; }; template struct consume_Windows_Perception_People_IHandMeshObserver { [[nodiscard]] auto Source() const; [[nodiscard]] auto TriangleIndexCount() const; [[nodiscard]] auto VertexCount() const; auto GetTriangleIndices(array_view indices) const; auto GetVertexStateForPose(winrt::Windows::Perception::People::HandPose const& handPose) const; [[nodiscard]] auto NeutralPose() const; [[nodiscard]] auto NeutralPoseVersion() const; [[nodiscard]] auto ModelId() const; }; template <> struct consume { template using type = consume_Windows_Perception_People_IHandMeshObserver; }; template struct consume_Windows_Perception_People_IHandMeshVertexState { [[nodiscard]] auto CoordinateSystem() const; auto GetVertices(array_view vertices) const; [[nodiscard]] auto UpdateTimestamp() const; }; template <> struct consume { template using type = consume_Windows_Perception_People_IHandMeshVertexState; }; template struct consume_Windows_Perception_People_IHandPose { auto TryGetJoint(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem, winrt::Windows::Perception::People::HandJointKind const& joint, winrt::Windows::Perception::People::JointPose& jointPose) const; auto TryGetJoints(winrt::Windows::Perception::Spatial::SpatialCoordinateSystem const& coordinateSystem, array_view joints, array_view jointPoses) const; auto GetRelativeJoint(winrt::Windows::Perception::People::HandJointKind const& joint, winrt::Windows::Perception::People::HandJointKind const& referenceJoint) const; auto GetRelativeJoints(array_view joints, array_view referenceJoints, array_view jointPoses) const; }; template <> struct consume { template using type = consume_Windows_Perception_People_IHandPose; }; template struct consume_Windows_Perception_People_IHeadPose { [[nodiscard]] auto Position() const; [[nodiscard]] auto ForwardDirection() const; [[nodiscard]] auto UpDirection() const; }; template <> struct consume { template using type = consume_Windows_Perception_People_IHeadPose; }; struct struct_Windows_Perception_People_HandMeshVertex { winrt::Windows::Foundation::Numerics::float3 Position; winrt::Windows::Foundation::Numerics::float3 Normal; }; template <> struct abi { using type = struct_Windows_Perception_People_HandMeshVertex; }; struct struct_Windows_Perception_People_JointPose { winrt::Windows::Foundation::Numerics::quaternion Orientation; winrt::Windows::Foundation::Numerics::float3 Position; float Radius; int32_t Accuracy; }; template <> struct abi { using type = struct_Windows_Perception_People_JointPose; }; } #endif