psmove_tracker_free() приватный Метод

private psmove_tracker_free ( IntPtr psmove_tracker ) : void
psmove_tracker IntPtr
Результат void
Пример #1
0
    private static void WorkerContextTeardown(WorkerContext context)
    {
        UnityEngine.Debug.Log("Tearing down PSMove Tracking Context");

        // Delete the controllers
        for (int psmove_id = 0; psmove_id < context.PSMoves.Length; psmove_id++)
        {
            if (context.PSMoves[psmove_id] != IntPtr.Zero)
            {
                UnityEngine.Debug.Log(string.Format("Disconnecting PSMove controller {0}", psmove_id));
                context.WorkerControllerDataArray[psmove_id].IsConnected = false;
                context.WorkerControllerDataArray[psmove_id].IsEnabled   = false;
                PSMoveAPI.psmove_disconnect(context.PSMoves[psmove_id]);
                context.PSMoves[psmove_id] = IntPtr.Zero;
            }
        }

        // Delete the tracking fusion state
        if (context.PSMoveFusion != IntPtr.Zero)
        {
            UnityEngine.Debug.Log("PSMove fusion disposed");
            PSMoveAPI.psmove_fusion_free(context.PSMoveFusion);
            context.PSMoveFusion = IntPtr.Zero;
        }

        // Delete the tracker state
        if (context.PSMoveTracker != IntPtr.Zero)
        {
            UnityEngine.Debug.Log("PSMove tracker disposed");
            PSMoveAPI.psmove_tracker_free(context.PSMoveTracker);
            context.PSMoveTracker = IntPtr.Zero;
        }

        context.Reset();
    }
Пример #2
0
        private static void WorkerContextTeardownTracking(WorkerContext context)
        {
            // Disable tracking on all active controllers
            for (int psmove_id = 0; psmove_id < context.PSMoves.Length; psmove_id++)
            {
                if (context.PSMoves[psmove_id] != IntPtr.Zero &&
                    context.WorkerControllerDataArray[psmove_id].IsTrackingEnabled)
                {
                    Debug.WriteLine("Disabling tracking on PSMove controller {0}", psmove_id);
                    context.WorkerControllerDataArray[psmove_id].IsTrackingEnabled = false;
                }
            }

            // Delete the tracking fusion state
            if (context.PSMoveFusion != IntPtr.Zero)
            {
                Debug.WriteLine("PSMove fusion disposed");
                PSMoveAPI.psmove_fusion_free(context.PSMoveFusion);
                context.PSMoveFusion = IntPtr.Zero;
            }

            // Delete the tracker state
            if (context.PSMoveTracker != IntPtr.Zero)
            {
                Debug.WriteLine("PSMove tracker disposed");
                PSMoveAPI.psmove_tracker_free(context.PSMoveTracker);
                context.PSMoveTracker = IntPtr.Zero;
            }
        }
Пример #3
0
    private static void WorkerContextTeardownTracking(WorkerContext context)
    {
        // Disable tracking on all active controllers
        for (int psmove_id = 0; psmove_id < context.PSMoves.Length; psmove_id++)
        {
            if (context.PSMoves[psmove_id] != IntPtr.Zero &&
                context.WorkerControllerDataArray[psmove_id].IsTrackingEnabled)
            {
                UnityEngine.Debug.Log(string.Format("Disabling tracking on PSMove controller {0}", psmove_id));
                context.WorkerControllerDataArray[psmove_id].IsTrackingEnabled = false;
            }
        }

        for (int tracker_index = 0; tracker_index < WorkerContext.MAX_TRACKER_COUNT; ++tracker_index)
        {
            // Delete the tracking fusion state
            if (context.PSMoveFusions[tracker_index] != IntPtr.Zero)
            {
                UnityEngine.Debug.Log("PSMove fusion disposed");
                PSMoveAPI.psmove_fusion_free(context.PSMoveFusions[tracker_index]);
                context.PSMoveFusions[tracker_index] = IntPtr.Zero;
            }

            // Delete the tracker state
            if (context.PSMoveTrackers[tracker_index] != IntPtr.Zero)
            {
                UnityEngine.Debug.Log("PSMove tracker disposed");
                PSMoveAPI.psmove_tracker_free(context.PSMoveTrackers[tracker_index]);
                context.PSMoveTrackers[tracker_index] = IntPtr.Zero;
            }
        }
        context.TrackerCount = 0;

        // Delete the position filter
        if (context.PSMovePositionFilter != IntPtr.Zero)
        {
            PSMoveAPI.psmove_position_filter_free(context.PSMovePositionFilter);
            context.PSMovePositionFilter = IntPtr.Zero;
        }
    }