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.
- 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.
- 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.
- 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 cambiandoscale.scalees 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.
- 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.
- 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.
- 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
- BlockPriorMode
Modo de Información de Mapa Previo
- CameraDeviceType
Tipo de dispositivo de cámara.
- CameraModelType
Tipo de modelo de cámara.
- CameraTransformType
Tipo de transformación de la cámara.
- CloudLocalizerStatus
Estado de ubicación en la nube.
- MegaApiType
MEGA API tipo.
- MotionTrackingStatus
Describe la calidad del seguimiento del movimiento del dispositivo.
- 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.
- 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.