Table of Contents

Class MegaTracker

命名空间
easyar

提供云定位功能。 MegaTracker占用1个camera的buffer。

MegaTracker

方法

isAvailable

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

bool easyar_MegaTracker_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
+ (bool)isAvailable
public static func isAvailable() -> Bool
public static bool isAvailable()

返回

类型 描述
Boolean

inputFrameSink

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

void easyar_MegaTracker_inputFrameSink(easyar_MegaTracker * This, easyar_InputFrameSink * * Return)
std::shared_ptr<InputFrameSink> inputFrameSink()
public @Nonnull InputFrameSink inputFrameSink()
fun inputFrameSink(): InputFrameSink
- (easyar_InputFrameSink *)inputFrameSink
public func inputFrameSink() -> InputFrameSink
public virtual InputFrameSink inputFrameSink()

返回

类型 描述
InputFrameSink

accelerometerResultSink

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

void easyar_MegaTracker_accelerometerResultSink(easyar_MegaTracker * This, easyar_AccelerometerResultSink * * Return)
std::shared_ptr<AccelerometerResultSink> accelerometerResultSink()
public @Nonnull AccelerometerResultSink accelerometerResultSink()
fun accelerometerResultSink(): AccelerometerResultSink
- (easyar_AccelerometerResultSink *)accelerometerResultSink
public func accelerometerResultSink() -> AccelerometerResultSink
public virtual AccelerometerResultSink accelerometerResultSink()

返回

类型 描述
AccelerometerResultSink

locationResultSink

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

void easyar_MegaTracker_locationResultSink(easyar_MegaTracker * This, easyar_LocationResultSink * * Return)
std::shared_ptr<LocationResultSink> locationResultSink()
public @Nonnull LocationResultSink locationResultSink()
fun locationResultSink(): LocationResultSink
- (easyar_LocationResultSink *)locationResultSink
public func locationResultSink() -> LocationResultSink
public virtual LocationResultSink locationResultSink()

返回

类型 描述
LocationResultSink

proximityLocationResultSink

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

void easyar_MegaTracker_proximityLocationResultSink(easyar_MegaTracker * This, easyar_ProximityLocationResultSink * * Return)
std::shared_ptr<ProximityLocationResultSink> proximityLocationResultSink()
public @Nonnull ProximityLocationResultSink proximityLocationResultSink()
fun proximityLocationResultSink(): ProximityLocationResultSink
- (easyar_ProximityLocationResultSink *)proximityLocationResultSink
public func proximityLocationResultSink() -> ProximityLocationResultSink
public virtual ProximityLocationResultSink proximityLocationResultSink()

返回

类型 描述
ProximityLocationResultSink

bufferRequirement

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

int easyar_MegaTracker_bufferRequirement(easyar_MegaTracker * This)
int bufferRequirement()
public int bufferRequirement()
fun bufferRequirement(): Int
- (int)bufferRequirement
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()

返回

类型 描述
Int32

outputFrameSource

输出帧输出端口。参考 OutputFrameSource

void easyar_MegaTracker_outputFrameSource(easyar_MegaTracker * This, easyar_OutputFrameSource * * Return)
std::shared_ptr<OutputFrameSource> outputFrameSource()
public @Nonnull OutputFrameSource outputFrameSource()
fun outputFrameSource(): OutputFrameSource
- (easyar_OutputFrameSource *)outputFrameSource
public func outputFrameSource() -> OutputFrameSource
public virtual OutputFrameSource outputFrameSource()

返回

类型 描述
OutputFrameSource

create

创建。

void easyar_MegaTracker_create(easyar_String * server, easyar_String * apiKey, easyar_String * apiSecret, easyar_String * appId, easyar_MegaTracker * * Return)
static std::shared_ptr<MegaTracker> create(std::string server, std::string apiKey, std::string apiSecret, std::string appId)
public static @Nonnull MegaTracker create(java.lang.@Nonnull String server, java.lang.@Nonnull String apiKey, java.lang.@Nonnull String apiSecret, java.lang.@Nonnull String appId)
companion object fun create(server: String, apiKey: String, apiSecret: String, appId: String): MegaTracker
+ (easyar_MegaTracker *)create:(NSString *)server apiKey:(NSString *)apiKey apiSecret:(NSString *)apiSecret appId:(NSString *)appId
public static func create(_ server: String, _ apiKey: String, _ apiSecret: String, _ appId: String) throws -> MegaTracker
public static MegaTracker create(string server, string apiKey, string apiSecret, string appId)

参数

名称 类型 描述
server String
apiKey String
apiSecret String
appId String

返回

类型 描述
MegaTracker

createWithToken

