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
parametersObjectTargetParameters
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
pathStringstorageTypeStorageTypenameStringuidStringmetaStringscaleSingle
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
scaleSingle
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
nameString
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
dataString
Returns
- Void