Table of Contents

Class ObjectTarget

命名空間
easyar

ObjectTarget表示3D object target,它可以被 ObjectTracker 所跟踪。 ObjectTarget的大小由 obj 文件決定。可以通過修改 scale 達到修改size的目的。 scale 預設為1。 ObjectTarget通過 loadTarget 成功載入 ObjectTracker 之後可以被 ObjectTracker 檢測和跟蹤。

繼承
ObjectTarget

建構函式

ObjectTarget

void easyar_ObjectTarget__ctor(easyar_ObjectTarget * * Return)
ObjectTarget()
public ObjectTarget()
constructor()
+ (easyar_ObjectTarget *) create
public convenience init()
public ObjectTarget()

方法

createFromParameters

從參數創建。

void easyar_ObjectTarget_createFromParameters(easyar_ObjectTargetParameters * parameters, easyar_OptionalOfObjectTarget * Return)
static std::optional<std::shared_ptr<ObjectTarget>> createFromParameters(std::shared_ptr<ObjectTargetParameters> parameters)
public static @Nullable ObjectTarget createFromParameters(@Nonnull ObjectTargetParameters parameters)
companion object fun createFromParameters(parameters: ObjectTargetParameters): ObjectTarget?
+ (easyar_ObjectTarget *)createFromParameters:(easyar_ObjectTargetParameters *)parameters
public static func createFromParameters(_ parameters: ObjectTargetParameters) -> ObjectTarget?
public static Optional<ObjectTarget> createFromParameters(ObjectTargetParameters parameters)

參數

名稱 類型 描述
parameters ObjectTargetParameters

傳回值

類型 描述
Optional<ObjectTarget>

createFromObjectFile

從obj, mtl和jpg/png文件創建。

void easyar_ObjectTarget_createFromObjectFile(easyar_String * path, easyar_StorageType storageType, easyar_String * name, easyar_String * uid, easyar_String * meta, float scale, easyar_OptionalOfObjectTarget * Return)
static std::optional<std::shared_ptr<ObjectTarget>> createFromObjectFile(std::string path, StorageType storageType, std::string name, std::string uid, std::string meta, float scale)
public static @Nullable ObjectTarget createFromObjectFile(java.lang.@Nonnull String path, int storageType, java.lang.@Nonnull String name, java.lang.@Nonnull String uid, java.lang.@Nonnull String meta, float scale)
companion object fun createFromObjectFile(path: String, storageType: Int, name: String, uid: String, meta: String, scale: Float): ObjectTarget?
+ (easyar_ObjectTarget *)createFromObjectFile:(NSString *)path storageType:(easyar_StorageType)storageType name:(NSString *)name uid:(NSString *)uid meta:(NSString *)meta scale:(float)scale
public static func createFromObjectFile(_ path: String, _ storageType: StorageType, _ name: String, _ uid: String, _ meta: String, _ scale: Float) -> ObjectTarget?
public static Optional<ObjectTarget> createFromObjectFile(string path, StorageType storageType, string name, string uid, string meta, float scale)

參數

名稱 類型 描述
path String
storageType StorageType
name String
uid String
meta String
scale Single

傳回值

類型 描述
Optional<ObjectTarget>

scale

模型的縮放比例。其值為模型在空間中的物理大小與在模型座標系中的大小的比值,預設值為1。(假設模型座標系中的標尺單位為米)

float easyar_ObjectTarget_scale(const easyar_ObjectTarget * This)
float scale()
public float scale()
fun scale(): Float
- (float)scale
public func scale() -> Float
public virtual float scale()

傳回值

類型 描述
Single

boundingBox

物體的包圍盒,包括盒子的8個頂點。 頂點索引定義如下:

  4-----7
 /|    /|
