Table of Contents

Namespace easyar

Clases

Accelerometer

Accelerometer invoca el acelerómetro proporcionado por el sistema, salida AccelerometerResult. Cuando ya no se necesita el dispositivo, se puede llamar a close para cerrarlo. Después de close, no se debe seguir usando. No se recomienda abrirlo múltiples veces simultáneamente, puede volverse inutilizable o disminuir la precisión.

AccelerometerResult

Lecturas del acelerómetro. La dirección positiva del eje X apunta desde el centro del dispositivo hacia la derecha de la pantalla. La dirección positiva del eje Y apunta desde el centro del dispositivo hacia la parte superior de la pantalla. La dirección positiva del eje Z apunta desde el centro del dispositivo perpendicularmente a la pantalla hacia afuera. Las unidades de x, y, z son m/s². La unidad de timestamp es segundos.

AccelerometerResultSink

Puerto de entrada para resultados del acelerómetro. Se utiliza para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son seguros para hilos.

AccelerometerResultSource

Puerto de salida de resultados del acelerómetro. Se utiliza para exponer el puerto de salida de un componente. Todos los miembros de esta clase son seguros para hilos.

ARCoreCameraDevice

ARCoreCameraDevice implementa un dispositivo de cámara basado en ARCore, que genera InputFrame (contiene imagen, parámetros de cámara, marca de tiempo, información de posición 6DOF y estado de seguimiento). Antes de usar, es necesario cargar libarcore_sdk_c.so mediante java.lang.System.loadLibrary. Tras su creación, se puede usar start/stop para iniciar/detener la captura de datos de flujo de video. Cuando el dispositivo ya no sea necesario, llame a close para cerrarlo. No debe seguir usándose después del close. ARCoreCameraDevice genera InputFrame a través de inputFrameSource; inputFrameSource debe conectarse a InputFrameSink para su uso. bufferCapacity indica la capacidad del buffer de InputFrame. Si se generan más InputFrame de este dispositivo que este número y no se liberan, el dispositivo dejará de generar nuevos InputFrame hasta que se liberen los anteriores. Esto puede causar problemas como congelamiento de imagen. Nota: La implementación actual de ARCore (v1.13.0) tiene fugas de memoria al crear/destruir sesiones. La creación/destrucción repetida aumentará continuamente el uso de memoria sin liberarse tras la destrucción.

ARCoreDeviceListDownloader

ARCoreDeviceListDownloader se utiliza para descargar y actualizar los parámetros de calibración de la lista de dispositivos utilizados en ARCoreCameraDevice.

ARKitCameraDevice

ARKitCameraDevice implementa un dispositivo de cámara basado en ARKit que genera InputFrame (que incluye imagen, parámetros de la cámara, marca de tiempo, información de posición 6DOF y estado de seguimiento). Después de la creación, se puede llamar a start/stop para iniciar y detener la recopilación de datos de flujo de video. Cuando el dispositivo ya no es necesario, se puede llamar a close para cerrarlo. Después de close, no se debe seguir usando. ARKitCameraDevice genera InputFrame a través de inputFrameSource, y inputFrameSource debe conectarse a InputFrameSink para su uso. bufferCapacity indica la capacidad del búfer de InputFrame. Si se generan más InputFrame de este dispositivo que este número y no se liberan, el dispositivo dejará de generar nuevos InputFrame hasta que se liberen los anteriores. Esto puede causar problemas como congelamiento de la imagen.

AttitudeSensor

AttitudeSensor utiliza el sensor de actitud proporcionado por el sistema y genera AttitudeSensorResult. Cuando el dispositivo ya no sea necesario, puede llamar a close para cerrarlo. Después de close, no debe seguir usándose. No se recomienda abrirlo múltiples veces simultáneamente, ya que podría dejar de funcionar o reducir su precisión.

AttitudeSensorResult

Lecturas del sensor de actitud. La dirección positiva del eje X apunta desde el centro del dispositivo hacia la derecha de la pantalla. La dirección positiva del eje Y apunta desde el centro del dispositivo hacia la parte superior de la pantalla. La dirección positiva del eje Z apunta perpendicularmente hacia afuera desde el centro del dispositivo a través de la pantalla. El dispositivo ha girado un ángulo θ alrededor de los ejes (x, y, z). El cuaternión unitario de rotación es (cos(θ/2), xsin(θ/2), ysin(θ/2), zsin(θ/2)). (v0, v1, v2, v3) = (cos(θ/2), xsin(θ/2), ysin(θ/2), zsin(θ/2)). El sistema de coordenadas de referencia se define como una base ortonormal orientada donde

Z apunta hacia el cielo y es paralelo al suelo.

(X, Y, Z) forman un sistema diestro.

