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 |