Skip to content
Snippets Groups Projects
WorldAnalysisREST.cs 3.01 KiB
Newer Older
using UnityEngine;
using ETSI.ARF.OpenAPI.WorldAnalysis;
using static WorldAnalysisInterface;

//Implementation of the WorldAnalysis interface
public class WorldAnalysisREST : MonoBehaviour, WorldAnalysisInterface
{

    #region Unity_Methods

    /// <summary>
    /// Unity Awake Method
    /// </summary>
    protected void Awake()
    {
    }

    /// <summary>
    /// Unity Start Method
    /// </summary>
    protected void Start()
    {
    }

    /// <summary>
    /// Unity Update Method
    /// </summary>
    protected void Update()
    {
    }

    #endregion


    #region ARF_API

    public  AskFrameRateResult SetPoseEstimationFramerate(string token, PoseConfigurationTrackableType type, EncodingInformationStructure encodingInformation, int minimumFramerate)
    {
        return AskFrameRateResult.NOT_SUPPORTED; ///We cannot set any framerate for tracking on ARKit and ARCore
    }

    public PoseEstimationResult GetLastPose(string token, string uuid, Mode_WorldAnalysis mode, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose pose)
    {
        pose = null;
        return PoseEstimationResult.OK;
    }


    public PoseEstimationResult[] GetLastPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose[] poses)
    {
        poses = null;
        return null;
    }

    public InformationSubscriptionResult SubscribeToPose(string token, string uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out string subscriptionUUID)
    {
        subscriptionUUID = "";
        return InformationSubscriptionResult.OK;
    }

    public InformationSubscriptionResult[] SubscribeToPoses(string token, string[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out string[] subscriptionUUIDs)
    {
        subscriptionUUIDs = null;
        return null;
    }

    public InformationSubscriptionResult GetSubsription(string token, string subscriptionUUID, out PoseCallback callback, out string target, out Mode_WorldAnalysis mode, out int validity)
    {
        callback = null;
        target = "";
        mode = Mode_WorldAnalysis.TRACKABLES_TO_DEVICE;
        validity = 0;
        return InformationSubscriptionResult.OK;
    }

    public InformationSubscriptionResult UpdateSubscription(string token, string subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback)
    {
        return InformationSubscriptionResult.OK;
    }

    public InformationSubscriptionResult UnSubscribeToPose(string subscriptionUUID)
    {
        return InformationSubscriptionResult.OK;
    }

    public CapabilityResult GetCapabilities(string token, out Capability[] capabilities)
    {
        capabilities = null;
        return CapabilityResult.OK;
    }

    public CapabilityResult GetCapability(string token, string uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability)
    {
        isSupported = false;
        type = TypeWorldStorage.UNKNOWN;
        capability = null;
        return CapabilityResult.OK;
    }

    #endregion
}