/**************************************************************************** * Copyright 2019 Nreal Techonology Limited. All rights reserved. * * This file is part of NRSDK. * * https://www.nreal.ai/ * *****************************************************************************/ namespace NRKernal { using System; using System.Collections.Generic; using UnityEngine; public interface ITrackableDataProvider { /// /// Updates trackable info. /// /// /// /// bool UpdateTrackables(TrackableType trackable_type, List trackables); /// Gets an identify. /// Handle of the trackable. /// The identify. UInt32 GetIdentify(UInt64 trackable_handle); /// Gets trackable type. /// Handle of the trackable. /// The trackable type. TrackableType GetTrackableType(UInt64 trackable_handle); /// Gets tracking state. /// Handle of the trackable. /// The tracking state. TrackingState GetTrackingState(UInt64 trackable_handle); } public interface ITrackableImageDataProvider { /// Creates data base. /// The new data base. UInt64 CreateDataBase(); /// Destroys the data base described by database_handle. /// Handle of the database. /// True if it succeeds, false if it fails. bool DestroyDataBase(UInt64 database_handle); /// Loads data base. /// Handle of the database. /// Full pathname of the file. /// True if it succeeds, false if it fails. bool LoadDataBase(UInt64 database_handle, string path); /// Gets center pose. /// Handle of the trackable. /// The center pose. Pose GetCenterPose(UInt64 trackable_handle); /// Gets a size. /// Handle of the trackable. /// The size. Vector2 GetSize(UInt64 trackable_handle); } public interface ITrackablePlaneDataProvider { /// Gets plane type. /// Handle of the trackable. /// The plane type. TrackablePlaneType GetPlaneType(UInt64 trackable_handle); /// Gets center pose. /// Handle of the trackble. /// The center pose. Pose GetCenterPose(UInt64 trackable_handle); /// Gets extent x coordinate. /// Handle of the trackable. /// The extent x coordinate. float GetExtentX(UInt64 trackable_handle); /// Gets extent z coordinate. /// Handle of the trackable. /// The extent z coordinate. float GetExtentZ(UInt64 trackable_handle); /// /// Gets points of boundary polygon. /// /// /// void GetBoundaryPolygon(UInt64 trackable_handle, List polygonList); } }