La unidad de timestamp es segundos.

AttitudeSensorResultSink

Puerto de entrada de resultados del sensor de actitud. Se utiliza para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son seguros para subprocesos.

AttitudeSensorResultSource

Puerto de salida de resultados del sensor de actitud. Se utiliza para exponer un puerto de salida de un componente. Todos los miembros de esta clase son seguros para hilos.

BlockInfo

El modelo obtenido mediante reconstrucción densa se representa mediante una malla triangular, denominada mesh. Dado que la mesh se actualiza con frecuencia, para garantizar la eficiencia, toda la mesh del modelo reconstruido se divide en numerosos mesh blocks. Un mesh block consiste en un cubo de aproximadamente 1 metro de lado, que contiene elementos como vértices (vertex) e índices (index). BlockInfo describe el contenido de un mesh block. Las coordenadas (x,y,z) son los índices del mesh block; multiplicando (x,y,z) por el tamaño físico de cada mesh block se obtienen las coordenadas del origen de ese mesh block en el sistema de coordenadas mundial. Esto permite filtrar previamente las partes que deben mostrarse basándose en la posición del mesh block en el mundo, ahorrando tiempo de renderización.

BlockPriorResult

Información del mapa a priori. blockIds son los IDs del mapa. mode es el modo en que el sistema utiliza la información previa, que puede ser soft o hard. Consulte BlockPriorMode.

Buffer

Buffer almacena una matriz de bytes sin procesar, que se puede utilizar para acceder a datos de imagen. En la API de Java, se puede obtener el buffer de Image y copiar los datos a una matriz de bytes de Java. En todas las versiones de EasyAR Sense, se puede acceder a los datos de imagen. Consulte Image.

BufferDictionary

Un mapeo desde una ruta de archivo a Buffer. Se utiliza para representar múltiples archivos almacenados en memoria.

BufferPool

BufferPool implementa un grupo de memoria que se puede usar para funciones como la conexión personalizada de cámaras que requieren asignar repetidamente memoria del mismo tamaño, reduciendo el tiempo de asignación de memoria.

CalibrationDownloader

CalibrationDownloader se utiliza para descargar actualizaciones de parámetros de calibración utilizados en MotionTracker. Después de la descarga, es necesario recrear MotionTracker para que surta efecto.

CallbackScheduler

Programador de devoluciones de llamada. Tiene dos subclases DelayedCallbackScheduler y ImmediateCallbackScheduler. De los cuales DelayedCallbackScheduler se utiliza para posponer las devoluciones de llamada hasta que se invoquen manualmente, y se puede usar en entornos de un solo hilo (como varios entornos de UI). ImmediateCallbackScheduler se utiliza para ejecutar las devoluciones de llamada inmediatamente, y se puede usar en entornos multihilo (como servidores o servicios en segundo plano).

CameraDevice

CameraDevice implementa un dispositivo de cámara, outputs InputFrame (que contiene imágenes, parámetros de la cámara y timestamp). Disponible en Windows, Mac, Android e iOS. Después de abrir, se puede llamar a start/stop para comenzar y detener la recopilación de datos. start/stop no afecta los parámetros de la cámara configurados previamente. Cuando ya no se necesita el dispositivo, se puede llamar a close para cerrarlo. Después de close, no se debe continuar usándolo. CameraDevice outputs InputFrame a través de inputFrameSource, y se debe conectar inputFrameSource a InputFrameSink para su uso. bufferCapacity indica la capacidad del búfer de InputFrame, si se output más de este número de InputFrame desde el dispositivo y no se liberan, el dispositivo dejará de output nuevos InputFrame hasta que los anteriores se liberen. Esto puede causar problemas como congelamiento de la pantalla. Al usar en Android, se debe agregar la declaración de permiso android.permission.CAMERA en AndroidManifest.xml. Al usar en iOS, se debe agregar la declaración de permiso NSCameraUsageDescription en Info.plist.

CameraDeviceSelector

Se utiliza para seleccionar Camera API en Android (camera1 o camera2). camera1 tiene mejor compatibilidad, pero carece de información necesaria, como la marca de tiempo. camera2 tiene problemas de compatibilidad en algunos dispositivos. Las diferentes opciones seleccionarán camera1 o camera2 según el propósito.

CameraParameters

Parámetros de la cámara, incluyendo tamaño de imagen, distancia focal, punto principal, tipo de cámara y ángulo de rotación de la cámara relativo a la orientación natural del dispositivo.

CloudLocalizer

CloudLocalizer implementa la función de localización en la nube.

CloudLocalizerBlockInstance

Instancia del block localizado por CloudLocalizer.

CloudLocalizerResult
CloudRecognizationResult
CloudRecognizer

