// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.Foundation.Numerics.idl"; import "Windows.Perception.idl"; import "Windows.Perception.Spatial.idl"; import "Windows.UI.Input.idl"; import "Windows.UI.Input.Spatial.idl"; // Forward Declare namespace Windows { namespace Foundation { namespace Numerics { typedef struct Quaternion Quaternion; typedef struct Vector3 Vector3; } } } namespace Windows { namespace Foundation { apicontract UniversalApiContract; } } namespace Windows { namespace Perception { runtimeclass PerceptionTimestamp; } } namespace Windows { namespace Perception { namespace Spatial { runtimeclass SpatialCoordinateSystem; typedef struct SpatialRay SpatialRay; } } } namespace Windows { namespace UI { namespace Input { typedef enum GazeInputAccessStatus GazeInputAccessStatus; } } } namespace Windows { namespace UI { namespace Input { namespace Spatial { runtimeclass SpatialInteractionSource; } } } } namespace Windows { namespace Perception { namespace People { typedef enum HandJointKind HandJointKind; typedef enum JointPoseAccuracy JointPoseAccuracy; typedef struct HandMeshVertex HandMeshVertex; typedef struct JointPose JointPose; interface IEyesPose; interface IEyesPoseStatics; interface IHandMeshObserver; interface IHandMeshVertexState; interface IHandPose; interface IHeadPose; runtimeclass EyesPose; runtimeclass HandMeshObserver; runtimeclass HandMeshVertexState; runtimeclass HandPose; runtimeclass HeadPose; } } } // Generic instantiations namespace Windows { namespace Perception { namespace People { declare { interface Windows.Foundation.IAsyncOperation; } } } } // Type definition namespace Windows { namespace Perception { namespace People { [contract(Windows.Foundation.UniversalApiContract, 8.0)] enum HandJointKind { 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 }; [contract(Windows.Foundation.UniversalApiContract, 8.0)] enum JointPoseAccuracy { High = 0, Approximate = 1 }; [contract(Windows.Foundation.UniversalApiContract, 8.0)] struct HandMeshVertex { Windows.Foundation.Numerics.Vector3 Position; Windows.Foundation.Numerics.Vector3 Normal; }; [contract(Windows.Foundation.UniversalApiContract, 8.0)] struct JointPose { Windows.Foundation.Numerics.Quaternion Orientation; Windows.Foundation.Numerics.Vector3 Position; FLOAT Radius; Windows.Perception.People.JointPoseAccuracy Accuracy; }; [contract(Windows.Foundation.UniversalApiContract, 8.0)] [exclusiveto(Windows.Perception.People.EyesPose)] [uuid(682A9B23-8A1E-5B86-A060-906FFACB62A4)] interface IEyesPose : IInspectable { [propget] HRESULT IsCalibrationValid([out] [retval] boolean* value); [propget] HRESULT Gaze([out] [retval] Windows.Foundation.IReference** value); [propget] HRESULT UpdateTimestamp([out] [retval] Windows.Perception.PerceptionTimestamp** value); } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [exclusiveto(Windows.Perception.People.EyesPose)] [uuid(1CFF7413-B21F-54C0-80C1-E60D994CA58C)] interface IEyesPoseStatics : IInspectable { HRESULT IsSupported([out] [retval] boolean* result); HRESULT RequestAccessAsync([out] [retval] Windows.Foundation.IAsyncOperation** operation); } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [exclusiveto(Windows.Perception.People.HandMeshObserver)] [uuid(85AE30CB-6FC3-55C4-A7B4-29E33896CA69)] interface IHandMeshObserver : IInspectable { [propget] HRESULT Source([out] [retval] Windows.UI.Input.Spatial.SpatialInteractionSource** value); [propget] HRESULT TriangleIndexCount([out] [retval] UINT32* value); [propget] HRESULT VertexCount([out] [retval] UINT32* value); HRESULT GetTriangleIndices([in] UINT32 __indicesSize, [out] [size_is(__indicesSize)] UINT16* indices); HRESULT GetVertexStateForPose([in] Windows.Perception.People.HandPose* handPose, [out] [retval] Windows.Perception.People.HandMeshVertexState** result); [propget] HRESULT NeutralPose([out] [retval] Windows.Perception.People.HandPose** value); [propget] HRESULT NeutralPoseVersion([out] [retval] INT32* value); [propget] HRESULT ModelId([out] [retval] INT32* value); } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [exclusiveto(Windows.Perception.People.HandMeshVertexState)] [uuid(046C5FEF-1D8B-55DE-AB2C-1CD424886D8F)] interface IHandMeshVertexState : IInspectable { [propget] HRESULT CoordinateSystem([out] [retval] Windows.Perception.Spatial.SpatialCoordinateSystem** value); HRESULT GetVertices([in] UINT32 __verticesSize, [out] [size_is(__verticesSize)] Windows.Perception.People.HandMeshVertex* vertices); [propget] HRESULT UpdateTimestamp([out] [retval] Windows.Perception.PerceptionTimestamp** value); } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [exclusiveto(Windows.Perception.People.HandPose)] [uuid(4D98E79A-BB08-5D09-91DE-DF0DD3FAE46C)] interface IHandPose : IInspectable { HRESULT TryGetJoint([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [in] Windows.Perception.People.HandJointKind joint, [out] Windows.Perception.People.JointPose* jointPose, [out] [retval] boolean* result); HRESULT TryGetJoints([in] Windows.Perception.Spatial.SpatialCoordinateSystem* coordinateSystem, [in] UINT32 __jointsSize, [in] [size_is(__jointsSize)] Windows.Perception.People.HandJointKind* joints, [in] UINT32 __jointPosesSize, [out] [size_is(__jointPosesSize)] Windows.Perception.People.JointPose* jointPoses, [out] [retval] boolean* result); HRESULT GetRelativeJoint([in] Windows.Perception.People.HandJointKind joint, [in] Windows.Perception.People.HandJointKind referenceJoint, [out] [retval] Windows.Perception.People.JointPose* result); HRESULT GetRelativeJoints([in] UINT32 __jointsSize, [in] [size_is(__jointsSize)] Windows.Perception.People.HandJointKind* joints, [in] UINT32 __referenceJointsSize, [in] [size_is(__referenceJointsSize)] Windows.Perception.People.HandJointKind* referenceJoints, [in] UINT32 __jointPosesSize, [out] [size_is(__jointPosesSize)] Windows.Perception.People.JointPose* jointPoses); } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [exclusiveto(Windows.Perception.People.HeadPose)] [uuid(7F5AC5A5-49DB-379F-9429-32A2FAF34FA6)] interface IHeadPose : IInspectable { [propget] HRESULT Position([out] [retval] Windows.Foundation.Numerics.Vector3* value); [propget] HRESULT ForwardDirection([out] [retval] Windows.Foundation.Numerics.Vector3* value); [propget] HRESULT UpDirection([out] [retval] Windows.Foundation.Numerics.Vector3* value); } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [marshaling_behavior(agile)] [static(Windows.Perception.People.IEyesPoseStatics, Windows.Foundation.UniversalApiContract, 8.0)] [threading(both)] runtimeclass EyesPose { [default] interface Windows.Perception.People.IEyesPose; } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [marshaling_behavior(agile)] runtimeclass HandMeshObserver { [default] interface Windows.Perception.People.IHandMeshObserver; } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [marshaling_behavior(agile)] runtimeclass HandMeshVertexState { [default] interface Windows.Perception.People.IHandMeshVertexState; } [contract(Windows.Foundation.UniversalApiContract, 8.0)] [marshaling_behavior(agile)] runtimeclass HandPose { [default] interface Windows.Perception.People.IHandPose; } [contract(Windows.Foundation.UniversalApiContract, 2.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass HeadPose { [default] interface Windows.Perception.People.IHeadPose; } } } }