使用API Token创建。

void easyar_MegaTracker_createWithToken(easyar_String * server, easyar_String * apiToken, easyar_String * appId, easyar_MegaTracker * * Return)
static std::shared_ptr<MegaTracker> createWithToken(std::string server, std::string apiToken, std::string appId)
public static @Nonnull MegaTracker createWithToken(java.lang.@Nonnull String server, java.lang.@Nonnull String apiToken, java.lang.@Nonnull String appId)
companion object fun createWithToken(server: String, apiToken: String, appId: String): MegaTracker
+ (easyar_MegaTracker *)createWithToken:(NSString *)server apiToken:(NSString *)apiToken appId:(NSString *)appId
public static func createWithToken(_ server: String, _ apiToken: String, _ appId: String) throws -> MegaTracker
public static MegaTracker createWithToken(string server, string apiToken, string appId)

参数

名称 类型 描述
server String
apiToken String
appId String

返回

类型 描述
MegaTracker

updateToken

更新API Token。

void easyar_MegaTracker_updateToken(easyar_MegaTracker * This, easyar_String * apiToken)
void updateToken(std::string apiToken)
public void updateToken(java.lang.@Nonnull String apiToken)
fun updateToken(apiToken: String): Unit
- (void)updateToken:(NSString *)apiToken
public func updateToken(_ apiToken: String) -> Void
public virtual void updateToken(string apiToken)

参数

名称 类型 描述
apiToken String

返回

类型 描述
Void

setMegaApiType

设置MEGA API类型。默认为Block

void easyar_MegaTracker_setMegaApiType(easyar_MegaTracker * This, easyar_MegaApiType type)
void setMegaApiType(MegaApiType type)
public void setMegaApiType(int type)
fun setMegaApiType(type: Int): Unit
- (void)setMegaApiType:(easyar_MegaApiType)type
public func setMegaApiType(_ type: MegaApiType) -> Void
public virtual void setMegaApiType(MegaApiType type)

参数

名称 类型 描述
type MegaApiType

返回

类型 描述
Void

setSpotVersionId

设置地点版本ID。仅当开启 MegaApiType.Landmark 时可用。

void easyar_MegaTracker_setSpotVersionId(easyar_MegaTracker * This, easyar_OptionalOfString spotVersionId)
void setSpotVersionId(std::optional<std::string> spotVersionId)
public void setSpotVersionId(java.lang.@Nullable String spotVersionId)
fun setSpotVersionId(spotVersionId: String?): Unit
- (void)setSpotVersionId:(NSString *)spotVersionId
public func setSpotVersionId(_ spotVersionId: String?) -> Void
public virtual void setSpotVersionId(Optional<string> spotVersionId)

参数

名称 类型 描述
spotVersionId Optional<>

返回

类型 描述
Void

switchEndPoint

切换远端端点。

void easyar_MegaTracker_switchEndPoint(easyar_MegaTracker * This, easyar_String * server, easyar_String * apiKey, easyar_String * apiSecret, easyar_String * appId)
void switchEndPoint(std::string server, std::string apiKey, std::string apiSecret, std::string appId)
public void switchEndPoint(java.lang.@Nonnull String server, java.lang.@Nonnull String apiKey, java.lang.@Nonnull String apiSecret, java.lang.@Nonnull String appId)
fun switchEndPoint(server: String, apiKey: String, apiSecret: String, appId: String): Unit
- (void)switchEndPoint:(NSString *)server apiKey:(NSString *)apiKey apiSecret:(NSString *)apiSecret appId:(NSString *)appId
public func switchEndPoint(_ server: String, _ apiKey: String, _ apiSecret: String, _ appId: String) -> Void
public virtual void switchEndPoint(string server, string apiKey, string apiSecret, string appId)

参数

名称 类型 描述
server String
apiKey String
apiSecret String
appId String

返回

类型 描述
Void

switchEndPointWithToken

使用API Token切换远端端点。

void easyar_MegaTracker_switchEndPointWithToken(easyar_MegaTracker * This, easyar_String * server, easyar_String * apiToken, easyar_String * appId)
void switchEndPointWithToken(std::string server, std::string apiToken, std::string appId)
public void switchEndPointWithToken(java.lang.@Nonnull String server, java.lang.@Nonnull String apiToken, java.lang.@Nonnull String appId)
fun switchEndPointWithToken(server: String, apiToken: String, appId: String): Unit
- (void)switchEndPointWithToken:(NSString *)server apiToken:(NSString *)apiToken appId:(NSString *)appId
public func switchEndPointWithToken(_ server: String, _ apiToken: String, _ appId: String) -> Void
public virtual void switchEndPointWithToken(string server, string apiToken, string appId)