CloudRecognizer implementa la funcionalidad de reconocimiento en la nube. La funcionalidad de reconocimiento en la nube requiere crear una galería de reconocimiento en la nube para poder usarse, por favor, consulte la documentación de EasyAR CRS. Cuando ya no se necesite este componente, se puede llamar a close para cerrarlo. Después de close, no se debe seguir usando. Antes de usar CloudRecognizer, es necesario configurar y preparar un ImageTracker. Cualquier target devuelto debe usarse loadTarget para cargarlo manualmente en ImageTracker. Después de cargarlo, el reconocimiento y seguimiento del target son los mismos que para los targets locales. Después de que se reconozca un target, se puede obtener desde la devolución de llamada, luego, se debe usar el uid del target para distinguir entre diferentes targets. El runtimeID del target se genera dinámicamente y no es adecuado como identificador único para targets en el reconocimiento en la nube.

DelayedCallbackScheduler

Programador de devolución de llamada retardada. Se utiliza para posponer devoluciones de llamada hasta que se invoquen manualmente, puede utilizarse en entornos de un solo hilo (como varios entornos de UI). Todos los miembros de esta clase son thread-safe.

DenseSpatialMap

DenseSpatialMap se utiliza para reconstruir con precisión el entorno en 3D denso, y su modelo reconstruido se representa mediante una malla triangular, llamada mesh. DenseSpatialMap ocupa un buffer de cámara.

DeviceAuxiliaryInfo
Engine
EventDumpRecorder

Grabador de volcado de eventos. Se utiliza para guardar información de diagnóstico clave en archivos EED. Todos los miembros de esta clase son seguros para subprocesos.

FeedbackFrame

Frame de retroalimentación. Contiene un frame de entrada y un frame de salida histórico, utilizado por componentes de procesamiento sincronizado con retroalimentación como ImageTracker.

FeedbackFrameFork

Divisor de trama de retroalimentación. Se utiliza para transmitir una trama de retroalimentación en paralelo a múltiples componentes. Todos los miembros de esta clase son seguros para subprocesos.

FeedbackFrameSink

Puerto de entrada del marco de retroalimentación. Se utiliza para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son seguros para hilos.

FeedbackFrameSource

Puerto de salida del marco de retroalimentación. Se utiliza para exponer un puerto de salida de un componente. Todos los miembros de esta clase son seguros para hilos.

FrameFilterResult

FrameFilterResult es la clase base para todos los resultados que usan componentes de algoritmo sincrónico.

Gyroscope

Gyroscope invoca el giroscopio proporcionado por el sistema y emite GyroscopeResult. Cuando el dispositivo ya no sea necesario, puede llamar a close para cerrarlo. Después de close, no debe continuar usándolo. No se recomienda abrirlo varias veces simultáneamente, ya que podría dejar de funcionar o reducir la precisión.

GyroscopeResult

Lectura del giroscopio. La dirección positiva del eje x apunta desde el centro del dispositivo hacia la derecha de la pantalla. La dirección positiva del eje y apunta desde el centro del dispositivo hacia la parte superior de la pantalla. La dirección positiva del eje z apunta perpendicularmente hacia afuera desde el centro del dispositivo a través de la pantalla. x, y, z representan la velocidad angular de rotación alrededor del eje correspondiente, en radianes por segundo. La dirección positiva de rotación es en sentido antihorario cuando se mira hacia el dispositivo desde un punto en la dirección positiva del eje. La marca de tiempo está en segundos.

GyroscopeResultSink

Puerto de entrada de resultados del giroscopio. Utilizado para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son thread-safe.

GyroscopeResultSource

Puerto de salida de resultados del giroscopio. Se utiliza para exponer un puerto de salida de un componente. Todos los miembros de esta clase son seguros para hilos.

Image

Image almacena datos de imagen, utilizados para representar imágenes en memoria. Image proporciona acceso a los datos originales en forma de matriz de bytes, y también proporciona una interfaz para acceder a información como width/height. En todas las versiones de EasyAR Sense, puedes acceder a los datos de imagen. En iOS, puedes acceder de esta manera:

#include <easyar/buffer.oc.h>
#include <easyar/image.oc.h>

easyar_OutputFrame * outputFrame = [outputFrameBuffer peek];
if (outputFrame != nil) {
    easyar_Image * i = [[outputFrame inputFrame] image];
    easyar_Buffer * b = [i buffer];
    char * bytes = calloc([b size], 1);
    memcpy(bytes, [b data], [b size]);
    // use bytes here
    free(bytes);
}

En Android,

import cn.easyar.*;

