Загрузка PICO Unity OpenXR Integration SDK
This commit is contained in:
@ -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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4c86b575368aebb4f8e9f6075741d50b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user