using UnityEngine;
using ETSI.ARF.OpenAPI.WorldAnalysis;
using static WorldAnalysisInterface;
using System;
//Implementation of the WorldAnalysis interface
public class WorldAnalysisREST : MonoBehaviour, WorldAnalysisInterface
{
#region Unity_Methods
///
/// Unity Awake Method
///
protected void Awake()
{
}
///
/// Unity Start Method
///
protected void Start()
{
}
///
/// Unity Update Method
///
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, Guid uuid, Mode_WorldAnalysis mode, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose pose)
{
pose = null;
return PoseEstimationResult.OK;
}
public PoseEstimationResult[] GetLastPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, out ETSI.ARF.OpenAPI.WorldAnalysis.Pose[] poses)
{
poses = null;
return null;
}
public InformationSubscriptionResult SubscribeToPose(string token, Guid uuid, Mode_WorldAnalysis mode, PoseCallback callback, ref int validity, out Guid subscriptionUUID)
{
subscriptionUUID = Guid.Empty;
return InformationSubscriptionResult.OK;
}
public InformationSubscriptionResult[] SubscribeToPoses(string token, Guid[] uuids, Mode_WorldAnalysis [] modes, PoseCallback callback, ref int validity, out Guid[] subscriptionUUIDs)
{
subscriptionUUIDs = null;
return null;
}
public InformationSubscriptionResult GetSubsription(string token, Guid subscriptionUUID, out PoseCallback callback, out Guid target, out Mode_WorldAnalysis mode, out int validity)
{
callback = null;
target = Guid.Empty;
mode = Mode_WorldAnalysis.TRACKABLES_TO_DEVICE;
validity = 0;
return InformationSubscriptionResult.OK;
}
public InformationSubscriptionResult UpdateSubscription(string token, Guid subscriptionUUID, Mode_WorldAnalysis mode, int validity, PoseCallback callback)
{
return InformationSubscriptionResult.OK;
}
public InformationSubscriptionResult UnSubscribeToPose(Guid subscriptionUUID)
{
return InformationSubscriptionResult.OK;
}
public CapabilityResult GetCapabilities(string token, out Capability[] capabilities)
{
capabilities = null;
return CapabilityResult.OK;
}
public CapabilityResult GetCapability(string token, Guid uuid, out bool isSupported, out TypeWorldStorage type, out Capability [] capability)
{
isSupported = false;
type = TypeWorldStorage.UNKNOWN;
capability = null;
return CapabilityResult.OK;
}
#endregion
}