ObjectTarget Class¶
Inherits: Target
Description¶
ObjectTarget表示3D object target,它可以被 ObjectTracker 所跟踪。
ObjectTarget的大小由 obj 文件决定。可以通过修改 scale 达到修改size的目的。 scale 默认为1。
ObjectTarget通过 ObjectTracker.loadTarget 成功载入 ObjectTracker 之后可以被 ObjectTracker 检测和跟踪。
Constructor¶
- C
- void easyar_ObjectTarget__ctor(easyar_ObjectTarget * * Return) 
- C++
- ObjectTarget() 
- Java
- public ObjectTarget() 
- Kotlin
- constructor() 
- Objective-C
- + (easyar_ObjectTarget *) create 
- Swift
- public convenience init() 
- C#
- public ObjectTarget() 
createFromParameters¶
从参数创建。
- C
- void easyar_ObjectTarget_createFromParameters(easyar_ObjectTargetParameters * parameters, easyar_OptionalOfObjectTarget * Return) 
- C++
- static std::optional<std::shared_ptr<ObjectTarget>> createFromParameters(std::shared_ptr<ObjectTargetParameters> parameters) 
- Java
- public static @Nullable ObjectTarget createFromParameters(@Nonnull ObjectTargetParameters parameters) 
- Kotlin
- companion object fun createFromParameters(parameters: ObjectTargetParameters): ObjectTarget? 
- Objective-C
- + (easyar_ObjectTarget *)createFromParameters:(easyar_ObjectTargetParameters *)parameters 
- Swift
- public static func createFromParameters(_ parameters: ObjectTargetParameters) -> ObjectTarget? 
- C#
- public static Optional<ObjectTarget> createFromParameters(ObjectTargetParameters parameters) 
createFromObjectFile¶
从obj, mtl和jpg/png文件创建。
- C
- void easyar_ObjectTarget_createFromObjectFile(easyar_String * path, easyar_StorageType storageType, easyar_String * name, easyar_String * uid, easyar_String * meta, float scale, easyar_OptionalOfObjectTarget * Return) 
- C++
- static std::optional<std::shared_ptr<ObjectTarget>> createFromObjectFile(std::string path, StorageType storageType, std::string name, std::string uid, std::string meta, float scale) 
- Java
- 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) 
- Kotlin
- companion object fun createFromObjectFile(path: String, storageType: Int, name: String, uid: String, meta: String, scale: Float): ObjectTarget? 
- Objective-C
- + (easyar_ObjectTarget *)createFromObjectFile:(NSString *)path storageType:(easyar_StorageType)storageType name:(NSString *)name uid:(NSString *)uid meta:(NSString *)meta scale:(float)scale 
- Swift
- public static func createFromObjectFile(_ path: String, _ storageType: StorageType, _ name: String, _ uid: String, _ meta: String, _ scale: Float) -> ObjectTarget? 
- C#
- public static Optional<ObjectTarget> createFromObjectFile(string path, StorageType storageType, string name, string uid, string meta, float scale) 
scale¶
模型的缩放比例。其值为模型在空间中的物理大小与在模型坐标系中的大小的比值,默认值为1。(假设模型坐标系中的标尺单位为米)
- C
- float easyar_ObjectTarget_scale(const easyar_ObjectTarget * This) 
- C++
- float scale() 
- Java
- public float scale() 
- Kotlin
- fun scale(): Float 
- Objective-C
- - (float)scale 
- Swift
- public func scale() -> Float 
- C#
- public virtual float scale() 
boundingBox¶
物体的包围盒,包括盒子的8个顶点。
顶点索引定义如下:
  4-----7
 /|    /|