OutputFrame outputFrame = outputFrameBuffer.peek();
if (outputFrame != null) {
    InputFrame inputFrame = outputFrame.inputFrame();
    Image i = inputFrame.image();
    Buffer b = i.buffer();
    byte[] bytes = new byte[b.size()];
    b.copyToByteArray(0, bytes, 0, bytes.length);
    // use bytes here
    b.dispose();
    i.dispose();
    inputFrame.dispose();
    outputFrame.dispose();
}
ImageHelper

Clase de ayuda para imágenes.

ImageTarget

ImageTarget representa el objetivo de una imagen plana, que puede ser rastreado por ImageTracker. Los valores dentro de ImageTarget necesitan ser llenados primero a través de métodos como create... antes de poder ser leídos. Luego, después de cargar con éxito loadTarget en ImageTracker, puede ser detectado y rastreado por ImageTracker.

ImageTargetParameters

ImageTargetParameters representa los parámetros necesarios para crear ImageTarget.

ImageTracker

ImageTracker implementa la detección y seguimiento de tarjetas planas. ImageTracker ocupa (1 + SimultaneousNum) buffers de camera. Debe configurar el setBufferCapacity de camera para que sea al menos el número de buffers de camera ocupados por todos los componentes. Después de crear, puede llamar a start/stop para comenzar y detener la ejecución; start/stop son llamadas muy ligeras. Cuando ya no necesite este componente, puede llamar a close para cerrarlo. No debe seguir usándolo después de close. ImageTracker ingresa FeedbackFrame a través de feedbackFrameSink; debe conectar FeedbackFrameSource a feedbackFrameSink para su uso. Antes de que Target pueda ser seguido por ImageTracker, debe cargarlo mediante loadTarget/unloadTarget. Puede obtener los resultados de load/unload a través de devoluciones de llamada de la interfaz.

ImageTrackerConfig

ImageTracker Crear configuración.

ImageTrackerResult

ImageTracker el resultado de.

ImmediateCallbackScheduler

Planificador de devolución de llamada inmediata. Se utiliza para ejecutar devoluciones de llamada inmediatamente, puede usarse en entornos multihilo, como servidores o servicios en segundo plano. Todos los miembros de esta clase son seguros para hilos.

InertialCameraDevice

InertialCameraDevice implementa un dispositivo de cámara basado en inercia de movimiento, que emite un InputFrame (que incluye imagen, parámetros de cámara, marca de tiempo, matriz de transformación de pose y estado de seguimiento) con CameraTransformType como FiveDofRotXZ. Después de la creación, se puede llamar a start/stop para iniciar y detener la captura de datos de flujo de video. Cuando el dispositivo ya no sea necesario, se puede llamar a close para cerrarlo. No debe seguir usándose después de close. InertialCameraDevice emite InputFrame a través de inputFrameSource; inputFrameSource debe conectarse a un InputFrameSink para su uso. bufferCapacity indica la capacidad del búfer de InputFrame. Si se emiten más InputFrame de este dispositivo que este número y no se liberan, el dispositivo dejará de emitir nuevos InputFrame hasta que se liberen los anteriores. Esto puede causar problemas como congelamiento de imagen.

InputFrame

Frame de entrada. Contiene imagen, parámetros de la cámara, timestamp, transformación de la cámara respecto al sistema de coordenadas del mundo y estado de seguimiento. Los parámetros de la cámara, timestamp, transformación y estado de seguimiento son opcionales, pero componentes algorítmicos específicos tienen requisitos particulares para la entrada.

InputFrameFork

Divisor de marcos de entrada. Se utiliza para transmitir un marco de entrada en paralelo a múltiples componentes. Todos los miembros de esta clase son seguros para hilos.

InputFramePlayer

Reproductor de fotograma de entrada. Tiene un puerto de salida de fotograma de entrada para extraer fotogramas de entrada del archivo EIF. Todos los miembros de esta clase son seguros para subprocesos.

InputFrameRecorder

Grabadora de fotogramas de entrada. Tiene un puerto de entrada para fotogramas y un puerto de salida para fotogramas, usados para guardar fotogramas que pasan en un archivo EIF. Todos los miembros de esta clase son seguros para subprocesos.

InputFrameSink

Puerto de entrada del marco de entrada. Se utiliza para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son seguros para subprocesos.

InputFrameSource

Puerto de salida de trama de entrada. Se utiliza para exponer el puerto de salida de un componente. Todos los miembros de esta clase son seguros para hilos.

InputFrameThrottler

