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

203 lines
7.1 KiB
C#

//======= Copyright (c) Stereolabs Corporation, All rights reserved. ===============
/// <summary>
/// Holds the ERROR enum returned by various high- and mid-level camera functions, and the Error2Str() method for
/// converting the errors to human-readible versions for displaying for the user.
/// </summary>
public class ZEDLogMessage
{
/// <summary>
/// Current version of the required SDK plugin as a string. Used to display errors
/// relating to a missing or mismatched SDK version.
/// </summary>
static private string zed_sdk_version
{
get
{
int major = sl.ZEDCamera.PluginVersion.Major;
int minor = sl.ZEDCamera.PluginVersion.Minor;
return "v" + major + "." + minor;
}
}
/// <summary>
/// Error categories returned by various camera functions, most often in GUIMessage.
/// See ZEDCommon.ERROR_CODE for errors straignt from the SDK.
/// </summary>
public enum ERROR
{
/// <summary>
/// The screen resolution is not 16:9.
/// </summary>
SCREEN_RESOLUTION,
/// <summary>
/// The ZED tracking could not be initialized.
/// </summary>
TRACKING_NOT_INITIALIZED,
/// <summary>
/// The camera failed to initialize.
/// </summary>
CAMERA_NOT_INITIALIZED,
/// <summary>
/// The camera has not been initialized yet.
/// </summary>
CAMERA_LOADING,
/// <summary>
/// SDK module are loading (tracking, object detection...)
/// </summary>
SDK_MODULE_LOADING,
/// <summary>
/// Could not open the camera.
/// </summary>
UNABLE_TO_OPEN_CAMERA,
/// <summary>
/// Camera detection issue.
/// </summary>
CAMERA_DETECTION_ISSUE,
/// <summary>
/// Motion sensor not detected (ZED Mini only).
/// </summary>
SENSOR_NOT_DETECTED,
/// <summary>
/// Low USB bandwidth.
/// </summary>
LOW_USB_BANDWIDTH,
/// <summary>
/// SteamVR plugin Camera Rig prefab not found.
/// </summary>
VR_CAMERA_RIG_NOT_FOUND,
/// <summary>
/// SteamVR plugin Camera Rig controller not found.
/// </summary>
VR_CAMERA_RIG_CONTROLLER_NOT_FOUND,
/// <summary>
/// A calibration file has been found but no controller/Tracker exists of the file's listed serial number.
/// </summary>
PAD_CAMERA_CALIBRATION_MISMATCH,
/// <summary>
/// The serial number of the calibration tool does not match any of the current controllers.
/// </summary>
PAD_CAMERA_CALIBRATION_NOT_FOUND,
/// <summary>
/// At least one VR controller must be detected.
/// </summary>
NOT_ENOUGH_PAD_DETECTED,
/// <summary>
/// SteamVR Unity plugin hasn't been imported.
/// </summary>
STEAMVR_NOT_INSTALLED,
/// <summary>
/// Oculus Integration Unity plugin hasn't been imported.
/// </summary>
OVR_NOT_INSTALLED,
/// <summary>
/// The ZED has been disconnected. (It was connected previously)
/// </summary>
ZED_IS_DISCONNECETD,
/// <summary>
/// The ZED SDK is not installed or a dependency is missing.
/// </summary>
SDK_NOT_INSTALLED,
/// <summary>
/// The ZED SDK is installed but it's not the version the Unity plugin requires.
/// </summary>
INCORRECT_ZED_SDK_VERSION,
/// <summary>
/// The SDK has a missing dependency.
/// </summary>
SDK_DEPENDENCIES_ISSUE,
/// <summary>
/// Scanned mesh is too small to create a Nav Mesh.
/// </summary>
NAVMESH_NOT_GENERATED,
/// <summary>
/// The tracking system could not load the spatial memory area file.
/// </summary>
TRACKING_BASE_AREA_NOT_FOUND,
}
/// <summary>
/// Converts an ERROR enum to a string for displaying to the user. Called by various editor windows.
/// </summary>
/// <param name="error">Error type to be converted to a string.</param>
/// <returns></returns>
static public string Error2Str(ERROR error)
{
switch (error)
{
case ERROR.SCREEN_RESOLUTION:
return "Warning: Screen size should be set to 16:9 aspect ratio";
case ERROR.TRACKING_NOT_INITIALIZED:
return "Error: Unable to initialize Tracking module";
case ERROR.CAMERA_NOT_INITIALIZED:
return "Unable to open camera";
case ERROR.UNABLE_TO_OPEN_CAMERA:
return "Camera not detected";
case ERROR.CAMERA_DETECTION_ISSUE:
return "Unable to open camera";
case ERROR.SENSOR_NOT_DETECTED:
return "Camera motion sensor not detected";
case ERROR.LOW_USB_BANDWIDTH :
return "Low USB bandwidth";
case ERROR.CAMERA_LOADING:
return "Loading camera...";
case ERROR.SDK_MODULE_LOADING:
return " Loading modules...";
case ERROR.VR_CAMERA_RIG_NOT_FOUND:
return "Warning: No SteamVR [Camera Rig] object found. Make sure you attach the CameraRig SteamVR Prefab in the project to be able to use a VR controller.\n " +
"Otherwise, make sure the tracking is activated in the ZED Manager interface";
case ERROR.VR_CAMERA_RIG_CONTROLLER_NOT_FOUND:
return "Warning: At least one controller is recommended for the external camera";
case ERROR.PAD_CAMERA_CALIBRATION_MISMATCH:
return "Warning: VR Controller and ZED Camera must be calibrated before use with Stereolabs' GreenScreen Calibration tool). " +
"\n The controller/Tracker in the calibration file is not present.";
case ERROR.PAD_CAMERA_CALIBRATION_NOT_FOUND:
return "Warning: VR Controller and ZED Camera must be calibrated before use with Stereolabs' GreenScreen Calibration tool). " +
"\n No calibration file has been detected.";
case ERROR.NOT_ENOUGH_PAD_DETECTED:
return "Warning: At least one controller must be detected. Number of devices detected: ";
case ERROR.STEAMVR_NOT_INSTALLED:
return "Warning: SteamVR is not installed.";
case ERROR.OVR_NOT_INSTALLED:
return "Warning: OVR Plugin is not installed.";
case ERROR.ZED_IS_DISCONNECETD:
return "Camera disconnected";
case ERROR.SDK_NOT_INSTALLED:
return "ZED SDK not installed";
case ERROR.SDK_DEPENDENCIES_ISSUE:
return "The ZED plugin cannot be loaded. \n Please check that you have ZED SDK "+ zed_sdk_version +" installed" +
"\n\n If the problem persists, please contact our support team at support@stereolabs.com\n";
case ERROR.NAVMESH_NOT_GENERATED:
return "The NavMesh cannot be generated. Please change the settings of the Navigation Agent, or scan a wider zone.";
case ERROR.TRACKING_BASE_AREA_NOT_FOUND:
return "The tracking could not load the spatial memory area file.";
default:
return "Unknown error";
}
}
}