This repository has been archived on 2025-04-28. You can view files and clone it, but cannot push or open issues or pull requests.
ARPlusSystem/ARPlusSystem-250418/Library/PackageCache/com.unity.xr.arcore@4.2.10/Runtime/NativeView.cs

33 lines
892 B
C#

using System;
using System.Runtime.InteropServices;
using Unity.Collections;
using Unity.Collections.LowLevel.Unsafe;
namespace UnityEngine.XR.ARCore
{
/// <summary>
/// Similar to NativeSlice but blittable. Provides a "view"
/// into a contiguous array of memory. Used to interop with C.
/// </summary>
unsafe struct NativeView
{
public void* ptr;
public int count;
}
static class NativeViewExtensions
{
public static unsafe NativeView AsNativeView<T>(this NativeArray<T> array) where T : struct => new NativeView
{
ptr = array.GetUnsafePtr(),
count = array.Length
};
public static unsafe NativeView AsNativeView<T>(this NativeSlice<T> slice) where T : struct => new NativeView
{
ptr = slice.GetUnsafePtr(),
count = slice.Length
};
}
}