Entrada del estrangulador de fotogramas. Hay un puerto de entrada y un puerto de salida de fotogramas de entrada, que se utilizan para evitar que nuevos fotogramas de entrada entren en el componente del algoritmo cuando este no haya terminado de procesar los datos del fotograma anterior. InputFrameThrottler ocupa 1 búfer de cámara. Se debe utilizar setBufferCapacity de la cámara para establecer no menos que el número total de búferes de cámara ocupados por todos los componentes. Todos los miembros de esta clase son seguros para subprocesos. Debe tenerse en cuenta que la conexión y desconexión de signalInput no deben realizarse mientras fluyen datos simultáneamente, de lo contrario podría quedar atascado en un estado sin salida. (Se recomienda completar la conexión del flujo de datos antes de iniciar la Cámara).

InputFrameToFeedbackFrameAdapter

Adaptador de marco de entrada a marco de retroalimentación. Tiene un puerto de entrada para el marco de entrada, un puerto de entrada para el marco de salida histórico y un puerto de salida para el marco de retroalimentación, que se utiliza para combinar el marco de entrada y el marco de salida histórico en un marco de retroalimentación, que se pasa a un componente de algoritmo que requiere un marco de retroalimentación de entrada, por ejemplo ImageTracker. Cada vez que se introduce un marco de entrada, se combina con el marco de salida histórico de la entrada anterior para formar el marco de retroalimentación. Si no se ha introducido ningún marco de salida histórico, el marco de salida histórico en el marco de retroalimentación está vacío. InputFrameToFeedbackFrameAdapter ocupa 1 camera buffer. Se debe utilizar camera setBufferCapacity para establecer un número no menor que la cantidad de camera buffers ocupados por todos los componentes. Todos los miembros de esta clase son seguros para hilos.

InputFrameToOutputFrameAdapter

Adaptador de frame de entrada a frame de salida. Tiene un puerto de entrada para frames de entrada y un puerto de salida para frames de salida. Envuelve el frame de entrada en un frame de salida, permitiendo renderizar directamente sin conectar componentes de algoritmo. Todos los miembros de esta clase son seguros para hilos.

JniUtility

Clase de utilidad JNI. Utilizada para envolver arrays de Java y ByteBuffer en Unity. No es compatible con la plataforma iOS.

LocationResult

Lectura de ubicación. latitude, longitude en unidades de grados. altitude en unidades de metros. horizontalAccuracy es la precisión horizontal en metros. verticalAccuracy es la precisión vertical en metros.

LocationResultSink

Puerto de entrada de resultados de posición. Se utiliza para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son seguros para hilos.

LocationResultSource

Puerto de salida de resultados posicionales. Se utiliza para exponer un puerto de salida del componente. Todos los miembros de esta clase son seguros para subprocesos.

Log

Clase de registro. Utilizada para salida de registros o configuración de funciones de registro personalizadas.

Magnetometer

Magnetometer utiliza el magnetómetro proporcionado por el sistema, emite MagnetometerResult. Cuando el dispositivo ya no sea necesario, se puede llamar a close para cerrarlo. No se debe continuar usando después del close. No se recomienda abrirlo múltiples veces simultáneamente, ya que podría dejar de funcionar o reducir su precisión.

MagnetometerResult

Lectura del magnetómetro. La dirección positiva del eje x apunta desde el centro del dispositivo hacia la derecha de la pantalla. La dirección positiva del eje y apunta desde el centro del dispositivo hacia la parte superior de la pantalla. La dirección positiva del eje z apunta perpendicularmente hacia afuera desde el centro del dispositivo a través de la pantalla. Las unidades para x, y, z son uT(microtesla). La unidad para timestamp es segundos.

MagnetometerResultSink

Puerto de entrada para resultados del magnetómetro. Se utiliza para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son seguros para hilos.

MagnetometerResultSource

Puerto de salida de resultados del magnetómetro. Utilizado para exponer un puerto de salida de un componente. Todos los miembros de esta clase son seguros para hilos.

Matrix33F

Matriz cuadrada de tercer orden. La disposición de los datos es row-major.

Matrix44F

Matriz cuadrada de cuarto orden. Los datos están organizados en orden de fila-major.

MegaLandmarkFilter

MegaLandmarkFilter implementa la función de filtrado de posicionamiento en la nube VPS.

MegaLandmarkFilterResult
MegaTracker

Proporciona funciones de posicionamiento en la nube. MegaTracker ocupa 1 buffer de cámara.

MegaTrackerBlockInstance

Instancia del bloque localizado por MegaTracker.

MegaTrackerLocalizationResponse

Respuesta de la solicitud de ubicación de MegaTracker.

MegaTrackerResult

La salida de MegaTracker se actualizará con la frecuencia de OutputFrame.

MotionInputData

Datos de entrada de movimiento. Incluye marca de tiempo, transformación relativa al sistema de coordenadas mundial y estado de seguimiento.

MotionTrackerCameraDevice

