zed-ar-headfree-passthrough/Assets/ZED/SDK/Helpers/Scripts/Utilities/LayerHandler.cs

153 lines
3.5 KiB
C#
Raw Normal View History

2019-11-26 14:03:54 +00:00
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class LayerHandler
{
public static bool[] layer_pack_used = new bool[4];
private LayerHandler()
{
for (int k = 0; k < 4; k++)
layer_pack_used [k] = false;
}
private static LayerHandler _instance = null;
public static LayerHandler GetInstance()
{
if (_instance == null)
{
_instance = new LayerHandler();
}
return _instance;
}
public enum LAYER_MODE
{
LAYER_MODE_LEFT_SCREEN,
LAYER_MODE_RIGHT_SCREEN,
LAYER_MODE_LEFT_FINALSCREEN,
LAYER_MODE_RIGHT_FINALSCREEN
};
public enum LAYER_PACK_LAYER_NUMBER
{
LAYER_PACK_CAM1_LS = 27,
LAYER_PACK_CAM1_RS = 28,
LAYER_PACK_CAM1_LFS = 29,
LAYER_PACK_CAM1_RFS = 30,
LAYER_PACK_CAM2_LS = 23,
LAYER_PACK_CAM2_RS = 24,
LAYER_PACK_CAM2_LFS = 25,
LAYER_PACK_CAM2_RFS = 26,
LAYER_PACK_CAM3_LS = 19,
LAYER_PACK_CAM3_RS = 20,
LAYER_PACK_CAM3_LFS = 21,
LAYER_PACK_CAM3_RFS = 22,
LAYER_PACK_CAM4_LS = 15,
LAYER_PACK_CAM4_RS = 16,
LAYER_PACK_CAM4_LFS = 17,
LAYER_PACK_CAM4_RFS = 18
};
public void setUsed(sl.ZED_CAMERA_ID lp, bool used)
{
layer_pack_used [(int)lp] = used;
}
public bool getUsed(sl.ZED_CAMERA_ID lp)
{
return layer_pack_used [(int)lp];
}
public int getLayerNumber(sl.ZED_CAMERA_ID lp, LAYER_MODE mode)
{
switch (lp) {
case sl.ZED_CAMERA_ID.CAMERA_ID_01:
{
switch (mode) {
case LAYER_MODE.LAYER_MODE_LEFT_SCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM1_LS;
case LAYER_MODE.LAYER_MODE_RIGHT_SCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM1_RS;
case LAYER_MODE.LAYER_MODE_LEFT_FINALSCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM1_LFS;
case LAYER_MODE.LAYER_MODE_RIGHT_FINALSCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM1_RFS;
default :
return -1;
}
}
break;
case sl.ZED_CAMERA_ID.CAMERA_ID_02:
{
switch (mode) {
case LAYER_MODE.LAYER_MODE_LEFT_SCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM2_LS;
case LAYER_MODE.LAYER_MODE_RIGHT_SCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM2_RS;
case LAYER_MODE.LAYER_MODE_LEFT_FINALSCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM2_LFS;
case LAYER_MODE.LAYER_MODE_RIGHT_FINALSCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM2_RFS;
default :
return -1;
}
}
break;
case sl.ZED_CAMERA_ID.CAMERA_ID_03:
{
switch (mode) {
case LAYER_MODE.LAYER_MODE_LEFT_SCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM3_LS;
case LAYER_MODE.LAYER_MODE_RIGHT_SCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM3_RS;
case LAYER_MODE.LAYER_MODE_LEFT_FINALSCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM3_LFS;
case LAYER_MODE.LAYER_MODE_RIGHT_FINALSCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM3_RFS;
default :
return -1;
}
}
break;
case sl.ZED_CAMERA_ID.CAMERA_ID_04:
{
switch (mode) {
case LAYER_MODE.LAYER_MODE_LEFT_SCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM4_LS;
case LAYER_MODE.LAYER_MODE_RIGHT_SCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM4_RS;
case LAYER_MODE.LAYER_MODE_LEFT_FINALSCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM4_LFS;
case LAYER_MODE.LAYER_MODE_RIGHT_FINALSCREEN:
return (int)LAYER_PACK_LAYER_NUMBER.LAYER_PACK_CAM4_RFS;
default :
return -1;
}
}
break;
default :
return -1;
}
}
}