Table of Contents

Class ObjectTarget

Namespace
easyar

ObjectTarget represents a 3D object target, which can be tracked by ObjectTracker. The size of ObjectTarget is determined by the obj file. You can modify the size by changing scale, which defaults to 1. After ObjectTarget is successfully loaded into ObjectTracker through loadTarget, it can be detected and tracked by ObjectTracker.

Inheritance
ObjectTarget

Constructors

ObjectTarget

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

Methods

createFromParameters

Create from parameters.

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

parameters ObjectTargetParameters

Returns

Optional<ObjectTarget>

createFromObjectFile

Create from obj, mtl, and jpg/png files.

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)

Parameters

path String
storageType StorageType
name String
uid String
meta String
scale Single

Returns

Optional<ObjectTarget>

scale

The scale of the model. Its value is the ratio of the physical size of the model in space to the size in the model coordinate system, with a default value of 1. (Assuming the scale unit in the model coordinate system is meters)

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()

Returns

Single

boundingBox

The bounding box of the object, including 8 vertices of the box. The vertex indices are defined as follows:

  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()

Returns

List<Vec3F>

setScale

Set the scale of the model. After setting, it will overwrite the default value and the value set in the json file. Its value is the ratio of the physical size of the model in space to the size in the model coordinate system, with a default value of 1. (Assuming the scale unit in the model coordinate system is meters) This model scale also needs to be set separately in the rendering engine. Note that this setting needs to be done before loading into ObjectTracker through loadTarget.

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)

Parameters

scale Single

Returns

Boolean

runtimeID

Get the target id. The target id is an integer data created at runtime and is valid (non-zero) only after successful configuration. This id is non-zero and globally increasing.

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()

Returns

Int32

uid

Get the target uid. The uid of ImageTarget is used in the cloud recognition algorithm. When not accessing cloud recognition, you can set this uid in the json configuration and use it as another way to distinguish targets in your own code.

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()

Returns

String

name

Get the target name. The name is used to distinguish targets in the json file.

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()

Returns

String

setName

Set the target name. This operation will overwrite the previous setting or the data returned by the server.

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)

Parameters

name String

Returns

Void

meta

Get the meta data set by setMetaData. Or, in the target returned by cloud recognition, obtain the meta data set by the server.

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()

Returns

String

setMeta

Set meta data. This operation will overwrite the previous setting or the data returned by the server.

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)

Parameters

data String

Returns

Void