MotionTrackerCameraDevice implementa un dispositivo de cámara con seguimiento de movimiento 6DOF a escala real, que produce InputFrame (contiene imagen, parámetros de cámara, marca de tiempo, información de posición 6DOF y estado de seguimiento). Tras la creación, se puede llamar a start/stop para iniciar y detener el flujo de datos. Cuando el dispositivo ya no sea necesario, se puede llamar a close para cerrarlo. Tras close, no debe seguir utilizándose. MotionTrackerCameraDevice genera InputFrame a través de inputFrameSource, que debe conectarse a InputFrameSink para su uso.

ObjectTarget

ObjectTarget representa un objetivo 3D, que puede ser rastreado por ObjectTracker. El tamaño de ObjectTarget está determinado por el archivo obj. Se puede modificar el tamaño cambiando scale. scale es 1 por defecto. ObjectTarget puede ser detectado y rastreado por ObjectTracker después de cargarse exitosamente mediante loadTarget.

ObjectTargetParameters

ObjectTargetParameters representa los parámetros necesarios para crear ObjectTarget.

ObjectTracker

ObjectTracker implementa la detección y seguimiento de objetivos 3D. ObjectTracker ocupa (1 + SimultaneousNum) buffers de cámara. Se debe utilizar setBufferCapacity de la cámara para establecer no menos que el número de buffers de cámara ocupados por todos los componentes. Después de la creación, se puede llamar a start/stop para iniciar y detener el funcionamiento, start/stop son llamadas muy ligeras. Cuando ya no se necesite el componente, se puede llamar a close para cerrarlo. No se debe seguir usando después de close. ObjectTracker recibe entrada a través de feedbackFrameSink FeedbackFrame, y se debe conectar FeedbackFrameSource a feedbackFrameSink para su uso. Antes de que Target pueda ser seguido por ObjectTracker, necesitas cargarlo mediante loadTarget/unloadTarget. Se puede obtener el resultado de load/unload pasando una devolución de llamada a la interfaz.

ObjectTrackerResult

El resultado de ObjectTracker.

OutputFrame

Frame de salida. Contiene el frame de entrada y los resultados de salida del componente de procesamiento sincronizado.

OutputFrameBuffer

Buffer de fotograma de salida. Tiene un puerto de entrada de fotograma de salida y una función de obtención de fotograma de salida para convertir la obtención de fotogramas de salida de asíncrono a sondeo síncrono, adecuado para renderizado fotograma por fotograma. OutputFrameBuffer ocupa 1 buffer de cámara. Utilice setBufferCapacity de la cámara para establecer no menos que el número de buffers de cámara ocupados por todos los componentes. Todos los miembros de esta clase son seguros para subprocesos.

OutputFrameFork

Divisor de fotogramas de salida. Se utiliza para transmitir un fotograma de salida en paralelo a múltiples componentes. Todos los miembros de esta clase son seguros para hilos.

OutputFrameJoin

Fusionador de fotogramas de salida. Se utiliza para combinar los fotogramas de salida de múltiples componentes en un solo fotograma de salida. Todos los miembros de esta clase son seguros para hilos. Es importante tener en cuenta que la conexión y desconexión de múltiples entradas no debe realizarse mientras fluyen datos, de lo contrario podría quedar en un estado sin salida. (Se recomienda completar la conexión del flujo de datos antes de iniciar la cámara.)

OutputFrameSink

Puerto de entrada de fotograma de salida. Se usa para exponer un puerto de entrada del componente. Todos los miembros de esta clase son seguros para subprocesos.

OutputFrameSource

Puerto de salida de fotogramas. Se utiliza para exponer un puerto de salida de un componente. Todos los miembros de esta clase son seguros para subprocesos.

PlaneData
PoseUtility
ProximityLocationResult

Lectura de posición cercana. x, y, z en metros. El origen es el origen del mosaico del mapa. y hacia arriba. accuracy en metros. timestamp, validTime en segundos. is2d indica si no se usa y.

ProximityLocationResultSink

Puerto de entrada de resultados de ubicación cercana. Se utiliza para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son seguros para hilos.

ProximityLocationResultSource

Puerto de salida de resultados de ubicación cercana. Se utiliza para exponer un puerto de salida de un componente. Todos los miembros de esta clase son seguros para hilos.

Recorder

