MegaTracker Class

这个类型是C#语言的 EasyAR Sense API: MegaTracker 。页面中部分描述可能与Unity环境无关。

这个类型已经完全封装进Unity组件: MegaBlockTrackerFrameFilter 。不需要直接使用这个类型。

Description

提供云定位功能。

MegaTracker占用1个camera的buffer。


Methods

isAvailable

C#

public static bool isAvailable()

检查MegaTracker是否可用。总是返回true。

inputFrameSink

C#

public virtual InputFrameSink inputFrameSink()

输入帧输入端口。MegaTracker输入帧必须包含camera参数、时间戳信息和空间信息(cameraTransform和trackingStatus)。参考 InputFrameSink

accelerometerResultSink

C#

public virtual AccelerometerResultSink accelerometerResultSink()

加速度计结果输入端口。参考 AccelerometerResultSink

locationResultSink

C#

public virtual LocationResultSink locationResultSink()

可选。位置结果输入端口。参考 LocationResultSink

proximityLocationResultSink

C#

public virtual ProximityLocationResultSink proximityLocationResultSink()

可选。邻近位置结果输入端口。参考 ProximityLocationResultSink

bufferRequirement

C#

public virtual int bufferRequirement()

当前组件占用camera buffer的数量。

outputFrameSource

C#

public virtual OutputFrameSource outputFrameSource()

输出帧输出端口。参考 OutputFrameSource

create

C#

public static MegaTracker create(string server, string apiKey, string apiSecret, string appId)

创建。

switchEndPoint

C#

public virtual void switchEndPoint(string server, string apiKey, string apiSecret, string appId)

切换远端端点。

setRequestTimeParameters

C#

public virtual void setRequestTimeParameters(Optional<int> timeoutMilliseconds, int requestIntervalMilliseconds)

设置请求时间参数。timeoutMilliseconds为连接超时时间。requestIntervalMilliseconds为期望的请求间隔时间,默认为1000,最小为300,值越大整体误差越大。

setResultPoseType

C#

public virtual void setResultPoseType(bool enableLocalization, bool enableStabilization)

设置结果姿态类型。默认enableLocalization和enableStabilization均为true。

setResultAsyncMode

C#

public virtual bool setResultAsyncMode(bool enableAsync)

设置结果异步模式。如果结果通过outputFrameSource输出,则应设置位true,如果结果通过getSyncResult获取,则应设置为false。默认enableAsync为true。同步模式仅使用XR License时可生效。

setLocalizationCallback

C#

public virtual void setLocalizationCallback( CallbackScheduler callbackScheduler, Optional<Action< MegaTrackerLocalizationResponse >> callback)

设置定位回调。每次定位时,会触发此回调。

start

C#

public virtual bool start()

开始MegaTracker。

stop

C#

public virtual void stop()

停止MegaTracker。调用start重新运行。

reset

C#

public virtual void reset()

重置MegaTracker,清除所有状态。

close

C#

public virtual void close()

关闭MegaTracker。close之后不应继续使用。

getSyncResult

C#

public virtual Optional< MegaTrackerResult > getSyncResult(double timestamp, Matrix44F cameraTransform, MotionTrackingStatus trackingStatus)

获得同步输出结果。如果MegaTracker已暂停,或者未通过setResultAsyncMode将结果异步模式设为false,则返回值为空。