Target Class
Header:#include "easyar/target.hpp"
Inherits:RefBase
Inherited By:ImageTarget

Description

Target是EasyAR里面所有可以被ImageTracker或其它算法跟踪的目标的基类。

target的所有属性要在加载之后才会有效。

Public Functions

Target()
virtual~Target()
virtual boolload(const char* path, int storageType, const char* name = 0)
intid() const
const char*uid() const
const char*name() const
const char*metaData() const
boolsetMetaData(const char* data)
ImageListimages()

Target()

创建Target实例。

virtual ~Target()

销毁Target实例。

virtual bool load(const char* path, int storageType, const char* name = 0)

加载一个json文件或json字符串。这个方法的实现是空的,你需要使用其派生类的方法。

如果name非空则加载名字为name的target,否则加载第一个target。

如果path是json文件的路径,storageType应该设成kStorageAppkStorageAssetskStorageAbsolute,表示路径的类型。json文件内部的路径应该是绝对路径或相对于json文件的相对路径。

如果path是json字符串, storageType应该设成(kStorageApp | kStorageJson)(kStorageAssets | kStorageJson)( kStorageAbsolute | kStorageJson)。json字符串里的路径应该是绝对路径或相对于storageType所指向的根目录的相对路径。

关于StorageType的详细描述参见StorageType

int id() const

返回target id。target id是运行时创建的整形数据,只有在成功的加载之后才是有效(非0)的。

const char* uid() const

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

const char* name() const

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

const char* metaData() const

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

bool setMetaData(const char* data)

设置meta data。data将会按字符串的形式被复制。这个操作会覆盖上一次的设置或是云端返回的数据。

ImageList images()

返回target中存储的图像列表。通常这个方法用来获取云端返回的target的识别