ARScene Class

Inherits: Target

Description

EasyAR 的SLAM功能在 Android 和 iOS 设备上做了专门优化。不推荐在 Windows 和 Mac 上运行SLAM,算法效果将完全不同。Windows 和 Mac 上的SLAM只用于开发中简化内容创建。

ARScene表示SLAM target,它可以被 ARSceneTracker 所跟踪。

ARScene不需要从json中加载,使用 ARSceneTracker 时, FrameStreamer.peek 返回的 Frame 会自动包含ARScene类型的target。

Constructor

C: void easyar_ARScene__ctor(easyar_ARScene * * Return)
C++11: ARScene()
Traditional C++: ARScene()
Java: public ARScene()
Objective-C: + (easyar_ARScene *) create
Swift (since EasyAR SDK 2.1.0): public convenience init()

runtimeID

返回target id。target id是运行时创建的整型数据,只有在成功的配置之后才是有效(非0)的。这个id是非0且全局递增的。

C: int easyar_ARScene_runtimeID(const easyar_ARScene * This)
C++11: int runtimeID()
Traditional C++: int runtimeID()
Java: public native int runtimeID()
Objective-C: - (int)runtimeID
Swift (since EasyAR SDK 2.1.0): public override func runtimeID() -> Int32

uid

返回target uid。target uid在云识别算法中使用。在没有接入云识别的时候,你可以在json配置中设置这个uid,在自己的代码中作为另一种区分target的方法。

C: void easyar_ARScene_uid(const easyar_ARScene * This, easyar_String * * Return)
C++11: std::string uid()
Traditional C++: void uid(String * * Return)
Java: public native java.lang.String uid()
Objective-C: - (NSString *)uid
Swift (since EasyAR SDK 2.1.0): public override func uid() -> String

name

返回target名字。名字用来在json文件中区分target。更多描述参见setup。

C: void easyar_ARScene_name(const easyar_ARScene * This, easyar_String * * Return)
C++11: std::string name()
Traditional C++: void name(String * * Return)
Java: public native java.lang.String name()
Objective-C: - (NSString *)name
Swift (since EasyAR SDK 2.1.0): public override func name() -> String

meta

返回setMetaData所设置的meta data。或者在云识别返回的target里面,返回云端服务器所设置的meta data。

C: void easyar_ARScene_meta(const easyar_ARScene * This, easyar_String * * Return)
C++11: std::string meta()
Traditional C++: void meta(String * * Return)
Java: public native java.lang.String meta()
Objective-C: - (NSString *)meta
Swift (since EasyAR SDK 2.1.0): public override func meta() -> String

setMeta

设置meta data。这个操作会覆盖上一次的设置或是云端返回的数据。

C: void easyar_ARScene_setMeta(easyar_ARScene * This, easyar_String * data)
C++11: void setMeta(std::string data)
Traditional C++: void setMeta(String * data)
Java: public native void setMeta(java.lang.String data)
Objective-C: - (void)setMeta:(NSString *)data
Swift (since EasyAR SDK 2.1.0): public override func setMeta(_ data: String) -> Void