5-----6 |    z
| |   | |    |
| 0---|-3    o---y
|/    |/    /
1-----2    x
void easyar_ObjectTarget_boundingBox(easyar_ObjectTarget * This, easyar_ListOfVec3F * * Return)
std::vector<Vec3F> boundingBox()
public java.util.@Nonnull ArrayList<@Nonnull Vec3F> boundingBox()
fun boundingBox(): ArrayList<Vec3F>
- (NSArray<easyar_Vec3F *> *)boundingBox
public func boundingBox() -> [Vec3F]
public virtual List<Vec3F> boundingBox()

傳回值

類型 描述
List<Vec3F>

setScale

設置模型的縮放比例。設置之後會覆蓋預設值以及在json文件中設的數值。其值為模型在空間中的物理大小與在模型座標系中的大小的比值,預設值為1。(假設模型座標系中的標尺單位為米) 還需要在渲染引擎中單獨設置此模型縮放。 注意該設置需要在通過 loadTarget 載入 ObjectTracker 之前進行。

bool easyar_ObjectTarget_setScale(easyar_ObjectTarget * This, float scale)
bool setScale(float scale)
public boolean setScale(float scale)
fun setScale(scale: Float): Boolean
- (bool)setScale:(float)scale
public func setScale(_ scale: Float) -> Bool
public virtual bool setScale(float scale)

參數

名稱 類型 描述
scale Single

傳回值

類型 描述
Boolean

runtimeID

獲取target id。target id是運行時創建的整型數據,只有在成功的配置之後才是有效(非0)的。這個id是非0且全域遞增的。

int easyar_ObjectTarget_runtimeID(const easyar_ObjectTarget * This)
int runtimeID()
public int runtimeID()
fun runtimeID(): Int
- (int)runtimeID
public override func runtimeID() -> Int32
public override int runtimeID()

傳回值

類型 描述
Int32

uid

獲取target uid。ImageTarget的uid在雲識別演算法中使用。在沒有接入雲識別的時候,你可以在json配置中設置這個uid,在自己的代碼中作為另一種區分target的方法。

void easyar_ObjectTarget_uid(const easyar_ObjectTarget * This, easyar_String * * Return)
std::string uid()
public java.lang.@Nonnull String uid()
fun uid(): String
- (NSString *)uid
public override func uid() -> String
public override string uid()

傳回值

類型 描述
String

name

獲取target名字。名字用來在json文件中區分target。

void easyar_ObjectTarget_name(const easyar_ObjectTarget * This, easyar_String * * Return)
std::string name()
public java.lang.@Nonnull String name()
fun name(): String
- (NSString *)name
public override func name() -> String
public override string name()

傳回值

類型 描述
String

setName

設置target名字。這個操作會覆蓋上一次的設置或是伺服器返回的數據。

void easyar_ObjectTarget_setName(easyar_ObjectTarget * This, easyar_String * name)
void setName(std::string name)
public void setName(java.lang.@Nonnull String name)
fun setName(name: String): Unit
- (void)setName:(NSString *)name
public override func setName(_ name: String) -> Void
public override void setName(string name)

參數

名稱 類型 描述
name String

傳回值

類型 描述
Void

meta

獲取setMetaData所設置的meta data。或者在雲識別返回的target中,獲得伺服器所設置的meta data。

void easyar_ObjectTarget_meta(const easyar_ObjectTarget * This, easyar_String * * Return)
std::string meta()
public java.lang.@Nonnull String meta()
fun meta(): String
- (NSString *)meta
public override func meta() -> String
public override string meta()

傳回值

類型 描述
String

setMeta

設置meta data。這個操作會覆蓋上一次的設置或是伺服器返回的數據。

void easyar_ObjectTarget_setMeta(easyar_ObjectTarget * This, easyar_String * data)
void setMeta(std::string data)
public void setMeta(java.lang.@Nonnull String data)
fun setMeta(data: String): Unit
- (void)setMeta:(NSString *)data
public override func setMeta(_ data: String) -> Void
public override void setMeta(string data)

參數

名稱 類型 描述
data String

傳回值

類型 描述
Void