Target Class

Header: #include "easyar/target.hpp"

Inherits: RefBase

Inherited By: ImageTarget

Description

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

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

Public Functions

Target()
virtual ~Target()
virtual bool load(const char* path, int storageType, const char* name = 0)
int id() const
const char* uid() const
const char* name() const
const char* metaData() const
bool setMetaData(const char* data)
ImageList images()

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的识别图数据。