参数

名称 类型 描述
server String
apiToken String
appId String

返回

类型 描述
Void

bindBlockPrior

绑定到特定的地图block。重置或切换远端端点时会自动解绑。

void easyar_MegaTracker_bindBlockPrior(easyar_MegaTracker * This, easyar_BlockPriorResult * blockPrior)
void bindBlockPrior(std::shared_ptr<BlockPriorResult> blockPrior)
public void bindBlockPrior(@Nonnull BlockPriorResult blockPrior)
fun bindBlockPrior(blockPrior: BlockPriorResult): Unit
- (void)bindBlockPrior:(easyar_BlockPriorResult *)blockPrior
public func bindBlockPrior(_ blockPrior: BlockPriorResult) -> Void
public virtual void bindBlockPrior(BlockPriorResult blockPrior)

参数

名称 类型 描述
blockPrior BlockPriorResult

返回

类型 描述
Void

unbindBlockPrior

解除地图block绑定。

void easyar_MegaTracker_unbindBlockPrior(easyar_MegaTracker * This)
void unbindBlockPrior()
public void unbindBlockPrior()
fun unbindBlockPrior(): Unit
- (void)unbindBlockPrior
public func unbindBlockPrior() -> Void
public virtual void unbindBlockPrior()

返回

类型 描述
Void

setRequestTimeParameters

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

void easyar_MegaTracker_setRequestTimeParameters(easyar_MegaTracker * This, easyar_OptionalOfInt timeoutMilliseconds, int requestIntervalMilliseconds)
void setRequestTimeParameters(std::optional<int> timeoutMilliseconds, int requestIntervalMilliseconds)
public void setRequestTimeParameters(java.lang.@Nullable Integer timeoutMilliseconds, int requestIntervalMilliseconds)
fun setRequestTimeParameters(timeoutMilliseconds: Int?, requestIntervalMilliseconds: Int): Unit
- (void)setRequestTimeParameters:(NSNumber *)timeoutMilliseconds requestIntervalMilliseconds:(int)requestIntervalMilliseconds
public func setRequestTimeParameters(_ timeoutMilliseconds: Int32?, _ requestIntervalMilliseconds: Int32) -> Void
public virtual void setRequestTimeParameters(Optional<int> timeoutMilliseconds, int requestIntervalMilliseconds)

参数

名称 类型 描述
timeoutMilliseconds Optional<>
requestIntervalMilliseconds Int32

返回

类型 描述
Void

setEnableLocalization

设置是否启用定位。不启用定位时,服务器返回的定位结果不会输出。默认为true。

void easyar_MegaTracker_setEnableLocalization(easyar_MegaTracker * This, bool enableLocalization)
void setEnableLocalization(bool enableLocalization)
public void setEnableLocalization(boolean enableLocalization)
fun setEnableLocalization(enableLocalization: Boolean): Unit
- (void)setEnableLocalization:(bool)enableLocalization
public func setEnableLocalization(_ enableLocalization: Bool) -> Void
public virtual void setEnableLocalization(bool enableLocalization)

参数

名称 类型 描述
enableLocalization Boolean

返回

类型 描述
Void

setEnableStatelessLocalization

设置是否启用无状态定位。启用无状态定位时,定位时不会使用上一次定位结果。默认为false。

void easyar_MegaTracker_setEnableStatelessLocalization(easyar_MegaTracker * This, bool enableStatelessLocalization)
void setEnableStatelessLocalization(bool enableStatelessLocalization)
public void setEnableStatelessLocalization(boolean enableStatelessLocalization)
fun setEnableStatelessLocalization(enableStatelessLocalization: Boolean): Unit
- (void)setEnableStatelessLocalization:(bool)enableStatelessLocalization
public func setEnableStatelessLocalization(_ enableStatelessLocalization: Bool) -> Void
public virtual void setEnableStatelessLocalization(bool enableStatelessLocalization)

参数

名称 类型 描述
enableStatelessLocalization Boolean

返回

类型 描述
Void

setResultAsyncMode

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

bool easyar_MegaTracker_setResultAsyncMode(easyar_MegaTracker * This, bool enableAsync)
bool setResultAsyncMode(bool enableAsync)
public boolean setResultAsyncMode(boolean enableAsync)
fun setResultAsyncMode(enableAsync: Boolean): Boolean
- (bool)setResultAsyncMode:(bool)enableAsync
public func setResultAsyncMode(_ enableAsync: Bool) -> Bool
public virtual bool setResultAsyncMode(bool enableAsync)

参数

名称 类型 描述
enableAsync Boolean

返回

