Пример #1
0
        public static RecordingStatus GetRecordingStatus(IntPtr sessionHandle)
        {
            ApiRecordingStatus apiStatus = ApiRecordingStatus.None;

            ExternApi.ArSession_getRecordingStatus(sessionHandle, ref apiStatus);
            return(Translators.ToRecordingStatus(apiStatus));
        }
Пример #2
0
        public static FeatureModuleStatus CheckModuleAvailability(
            IntPtr sessionHandle, FeatureModule module)
        {
            ApiFeatureModule       apiModule = Translators.ToApiFeatureModule(module);
            ApiFeatureModuleStatus apiStatus = ApiFeatureModuleStatus.UnknownError;

            ExternApi.ArSession_checkModuleAvailability(
                sessionHandle, apiModule, ref apiStatus);
            return(Translators.ToFeatureModuleStatus(apiStatus));
        }
Пример #3
0
        public static IntPtr Create(IntPtr sessionHandle, Pose pose)
        {
            ApiPose apiPose    = Translators.ToApiPose(pose);
            IntPtr  poseHandle = IntPtr.Zero;

            ExternApi.ArPose_create(
                sessionHandle,
                ref apiPose,
                ref poseHandle);
            return(poseHandle);
        }
Пример #4
0
        public static ApiPose ExtractPoseValue(
            IntPtr sessionHandle,
            IntPtr poseHandle)
        {
            ApiPose apiPose = Translators.ToApiPose(Pose.identity);

            ExternApi.ArPose_getPoseRaw(
                sessionHandle,
                poseHandle,
                ref apiPose);
            return(apiPose);
        }
Пример #5
0
        public static void RequestModuleInstallDeferred(
            IntPtr sessionHandle, List <FeatureModule> modules)
        {
            int    numModules    = modules.Count;
            IntPtr modulesHandle = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(int)) * numModules);

            int[] tempModules = new int[numModules];
            for (int i = 0; i < numModules; ++i)
            {
                tempModules[i] = (int)Translators.ToApiFeatureModule(modules[i]);
            }

            Marshal.Copy(tempModules, 0, modulesHandle, numModules);

            ExternApi.ArSession_requestModuleInstallDeferred(
                sessionHandle, numModules, modulesHandle);

            Marshal.FreeHGlobal(modulesHandle);
        }