5-----6 |    z
| |   | |    |
| 0---|-3    o---y
|/    |/    /
1-----2    x
- C
- void easyar_ObjectTarget_boundingBox(easyar_ObjectTarget * This, easyar_ListOfVec3F * * Return) 
- C++
- std::vector<Vec3F> boundingBox() 
- Java
- public java.util.@Nonnull ArrayList<@Nonnull Vec3F> boundingBox() 
- Kotlin
- fun boundingBox(): ArrayList<Vec3F> 
- Objective-C
- - (NSArray<easyar_Vec3F *> *)boundingBox 
- Swift
- public func boundingBox() -> [Vec3F] 
- C#
- public virtual List<Vec3F> boundingBox() 
setScale¶
设置模型的缩放比例。设置之后会覆盖默认值以及在json文件中设的数值。其值为模型在空间中的物理大小与在模型坐标系中的大小的比值,默认值为1。(假设模型坐标系中的标尺单位为米)
还需要在渲染引擎中单独设置此模型缩放。
注意该设置需要在通过 ObjectTracker.loadTarget 载入 ObjectTracker 之前进行。
- C
- bool easyar_ObjectTarget_setScale(easyar_ObjectTarget * This, float scale) 
- C++
- bool setScale(float scale) 
- Java
- public boolean setScale(float scale) 
- Kotlin
- fun setScale(scale: Float): Boolean 
- Objective-C
- - (bool)setScale:(float)scale 
- Swift
- public func setScale(_ scale: Float) -> Bool 
- C#
- public virtual bool setScale(float scale) 
runtimeID¶
获取target id。target id是运行时创建的整型数据,只有在成功的配置之后才是有效(非0)的。这个id是非0且全局递增的。
- C
- int easyar_ObjectTarget_runtimeID(const easyar_ObjectTarget * This) 
- C++
- int runtimeID() 
- Java
- public int runtimeID() 
- Kotlin
- fun runtimeID(): Int 
- Objective-C
- - (int)runtimeID 
- Swift
- public override func runtimeID() -> Int32 
- C#
- public override int runtimeID() 
uid¶
获取target uid。ImageTarget的uid在云识别算法中使用。在没有接入云识别的时候,你可以在json配置中设置这个uid,在自己的代码中作为另一种区分target的方法。
- C
- void easyar_ObjectTarget_uid(const easyar_ObjectTarget * This, easyar_String * * Return) 
- C++
- std::string uid() 
- Java
- public java.lang.@Nonnull String uid() 
- Kotlin
- fun uid(): String 
- Objective-C
- - (NSString *)uid 
- Swift
- public override func uid() -> String 
- C#
- public override string uid() 
name¶
获取target名字。名字用来在json文件中区分target。
- C
- void easyar_ObjectTarget_name(const easyar_ObjectTarget * This, easyar_String * * Return) 
- C++
- std::string name() 
- Java
- public java.lang.@Nonnull String name() 
- Kotlin
- fun name(): String 
- Objective-C
- - (NSString *)name 
- Swift
- public override func name() -> String 
- C#
- public override string name() 
setName¶
设置target名字。这个操作会覆盖上一次的设置或是服务器返回的数据。
- C
- void easyar_ObjectTarget_setName(easyar_ObjectTarget * This, easyar_String * name) 
- C++
- void setName(std::string name) 
- Java
- public void setName(java.lang.@Nonnull String name) 
- Kotlin
- fun setName(name: String): Unit 
- Objective-C
- - (void)setName:(NSString *)name 
- Swift
- public override func setName(_ name: String) -> Void 
- C#
- public override void setName(string name) 
meta¶
获取setMetaData所设置的meta data。或者在云识别返回的target中,获得服务器所设置的meta data。
- C
- void easyar_ObjectTarget_meta(const easyar_ObjectTarget * This, easyar_String * * Return) 
- C++
- std::string meta() 
- Java
- public java.lang.@Nonnull String meta() 
- Kotlin
- fun meta(): String 
- Objective-C
- - (NSString *)meta 
- Swift
- public override func meta() -> String 
- C#
- public override string meta() 
setMeta¶
设置meta data。这个操作会覆盖上一次的设置或是服务器返回的数据。
- C
- void easyar_ObjectTarget_setMeta(easyar_ObjectTarget * This, easyar_String * data) 
- C++
- void setMeta(std::string data) 
- Java
- public void setMeta(java.lang.@Nonnull String data) 
- Kotlin
- fun setMeta(data: String): Unit 
- Objective-C
- - (void)setMeta:(NSString *)data 
- Swift
- public override func setMeta(_ data: String) -> Void 
- C#
- public override void setMeta(string data)