类型 描述
Boolean

setRequestMessage

void easyar_MegaTracker_setRequestMessage(easyar_MegaTracker * This, easyar_String * message)
void setRequestMessage(std::string message)
public void setRequestMessage(java.lang.@Nonnull String message)
fun setRequestMessage(message: String): Unit
- (void)setRequestMessage:(NSString *)message
public func setRequestMessage(_ message: String) -> Void
public virtual void setRequestMessage(string message)

参数

名称 类型 描述
message String

返回

类型 描述
Void

setLocalizationCallback

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

void easyar_MegaTracker_setLocalizationCallback(easyar_MegaTracker * This, easyar_CallbackScheduler * callbackScheduler, easyar_OptionalOfFunctorOfVoidFromMegaTrackerLocalizationResponse callback)
void setLocalizationCallback(std::shared_ptr<CallbackScheduler> callbackScheduler, std::optional<std::function<void(std::shared_ptr<MegaTrackerLocalizationResponse>)>> callback)
public void setLocalizationCallback(@Nonnull CallbackScheduler callbackScheduler, @Nullable FunctorOfVoidFromMegaTrackerLocalizationResponse callback)
fun setLocalizationCallback(callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaTrackerLocalizationResponse?): Unit
- (void)setLocalizationCallback:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaTrackerLocalizationResponse * response))callback
public func setLocalizationCallback(_ callbackScheduler: CallbackScheduler, _ callback: ((MegaTrackerLocalizationResponse) -> Void)?) -> Void
public virtual void setLocalizationCallback(CallbackScheduler callbackScheduler, Optional<Action<MegaTrackerLocalizationResponse>> callback)

参数

名称 类型 描述
callbackScheduler CallbackScheduler
callback Optional<Action<MegaTrackerLocalizationResponse>>

返回

类型 描述
Void

setCameraPositionOverride

设置相机位置相对于地图block的覆盖值。设置之后,MegaTracker会输出覆盖值,而不使用输入帧数据中的对应坐标。可用于在已知地图信息且传感器有限的情况下提高输出位姿的精度。

void easyar_MegaTracker_setCameraPositionOverride(easyar_MegaTracker * This, easyar_OptionalOfFloat x, easyar_OptionalOfFloat y, easyar_OptionalOfFloat z)
void setCameraPositionOverride(std::optional<float> x, std::optional<float> y, std::optional<float> z)
public void setCameraPositionOverride(java.lang.@Nullable Float x, java.lang.@Nullable Float y, java.lang.@Nullable Float z)
fun setCameraPositionOverride(x: Float?, y: Float?, z: Float?): Unit
- (void)setCameraPositionOverride:(NSNumber *)x y:(NSNumber *)y z:(NSNumber *)z
public func setCameraPositionOverride(_ x: Float?, _ y: Float?, _ z: Float?) -> Void
public virtual void setCameraPositionOverride(Optional<float> x, Optional<float> y, Optional<float> z)

参数

名称 类型 描述
x Optional<Single>
y Optional<Single>
z Optional<Single>

返回

类型 描述
Void

start

开始MegaTracker。

bool easyar_MegaTracker_start(easyar_MegaTracker * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()

返回

类型 描述
Boolean

stop

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

void easyar_MegaTracker_stop(easyar_MegaTracker * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()

返回

类型 描述
Void

reset

重置MegaTracker,清除所有状态。

void easyar_MegaTracker_reset(easyar_MegaTracker * This)
void reset()
public void reset()
fun reset(): Unit
- (void)reset
public func reset() -> Void
public virtual void reset()

返回

类型 描述
Void

close

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

void easyar_MegaTracker_close(easyar_MegaTracker * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()

返回

类型 描述
Void

getSyncResult

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

void easyar_MegaTracker_getSyncResult(easyar_MegaTracker * This, easyar_MotionInputData * motionInputData, easyar_OptionalOfMegaTrackerResult * Return)
std::optional<std::shared_ptr<MegaTrackerResult>> getSyncResult(std::shared_ptr<MotionInputData> motionInputData)
public @Nullable MegaTrackerResult getSyncResult(@Nonnull MotionInputData motionInputData)
fun getSyncResult(motionInputData: MotionInputData): MegaTrackerResult?
- (easyar_MegaTrackerResult *)getSyncResult:(easyar_MotionInputData *)motionInputData
public func getSyncResult(_ motionInputData: MotionInputData) -> MegaTrackerResult?
public virtual Optional<MegaTrackerResult> getSyncResult(MotionInputData motionInputData)

参数

名称 类型 描述
motionInputData MotionInputData

返回

类型 描述
Optional<MegaTrackerResult>