Recorder implementa la función de grabación de pantalla para el entorno de renderización actual. Actualmente, Recorder solo funciona en entornos Android (4.3 o posterior) y iOS con OpenGLES3.0. Debido a la dependencia de OpenGLES, todas las funciones de esta clase (excepto requestPermissions, incluido el destructor) deben llamarse en un único hilo que contenga el contexto de OpenGLES. Unity Only En Unity, si se utiliza la función de renderización multihilo (Multi-threadedrendering), el hilo del script se separará del hilo de renderización, y no se podrá llamar a updateFrame en el hilo de renderización. Por lo tanto, si se necesita usar la función de grabación de pantalla, se debe deshabilitar la renderización multihilo (Multi-threadedrendering). Para usar en Android, se debe agregar la declaración de permiso android.permission.RECORD_AUDIO en AndroidManifest.xml. Para usar en iOS, se debe agregar la declaración de permiso NSMicrophoneUsageDescription en Info.plist.

RecorderConfiguration

RecorderConfiguration es la configuración de inicio para Recorder.

SceneMesh
SignalSink

Puerto de entrada de señal. Se utiliza para exponer un puerto de entrada de un componente. Todos los miembros de esta clase son seguros para hilos.

SignalSource

Puerto de salida de señal. Se utiliza para exponer un puerto de salida de un componente. Todos los miembros de esta clase son seguros para subprocesos.

SparseSpatialMap

Proporciona las principales funciones del sistema SparseSpatialMap: generación y almacenamiento de mapas, carga de mapas y localización. También permite obtener información ambiental como nubes de puntos y planos, además de realizar pruebas de impacto (hitTest). SparseSpatialMap ocupa 2 buffers de cámara. Utilice setBufferCapacity de la cámara para establecer al menos el número de buffers requeridos por todos los componentes.

SparseSpatialMapConfig

Utilizado para configurar estrategias de localización en mapeo disperso.

SparseSpatialMapManager

SparseSpatialMap clase de gestión, utilizada para gestionar la función de compartir de SparseSpatialMap.

SparseSpatialMapResult

Obtener la salida del sistema de mapeo y localización escasos, que se actualiza a la frecuencia de OutputFrame.

Storage
SurfaceTracker

SurfaceTracker implementa el seguimiento de superficies ambientales. SurfaceTracker ocupa 1 buffer de cámara. Debería utilizarse setBufferCapacity de la cámara para establecer no menos del número de buffers de cámara ocupados por todos los componentes. Tras la creación, se puede llamar a start/stop para iniciar y detener el funcionamiento; start/stop son llamadas muy ligeras. Cuando el componente ya no sea necesario, se puede llamar a close para cerrarlo. No debería seguir usándose después de close. SurfaceTracker recibe InputFrame a través de inputFrameSink. Debería conectarse InputFrameSource a inputFrameSink para su uso.

SurfaceTrackerResult

SurfaceTracker el resultado de.

Target

Target es la clase base en EasyAR para todos los objetivos que pueden ser rastreados por ImageTracker u otros algoritmos.

TargetInstance

TargetInstance es el target que es rastreado por el tracker. TargetInstance incluye el Target original que ha sido rastreado y el estado y pose actuales de este Target.

TargetTrackerResult

TargetTrackerResult es la clase base de ImageTrackerResult y ObjectTrackerResult.

TextureId

TextureId encapsula objetos de textura en la API gráfica. Para OpenGL/OpenGLES, debe usar getInt y fromInt. Para Direct3D, debe usar getPointer y fromPointer.

ThreeDofCameraDevice

ThreeDofCameraDevice implementa un dispositivo de cámara con tres grados de libertad (three dof), que produce un InputFrame con CameraTransformType como ThreeDofRotOnly (que incluye imagen, parámetros de la cámara, marca de tiempo, matriz de transformación de pose y estado de seguimiento). Después de la creación, se puede llamar a start/stop para iniciar y detener la recopilación de datos de flujo de video. Cuando el dispositivo ya no sea necesario, se puede llamar a close para cerrarlo. Después de close, no se debe seguir usando. ThreeDofCameraDevice produce InputFrame a través de inputFrameSource, y se debe conectar inputFrameSource a InputFrameSink para su uso. bufferCapacity indica la capacidad del búfer de InputFrame. Si se producen más InputFrame de este dispositivo que no se liberan, el dispositivo dejará de producir nuevos InputFrame hasta que se liberen los anteriores. Esto puede causar problemas como congelamiento de la imagen.

Vec2F

Vector flotante bidimensional.

Vec2I

Vector de int bidimensional.

Vec3D

vector doble tridimensional.

Vec3F

Vector float tridimensional.

Vec4F

Vector de cuatro dimensiones de punto flotante.

Vec4I

vector de enteros de cuatro dimensiones.

VideoInputFramePlayer

Reproductor de fotogramas de entrada. Hay un puerto de salida de fotogramas de entrada para extraer fotogramas de entrada desde archivos EIF MKV. Todos los miembros de esta clase son seguros para hilos.

VideoInputFrameRecorder

