프로젝트

일반

사용자정보

통계
| 개정판:

t1 / TFDContents / Assets / Standard Assets / KinectVisualGestureBuilderSpecialCases.cs @ 9

이력 | 보기 | 이력해설 | 다운로드 (3.67 KB)

1 3 KTH
#if !(UNITY_WSA_10_0 && NETFX_CORE)
2
using RootSystem = System;
3
using System;
4
using System.Collections.Generic;
5
using System.Runtime.InteropServices;
6
7
namespace Microsoft.Kinect.VisualGestureBuilder
8
{
9
    public sealed partial class VisualGestureBuilderDatabase
10
    {
11
        [RootSystem.Runtime.InteropServices.DllImport(
12
            "KinectVisualGestureBuilderUnityAddin",
13
            EntryPoint = "Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderDatabase_ctor",
14
            CallingConvention = RootSystem.Runtime.InteropServices.CallingConvention.Cdecl)]
15
        private static extern RootSystem.IntPtr Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderDatabase_ctor([MarshalAs(UnmanagedType.LPWStr)]string path);
16
        public static VisualGestureBuilderDatabase Create(string path)
17
        {
18
            RootSystem.IntPtr objectPointer = Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderDatabase_ctor(path);
19
            Helper.ExceptionHelper.CheckLastError();
20
            if (objectPointer == RootSystem.IntPtr.Zero)
21
            {
22
                return null;
23
            }
24
25
            return Helper.NativeObjectCache.CreateOrGetObject<Microsoft.Kinect.VisualGestureBuilder.VisualGestureBuilderDatabase>(
26
                objectPointer, n => new Microsoft.Kinect.VisualGestureBuilder.VisualGestureBuilderDatabase(n));
27
        }
28
    }
29
30
    public sealed partial class VisualGestureBuilderFrameSource
31
    {
32
        [RootSystem.Runtime.InteropServices.DllImport(
33
            "KinectVisualGestureBuilderUnityAddin",
34
            EntryPoint = "Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderFrameSource_ctor",
35
            CallingConvention = RootSystem.Runtime.InteropServices.CallingConvention.Cdecl)]
36
        private static extern RootSystem.IntPtr Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderFrameSource_ctor(RootSystem.IntPtr sensorPtr, ulong initialTrackingId);
37
        public static VisualGestureBuilderFrameSource Create(Windows.Kinect.KinectSensor sensor, ulong initialTrackingId)
38
        {
39
            RootSystem.IntPtr objectPointer = Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderFrameSource_ctor(Helper.NativeWrapper.GetNativePtr(sensor), initialTrackingId);
40
            Helper.ExceptionHelper.CheckLastError();
41
            if (objectPointer == RootSystem.IntPtr.Zero)
42
            {
43
                return null;
44
            }
45
46
            return Helper.NativeObjectCache.CreateOrGetObject<Microsoft.Kinect.VisualGestureBuilder.VisualGestureBuilderFrameSource>(
47
                objectPointer, n => new Microsoft.Kinect.VisualGestureBuilder.VisualGestureBuilderFrameSource(n));
48
        }
49
50
        [RootSystem.Runtime.InteropServices.DllImport(
51
            "KinectVisualGestureBuilderUnityAddin",
52
            EntryPoint = "Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderFrameSource_GetIsEnabled",
53
            CallingConvention = RootSystem.Runtime.InteropServices.CallingConvention.Cdecl)]
54
        private static extern bool Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderFrameSource_GetIsEnabled(RootSystem.IntPtr pNative, RootSystem.IntPtr gesturePtr);
55
        public bool GetIsEnabled(Microsoft.Kinect.VisualGestureBuilder.Gesture gesture)
56
        {
57
            if (_pNative == RootSystem.IntPtr.Zero)
58
            {
59
                throw new RootSystem.ObjectDisposedException("VisualGestureBuilderFrameSource");
60
            }
61
62
            var result = Microsoft_Kinect_VisualGestureBuilder_VisualGestureBuilderFrameSource_GetIsEnabled(_pNative, Helper.NativeWrapper.GetNativePtr(gesture));
63
            Helper.ExceptionHelper.CheckLastError();
64
            return result;
65
        }
66
    }
67
}
68
#endif