Table of Contents

Class MegaGoTracker

Espacio de nombres
easyar

Proporciona la función de localización en el dispositivo. MegaGoTracker ocupa 2 búferes de cámara.

MegaGoTracker

Métodos

isAvailable

Verificar si el componente está disponible. En Android, se requiere API Level 24 o superior; en todas las plataformas se deben cumplir las dependencias de tiempo de ejecución necesarias.

bool easyar_MegaGoTracker_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
+ (bool)isAvailable
public static func isAvailable() -> Bool
public static bool isAvailable()

Devuelve

Tipo Descripción
Boolean

inputFrameSink

Puerto de entrada para los fotogramas de entrada. Los fotogramas de entrada deben contener imágenes, parámetros de la cámara y marcas de tiempo. La información espacial 6DoF debe contener cameraTransform y trackingStatus. Consulte InputFrameSink.

void easyar_MegaGoTracker_inputFrameSink(easyar_MegaGoTracker * This, easyar_InputFrameSink * * Return)
std::shared_ptr<InputFrameSink> inputFrameSink()
public @Nonnull InputFrameSink inputFrameSink()
fun inputFrameSink(): InputFrameSink
- (easyar_InputFrameSink *)inputFrameSink
public func inputFrameSink() -> InputFrameSink
public virtual InputFrameSink inputFrameSink()

Devuelve

Tipo Descripción
InputFrameSink

accelerometerResultSink

Puerto de entrada de resultados del acelerómetro. Consultar AccelerometerResultSink.

void easyar_MegaGoTracker_accelerometerResultSink(easyar_MegaGoTracker * This, easyar_AccelerometerResultSink * * Return)
std::shared_ptr<AccelerometerResultSink> accelerometerResultSink()
public @Nonnull AccelerometerResultSink accelerometerResultSink()
fun accelerometerResultSink(): AccelerometerResultSink
- (easyar_AccelerometerResultSink *)accelerometerResultSink
public func accelerometerResultSink() -> AccelerometerResultSink
public virtual AccelerometerResultSink accelerometerResultSink()

Devuelve

Tipo Descripción
AccelerometerResultSink

bufferRequirement

El número de búferes de la cámara ocupados por el componente actual.

int easyar_MegaGoTracker_bufferRequirement(const easyar_MegaGoTracker * This)
int bufferRequirement()
public int bufferRequirement()
fun bufferRequirement(): Int
- (int)bufferRequirement
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()

Devuelve

Tipo Descripción
Int32

outputFrameSource

Puerto de salida de fotogramas de salida. Consulte OutputFrameSource.

void easyar_MegaGoTracker_outputFrameSource(easyar_MegaGoTracker * This, easyar_OutputFrameSource * * Return)
std::shared_ptr<OutputFrameSource> outputFrameSource()
public @Nonnull OutputFrameSource outputFrameSource()
fun outputFrameSource(): OutputFrameSource
- (easyar_OutputFrameSource *)outputFrameSource
public func outputFrameSource() -> OutputFrameSource
public virtual OutputFrameSource outputFrameSource()

Devuelve

Tipo Descripción
OutputFrameSource

create

Crear una instancia.

void easyar_MegaGoTracker_create(easyar_MegaGoTracker * * Return)
static std::shared_ptr<MegaGoTracker> create()
public static @Nonnull MegaGoTracker create()
companion object fun create(): MegaGoTracker
+ (easyar_MegaGoTracker *)create
public static func create() throws -> MegaGoTracker
public static MegaGoTracker create()

Devuelve

Tipo Descripción
MegaGoTracker

extractBlockInfoFromFile

Extraer información de bloques (block) del archivo de mapa.

void easyar_MegaGoTracker_extractBlockInfoFromFile(easyar_String * path, easyar_OptionalOfMegaGoBlockInfo * Return)
static std::optional<std::shared_ptr<MegaGoBlockInfo>> extractBlockInfoFromFile(std::string path)
public static @Nullable MegaGoBlockInfo extractBlockInfoFromFile(java.lang.@Nonnull String path)
companion object fun extractBlockInfoFromFile(path: String): MegaGoBlockInfo?
+ (easyar_MegaGoBlockInfo *)extractBlockInfoFromFile:(NSString *)path
public static func extractBlockInfoFromFile(_ path: String) -> MegaGoBlockInfo?
public static Optional<MegaGoBlockInfo> extractBlockInfoFromFile(string path)

Parámetros

Nombre Tipo Descripción
path String

Devuelve

Tipo Descripción
Optional<MegaGoBlockInfo>

extractBlockInfoFromBuffer

Extraer la información del bloque de los datos de memoria del mapa.

void easyar_MegaGoTracker_extractBlockInfoFromBuffer(easyar_Buffer * buffer, easyar_OptionalOfMegaGoBlockInfo * Return)
static std::optional<std::shared_ptr<MegaGoBlockInfo>> extractBlockInfoFromBuffer(std::shared_ptr<Buffer> buffer)
public static @Nullable MegaGoBlockInfo extractBlockInfoFromBuffer(@Nonnull Buffer buffer)
companion object fun extractBlockInfoFromBuffer(buffer: Buffer): MegaGoBlockInfo?
+ (easyar_MegaGoBlockInfo *)extractBlockInfoFromBuffer:(easyar_Buffer *)buffer
public static func extractBlockInfoFromBuffer(_ buffer: Buffer) -> MegaGoBlockInfo?
public static Optional<MegaGoBlockInfo> extractBlockInfoFromBuffer(Buffer buffer)

Parámetros

Nombre Tipo Descripción
buffer Buffer

Devuelve

Tipo Descripción
Optional<MegaGoBlockInfo>

setEnableStatelessLocalization

Configurar si se habilita la localización sin estado. Cuando se habilita la localización sin estado, no se utilizará el resultado de la última localización durante la localización. El valor predeterminado es false.

void easyar_MegaGoTracker_setEnableStatelessLocalization(easyar_MegaGoTracker * This, bool enableStatelessLocalization)
void setEnableStatelessLocalization(bool enableStatelessLocalization)
public void setEnableStatelessLocalization(boolean enableStatelessLocalization)
fun setEnableStatelessLocalization(enableStatelessLocalization: Boolean): Unit
- (void)setEnableStatelessLocalization:(bool)enableStatelessLocalization
public func setEnableStatelessLocalization(_ enableStatelessLocalization: Bool) -> Void
public virtual void setEnableStatelessLocalization(bool enableStatelessLocalization)

Parámetros

Nombre Tipo Descripción
enableStatelessLocalization Boolean

Devuelve

Tipo Descripción
Void

setResultAsyncMode

Configurar el modo asíncrono de resultados. Si los resultados se envían a través de outputFrameSource, debe establecerse en true; si los resultados se obtienen a través de getSyncResult, debe establecerse en false. El valor predeterminado es true. El modo síncrono solo está disponible cuando se utiliza una licencia XR. Devuelve true si el modo solicitado se aplica correctamente; devuelve false y mantiene el modo asíncrono si el modo síncrono no es compatible.

bool easyar_MegaGoTracker_setResultAsyncMode(easyar_MegaGoTracker * This, bool enableAsync)
bool setResultAsyncMode(bool enableAsync)
public boolean setResultAsyncMode(boolean enableAsync)
fun setResultAsyncMode(enableAsync: Boolean): Boolean
- (bool)setResultAsyncMode:(bool)enableAsync
public func setResultAsyncMode(_ enableAsync: Bool) -> Bool
public virtual bool setResultAsyncMode(bool enableAsync)

Parámetros

Nombre Tipo Descripción
enableAsync Boolean

Devuelve

Tipo Descripción
Boolean

status

Devuelve el estado actual de ejecución de MegaGoTracker.

easyar_MegaGoTrackerStatus easyar_MegaGoTracker_status(const easyar_MegaGoTracker * This)
MegaGoTrackerStatus status()
public int status()
fun status(): Int
- (easyar_MegaGoTrackerStatus)status
public func status() -> MegaGoTrackerStatus
public virtual MegaGoTrackerStatus status()

Devuelve

Tipo Descripción
MegaGoTrackerStatus

error

Devuelve el error actual de MegaGoTracker. Vacío cuando no hay errores.

easyar_OptionalOfMegaGoTrackerError easyar_MegaGoTracker_error(const easyar_MegaGoTracker * This)
std::optional<MegaGoTrackerError> error()
public @Nullable Integer error()
fun error(): Int?
- (NSNumber *)error
public func error() -> MegaGoTrackerError?
public virtual Optional<MegaGoTrackerError> error()

Devuelve

Tipo Descripción
Optional<MegaGoTrackerError>

setLocalizationCallback

Configurar la devolución de llamada de localización. Cuando el estado de ejecución es Detecting o Tracking, cada respuesta de localización válida y no cancelada informará si ha actualizado la salida y la marca de tiempo del fotograma de entrada correspondiente.

void easyar_MegaGoTracker_setLocalizationCallback(easyar_MegaGoTracker * This, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTrackerLocalizationResponse callback)
void setLocalizationCallback(std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTrackerLocalizationResponse>)> callback)
public void setLocalizationCallback(@Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTrackerLocalizationResponse callback)
fun setLocalizationCallback(callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTrackerLocalizationResponse): Unit
- (void)setLocalizationCallback:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTrackerLocalizationResponse * response))callback
public func setLocalizationCallback(_ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTrackerLocalizationResponse) -> Void) -> Void
public virtual void setLocalizationCallback(CallbackScheduler callbackScheduler, Action<MegaGoTrackerLocalizationResponse> callback)

Parámetros

Nombre Tipo Descripción
callbackScheduler CallbackScheduler
callback Action<MegaGoTrackerLocalizationResponse>

Devuelve

Tipo Descripción
Void

setCameraPositionOverride

Establece el valor de cobertura de la posición de la cámara en relación con el bloque del mapa. Después de la configuración, MegaGoTracker mostrará el valor de cobertura en lugar de utilizar las coordenadas correspondientes en los datos del fotograma de entrada. Esto se puede utilizar para mejorar la precisión de la postura de salida cuando se conoce la información del mapa y hay sensores limitados.

void easyar_MegaGoTracker_setCameraPositionOverride(easyar_MegaGoTracker * This, easyar_OptionalOfFloat x, easyar_OptionalOfFloat y, easyar_OptionalOfFloat z)
void setCameraPositionOverride(std::optional<float> x, std::optional<float> y, std::optional<float> z)
public void setCameraPositionOverride(java.lang.@Nullable Float x, java.lang.@Nullable Float y, java.lang.@Nullable Float z)
fun setCameraPositionOverride(x: Float?, y: Float?, z: Float?): Unit
- (void)setCameraPositionOverride:(NSNumber *)x y:(NSNumber *)y z:(NSNumber *)z
public func setCameraPositionOverride(_ x: Float?, _ y: Float?, _ z: Float?) -> Void
public virtual void setCameraPositionOverride(Optional<float> x, Optional<float> y, Optional<float> z)

Parámetros

Nombre Tipo Descripción
x Optional<Single>
y Optional<Single>
z Optional<Single>

Devuelve

Tipo Descripción
Void

loadTargetFromFile

Cargar de forma asíncrona un target desde un archivo. El target solo se puede utilizar para la localización después de una carga exitosa. Solo puede haber un target activo al mismo tiempo. Llamar a este método eliminará inmediatamente la instancia de bloque localizada actualmente por el Tracker y el estado de seguimiento acumulado. Si esta carga falla o se cancela, el target y la instancia de localización anteriores no se restaurarán. Llamar a este método reemplazará las solicitudes de carga no completadas. Es posible que la carga en curso no se detenga inmediatamente; la callback de la solicitud reemplazada se llamará después de que finalice la operación, y su estado de resultado será MegaGoTargetLoadStatus.Canceled. Cuando el target no se pueda analizar o su contenido esté dañado, el estado de resultado será MegaGoTargetLoadStatus.InvalidTarget. Este método devolverá inmediatamente. Después de que se complete la carga, la callback se llamará en el hilo especificado por CallbackScheduler; en caso de éxito, el resultado contendrá la información del bloque cargado. MegaGoTargetLoadStatus.Success solo indica que la carga de los datos del target se ha realizado con éxito. Es posible que se realicen verificaciones posteriores o que fallen; se debe comprobar el estado de procesamiento y los errores actuales de MegaGoTracker a través de status y error. Después de cerrar MegaGoTracker, no se llamará a las callback pendientes de ejecución.

void easyar_MegaGoTracker_loadTargetFromFile(easyar_MegaGoTracker * This, easyar_String * path, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTargetLoadResult callback)
void loadTargetFromFile(std::string path, std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTargetLoadResult>)> callback)
public void loadTargetFromFile(java.lang.@Nonnull String path, @Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTargetLoadResult callback)
fun loadTargetFromFile(path: String, callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTargetLoadResult): Unit
- (void)loadTargetFromFile:(NSString *)path callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTargetLoadResult * result))callback
public func loadTargetFromFile(_ path: String, _ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTargetLoadResult) -> Void) -> Void
public virtual void loadTargetFromFile(string path, CallbackScheduler callbackScheduler, Action<MegaGoTargetLoadResult> callback)

Parámetros

Nombre Tipo Descripción
path String
callbackScheduler CallbackScheduler
callback Action<MegaGoTargetLoadResult>

Devuelve

Tipo Descripción
Void

loadTargetFromBuffer

Carga de forma asíncrona un target desde la memoria. El target solo se puede utilizar para la localización después de una carga exitosa. Solo puede haber un target activo al mismo tiempo. Llamar a este método borrará inmediatamente la instancia de bloque localizada actualmente por el Tracker y el estado de seguimiento acumulado. Si esta carga falla o se cancela, el target y la instancia de localización anteriores no se restaurarán. Llamar a este método reemplazará las solicitudes de carga no completadas. La carga en curso puede que no se detenga inmediatamente; la callback de la solicitud reemplazada se llamará después de que finalice la operación, y su estado de resultado será MegaGoTargetLoadStatus.Canceled. Cuando el target no se puede analizar o su contenido está dañado, el estado de resultado será MegaGoTargetLoadStatus.InvalidTarget. Este método devolverá inmediatamente. Después de que se complete la carga, la callback se llamará en el hilo especificado por CallbackScheduler; en caso de éxito, el resultado contendrá la información del bloque cargado. MegaGoTargetLoadStatus.Success solo indica que la carga de los datos del target se realizó con éxito. Las verificaciones posteriores aún pueden realizarse o fallar. Debe verificar el estado de procesamiento y los errores actuales de MegaGoTracker a través de status y error. Después de cerrar MegaGoTracker, no se llamará a las callbacks pendientes de ejecución.

void easyar_MegaGoTracker_loadTargetFromBuffer(easyar_MegaGoTracker * This, easyar_Buffer * buffer, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTargetLoadResult callback)
void loadTargetFromBuffer(std::shared_ptr<Buffer> buffer, std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTargetLoadResult>)> callback)
public void loadTargetFromBuffer(@Nonnull Buffer buffer, @Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTargetLoadResult callback)
fun loadTargetFromBuffer(buffer: Buffer, callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTargetLoadResult): Unit
- (void)loadTargetFromBuffer:(easyar_Buffer *)buffer callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTargetLoadResult * result))callback
public func loadTargetFromBuffer(_ buffer: Buffer, _ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTargetLoadResult) -> Void) -> Void
public virtual void loadTargetFromBuffer(Buffer buffer, CallbackScheduler callbackScheduler, Action<MegaGoTargetLoadResult> callback)

Parámetros

Nombre Tipo Descripción
buffer Buffer
callbackScheduler CallbackScheduler
callback Action<MegaGoTargetLoadResult>

Devuelve

Tipo Descripción
Void

unloadTarget

Desinstale el target actual y borre la instancia de localización actual y el estado de seguimiento acumulado. El estado lógico del target pasará inmediatamente a no cargado. Llamar a este método también reemplazará todas las solicitudes de carga pendientes. La carga en curso puede no detenerse inmediatamente; la callback de la solicitud reemplazada se llamará después de que finalice la operación, y su estado resultante será MegaGoTargetLoadStatus.Canceled. Este método no tiene callback y no esperará a que se complete la operación de desinstalación. Si no hay ningún target cargado o en proceso de carga, llamar a este método no tendrá efectos adicionales.

void easyar_MegaGoTracker_unloadTarget(easyar_MegaGoTracker * This)
void unloadTarget()
public void unloadTarget()
fun unloadTarget(): Unit
- (void)unloadTarget
public func unloadTarget() -> Void
public virtual void unloadTarget()

Devuelve

Tipo Descripción
Void

start

Comienza a procesar los fotogramas de entrada y a mostrar los resultados. Devuelve true cuando la llamada es exitosa; devuelve false cuando MegaGoTracker está cerrado. Llamar repetidamente a este método no tiene efectos adicionales. Llamar a este método después de stop continuará utilizando el target ya cargado, sin necesidad de volver a cargarlo.

bool easyar_MegaGoTracker_start(easyar_MegaGoTracker * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()

Devuelve

Tipo Descripción
Boolean

stop

Detener el procesamiento de los fotogramas de entrada y borrar la instancia de bloque actual localizada y el estado de seguimiento acumulado. Los resultados de procesamiento no finalizados se descartarán. Los objetivos (target) cargados no se descargarán, y la carga de objetivos no finalizada tampoco se cancelará; su función de devolución de llamada (callback) seguirá siendo llamada. En este momento, el estado de funcionamiento es Idle; se puede llamar a start para continuar utilizando los objetivos cargados.

void easyar_MegaGoTracker_stop(easyar_MegaGoTracker * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()

Devuelve

Tipo Descripción
Void

close

Cerrar permanentemente MegaGoTracker, detener el procesamiento de los fotogramas de entrada, borrar las instancias de bloque localizadas actualmente y el estado de seguimiento acumulado, desinstalar el objetivo (target) y liberar los recursos relacionados. Llamar repetidamente a esta función no tendrá efectos adicionales. Todas las operaciones de localización no completadas y de carga del objetivo (target) se cancelarán, y las devoluciones de llamada (callbacks) no ejecutadas ya no se invocarán. Este método puede esperar a que finalice la operación en curso antes de devolver el control. No se debe seguir utilizando MegaGoTracker después de llamar a close, y llamar a start devolverá false.

void easyar_MegaGoTracker_close(easyar_MegaGoTracker * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()

Devuelve

Tipo Descripción
Void

getSyncResult

Obtener los resultados de salida sincronizados. motionInputData no debe estar vacío y se debe habilitar el modo de sincronización a través de setResultAsyncMode. Cuando MegaGoTracker está en pausa, cerrado, en estado de error o no puede generar resultados sincronizados en el momento, el valor de retorno está vacío.

void easyar_MegaGoTracker_getSyncResult(easyar_MegaGoTracker * This, easyar_MotionInputData * motionInputData, easyar_OptionalOfMegaGoTrackerResult * Return)
std::optional<std::shared_ptr<MegaGoTrackerResult>> getSyncResult(std::shared_ptr<MotionInputData> motionInputData)
public @Nullable MegaGoTrackerResult getSyncResult(@Nonnull MotionInputData motionInputData)
fun getSyncResult(motionInputData: MotionInputData): MegaGoTrackerResult?
- (easyar_MegaGoTrackerResult *)getSyncResult:(easyar_MotionInputData *)motionInputData
public func getSyncResult(_ motionInputData: MotionInputData) -> MegaGoTrackerResult?
public virtual Optional<MegaGoTrackerResult> getSyncResult(MotionInputData motionInputData)

Parámetros

Nombre Tipo Descripción
motionInputData MotionInputData

Devuelve

Tipo Descripción
Optional<MegaGoTrackerResult>