Grabadora de fotogramas de entrada. Tiene un puerto de entrada de fotograma de entrada y un puerto de salida de fotograma de entrada, que se utiliza para guardar los fotogramas de entrada procesados en un archivo EIF MKV. Todos los miembros de esta clase son seguros para hilos.

VideoPlayer

VideoPlayer es la clase de reproducción de video. EasyAR admite la reproducción de videos normales, videos transparentes y transmisión de medios. El contenido del video se renderizará en la textura pasada a setRenderTexture. Esta clase solo admite texturas de OpenGLES 3.0. Debido a la dependencia de OpenGLES, todas las funciones de esta clase (incluido el destructor) deben llamarse en un único hilo que contenga el contexto de OpenGLES. La versión actual requiere que el ancho y el alto sean múltiplos de 16. Formatos de archivo de video compatibles Windows: Formatos compatibles con Media Foundation, instalar decodificadores adicionales puede admitir más formatos, consulte Supported Media Formats in Media Foundation, no se admite DirectShow Mac: No compatible Android: Formatos compatibles con el sistema, consulte Supported media formats. iOS: Formatos compatibles con el sistema, actualmente no hay documentación de referencia válida

VisionOSARKitCameraDevice

VisionOSARKitCameraDevice implementa un dispositivo de cámara basado en VisionOS ARKit, salida InputFrame (que contiene imágenes, parámetros de la cámara, marca de tiempo, información de posición 6DOF y estado de seguimiento). Después de la creación, se puede llamar a start/stop para iniciar y detener la recopilación de datos de flujo de video. Cuando el dispositivo ya no sea necesario, se puede llamar a close para cerrarlo. No se debe seguir usando después de close. VisionOSARKitCameraDevice salida a través de inputFrameSource InputFrame, debe conectar inputFrameSource a InputFrameSink para su uso. bufferCapacity representa la capacidad del búfer de InputFrame, si hay más de este número de InputFrame salidos de este dispositivo y no liberados, el dispositivo dejará de salir nuevos InputFrame hasta que los anteriores InputFrame sean liberados. Esto puede causar problemas como congelamiento de la pantalla.

XREALCameraDevice

XREALCameraDevice implementa un dispositivo de cámara basado en el plugin XREAL Enterprise Native SDK, que emite InputFrame (no se pueden obtener imágenes, parámetros de la cámara, marcas de tiempo, información de posición 6DOF y estado de seguimiento). Después de la creación, se puede llamar a start/stop para iniciar y detener la recopilación de datos de flujo de video. Es necesario asegurarse de que isDeviceSupported devuelva true antes de llamar a start. Cuando el dispositivo ya no sea necesario, se puede llamar a close para cerrarlo. Después de close, no se debe seguir usando. XREALCameraDevice emite InputFrame a través de inputFrameSource, y se debe conectar inputFrameSource a InputFrameSink para su uso. bufferCapacity indica la capacidad del búfer de InputFrame. Si se emiten desde este dispositivo más InputFrame que esta cantidad y no se liberan, el dispositivo dejará de emitir nuevos InputFrame hasta que se liberen los anteriores. Esto puede causar problemas como congelamiento de la imagen.

Enumeraciones

AndroidCameraApiType
ARCoreCameraDeviceFocusMode
ARCoreDeviceListDownloadStatus
ARKitCameraDeviceFocusMode
BlockPriorMode

Modo de Información de Mapa Previo

CalibrationDownloadStatus
CameraDeviceFocusMode
CameraDevicePreference
CameraDevicePresetProfile
CameraDeviceType

Tipo de dispositivo de cámara.

CameraModelType

Tipo de modelo de cámara.

CameraState
CameraTransformType

Tipo de transformación de la cámara.

CloudLocalizerStatus

Estado de ubicación en la nube.

CloudRecognizationStatus
EngineOperatingSystem
ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API tipo.

MegaLandmarkFilterStatus
MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

Describe la calidad del seguimiento del movimiento del dispositivo.

PermissionStatus
PixelFormat

PixelFormat representa el formato de píxeles de imagen. La dirección de los píxeles en todos los formatos es de izquierda a derecha y de arriba abajo.

PlaneType
RecordProfile
RecordStatus
RecordVideoOrientation
RecordVideoSize
RecordZoomMode
StorageType

StorageType indica la ubicación de almacenamiento de imágenes, archivos JSON, videos u otros archivos. StorageType especifica el directorio raíz para almacenar archivos, y puedes usar rutas relativas a este directorio raíz en todas las interfaces relacionadas.

TargetStatus
ThreeDofCameraDeviceFocusMode
ValidationState
VideoInputFrameRecorderCompletionReason
VideoInputFrameRecorderVideoCodec
VideoStatus
VideoType