Загрузка PICO Unity OpenXR Integration SDK

This commit is contained in:
2024-12-21 10:28:02 +03:00
parent b2ecc77b2a
commit a2c2504d48
628 changed files with 68895 additions and 2 deletions

View File

@ -0,0 +1,105 @@
using System;
using System.Runtime.InteropServices;
namespace Unity.XR.PICO.TOBSupport
{
// pico slam results
[StructLayout(LayoutKind.Sequential)]
public struct SixDof
{
public Int64 timestamp; // nanoseconds
public double x; // position X
public double y; // position Y
public double z; // position Z
public double rw; // rotation W
public double rx; // rotation X
public double ry; // rotation Y
public double rz; // rotation Z
public byte type; //1:6DOF 0:3DOF
public byte confidence; //1:good 0:bad
public PoseErrorType error;
public double plane_height;
public byte plane_status;
public byte relocation_status;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)]
public byte[] reserved;
}
[StructLayout(LayoutKind.Sequential)]
public struct AlgoResult
{
public SixDof pose;
public SixDof relocation_pose;
public double vx, vy, vz; // linear velocity
public double ax, ay, az; // linear acceleration
public double wx, wy, wz; // angular velocity
public double w_ax, w_ay, w_az; // angular acceleration
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 48)]
public byte[] reserved;
}
[StructLayout(LayoutKind.Sequential)]
public struct FrameItem
{
public byte camera_id;
public UInt32 width; // width
public UInt32 height; // height
public UInt32 format; // format - rgb24
public UInt32 exposure_duration; // exposure duration:ns
public UInt64 timestamp; // start of exposure time:ns (BOOTTIME)
public UInt64 qtimer_timestamp; // nanoseconds in qtimer
public UInt64 framenumber; // frame number
public UInt32 datasize; // datasize
public IntPtr data; // image data.
}
[StructLayout(LayoutKind.Sequential)]
public struct FrameItemExt
{
public FrameItem frame;
public bool is_rgb;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public double[] rgb_tsw_matrix;
public bool is_anti_distortion;
public AlgoResult six_dof_pose;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public byte[] reserved;
}
[StructLayout(LayoutKind.Sequential)]
public struct Frame
{
public UInt32 width; // width
public UInt32 height; // height
public UInt64 timestamp; // start of exposure time:ns (BOOTTIME)
public UInt32 datasize; // datasize
public IntPtr data; // image data
public UnityEngine.Pose pose; // The head Pose at the time of image production.Right-handed coordinate system: X right, Y up, Z in
public int status; // sensor status(1:good 0:bad)
}
[StructLayout(LayoutKind.Sequential)]
public struct SensorState
{
public UnityEngine.Pose pose; // Predict the head Pose at the screen up time.Right-handed coordinate system: X right, Y up, Z in
public int status; // sensor status(1:good 0:bad)
}
[StructLayout(LayoutKind.Sequential)]
public struct RGBCameraParams
{
// Intrinsics
public double fx;
public double fy;
public double cx;
public double cy;
// Extrinsics
public double x;
public double y;
public double z;
public double rw;
public double rx;
public double ry;
public double rz;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4c86b575368aebb4f8e9f6075741d50b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: