Table of Contents

Namespace easyar

Classes

Accelerometer

Accelerometer invoca o acelerômetro fornecido pelo sistema e gera AccelerometerResult. Quando o dispositivo não for mais necessário, você pode chamar close para fechá-lo. Após close, não deve continuar a ser usado. Não é recomendado abrir várias vezes ao mesmo tempo, pode ficar inutilizável ou a precisão diminuir.

AccelerometerResult

Leituras do acelerômetro. A direção positiva do eixo x aponta da parte central do dispositivo para a direita da tela. A direção positiva do eixo y aponta da parte central do dispositivo para a parte superior da tela. A direção positiva do eixo z aponta perpendicularmente à tela para fora, a partir do centro do dispositivo. Unidades de x, y, z: m/s². Unidade de timestamp: segundos.

AccelerometerResultSink

Porta de entrada de resultados do acelerômetro. Usado para expor uma porta de entrada de um componente. Todos os membros desta classe são seguros para threads.

AccelerometerResultSource

Porta de saída de resultados do acelerómetro. Usado para expor a porta de saída de um componente. Todos os membros desta classe são thread-safe.

ARCoreCameraDevice

ARCoreCameraDevice implementa um dispositivo de câmera baseado em ARCore, saída InputFrame (contendo imagem, parâmetros da câmera, timestamp, informações de posição 6DOF e estado de rastreamento). Ao usar, primeiro é necessário carregar libarcore_sdk_c.so usando java.lang.System.loadLibrary. Após a criação, pode-se chamar start/stop para iniciar e parar a coleta de dados de fluxo de vídeo. Quando o dispositivo não for mais necessário, pode-se chamar close para fechá-lo. Após close, não deve continuar a ser usado. ARCoreCameraDevice emite InputFrame através de inputFrameSource, inputFrameSource deve ser conectado a InputFrameSink para uso. bufferCapacity indica a capacidade do buffer de InputFrame, se houver mais InputFrame emitidos por este dispositivo do que este número e não forem liberados, o dispositivo não emitirá novos InputFrame até que os anteriores sejam liberados. Isso pode causar problemas como travamento da imagem. Nota: a implementação atual do ARCore(v1.13.0) tem vazamento de memória ao criar e destruir sessões; criação e destruição múltiplas podem levar a um aumento contínuo no uso de memória e não liberar após destruição.

ARCoreDeviceListDownloader

ARCoreDeviceListDownloader é usado para baixar e atualizar a lista de dispositivos e parâmetros de calibração utilizados no ARCoreCameraDevice.

ARKitCameraDevice

ARKitCameraDevice implementa um dispositivo de câmera baseado em ARKit, que emite InputFrame (contendo imagem, parâmetros da câmera, timestamp, informações de posição 6DOF e estado de rastreamento). Após a criação, pode-se chamar start/stop para iniciar e parar a coleta de dados de fluxo de vídeo. Quando o dispositivo não for mais necessário, pode-se chamar close para fechá-lo. Após close, não deve continuar a ser usado. ARKitCameraDevice emite InputFrame através de inputFrameSource, e inputFrameSource deve ser conectado a InputFrameSink para uso. bufferCapacity indica a capacidade do buffer de InputFrame. Se mais do que esse número de InputFrame for emitido por este dispositivo e não for liberado, o dispositivo deixará de emitir novos InputFrame até que os anteriores sejam liberados. Isso pode causar problemas como travamento da imagem.

AttitudeSensor

AttitudeSensor invoca o sensor de atitude fornecido pelo sistema, saída AttitudeSensorResult. Quando o dispositivo não for mais necessário, pode chamar close para fechá-lo. Após close, não deve continuar a usar. Não é recomendado abrir múltiplas vezes simultaneamente, pode ficar inutilizável ou a precisão diminuir.

AttitudeSensorResult

Leitura do sensor de atitude. A direção positiva do eixo x aponta do centro do dispositivo para a direita da tela. A direção positiva do eixo y aponta do centro do dispositivo para a parte superior da tela. A direção positiva do eixo z aponta perpendicularmente para fora da tela, a partir do centro do dispositivo. O dispositivo é girado em torno do eixo (x, y, z) por um ângulo θ. O quaternion de rotação unitário é (cos(θ/2), x*sin(θ/2), y*sin(θ/2), z*sin(θ/2)). (v0, v1, v2, v3) = (cos(θ/2), x*sin(θ/2), y*sin(θ/2), z*sin(θ/2)). O sistema de coordenadas de referência é definido como uma base ortonormal direcionada, onde

Z aponta para o céu e é paralelo ao solo.

(X, Y, Z) forma um sistema de mão direita.

A unidade do timestamp é segundos.

AttitudeSensorResultSink

Porta de entrada para resultados de sensor de atitude. Usado para expor uma porta de entrada de um componente. Todos os membros desta classe são seguros para threads.

AttitudeSensorResultSource

Porta de saída de resultados do sensor de postura. Usada para expor uma porta de saída de componente. Todos os membros desta classe são thread-safe.

BlockInfo

O modelo obtido por reconstrução densa usa uma malha triangular para representação, chamada de mesh. Como a mesh é atualizada frequentemente, para garantir eficiência, a mesh de todo o modelo de reconstrução é dividida em muitos blocos de mesh. Um bloco de mesh consiste em um cubo com aresta de aproximadamente 1 metro, contendo elementos como vértices e índices. BlockInfo é usado para descrever o conteúdo de um bloco de mesh. O índice (x,y,z) é o índice do bloco de mesh; multiplicando (x,y,z) pelo tamanho físico de cada bloco de mesh, obtém-se as coordenadas da origem do bloco de mesh no sistema de coordenadas mundial. É possível filtrar antecipadamente as partes que precisam ser exibidas com base na posição do bloco de mesh no mundo, para economizar tempo de renderização.

BlockPriorResult

Informação de mapa prévio. blockIds são IDs do mapa. mode é a forma como a informação prévia é utilizada pelo sistema, podendo ser soft ou hard. Referência BlockPriorMode.

Buffer

Buffer armazena o array de bytes original, que pode ser usado para acessar dados de imagem. Na API Java, você pode obter o buffer de Image e copiar os dados para um array de bytes Java. Em todas as versões do EasyAR Sense, você pode acessar dados de imagem. Consulte Image.

BufferDictionary

Um mapeamento de caminhos de arquivo para Buffer. Usado para representar vários arquivos colocados na memória.

BufferPool

BufferPool implementa um pool de memória que pode ser usado para funções como acesso personalizado à câmera que requerem alocação repetida de memória do mesmo tamanho, reduzindo o tempo de alocação de memória.

CalibrationDownloader

CalibrationDownloader é usado para baixar atualizações dos parâmetros de calibração utilizados no MotionTracker. Após o download, é necessário re-criar o MotionTracker para que as alterações tenham efeito.

CallbackScheduler

Agendador de callback. Existem duas subclasses DelayedCallbackScheduler e ImmediateCallbackScheduler. Entre elas, DelayedCallbackScheduler é usado para adiar a chamada de retorno até que seja invocada manualmente, podendo ser usado em ambientes de thread única (como vários ambientes de UI). ImmediateCallbackScheduler é usado para executar a chamada de retorno imediatamente, podendo ser usado em ambientes de múltiplas threads (como servidores ou serviços em segundo plano).

CameraDevice

CameraDevice implementa um dispositivo de câmera que produz InputFrame (contendo imagem, parâmetros da câmera e timestamp). Disponível no Windows, Mac, Android e iOS. Após abertura, pode-se chamar start/stop para iniciar e parar a coleta de dados. start/stop não afeta os parâmetros da câmera definidos anteriormente. Quando o dispositivo não for mais necessário, pode-se chamar close para fechá-lo. Após close, não deve continuar a ser usado. CameraDevice produz InputFrame através de inputFrameSource; inputFrameSource deve ser conectado a InputFrameSink para uso. bufferCapacity indica a capacidade do buffer de InputFrame; se mais do que esse número de InputFrame for produzido por este dispositivo e não for liberado, o dispositivo deixará de produzir novos InputFrame até que os anteriores sejam liberados. Isso pode causar problemas como travamento da imagem. No Android, é necessário adicionar a declaração de permissão android.permission.CAMERA no AndroidManifest.xml. No iOS, é necessário adicionar a declaração de permissão NSCameraUsageDescription no Info.plist.

CameraDeviceSelector

Usado para selecionar Camera API no Android (camera1 ou camera2). camera1 tem melhor compatibilidade, mas falta algumas informações necessárias, como timestamp. camera2 tem problemas de compatibilidade em alguns dispositivos. Diferentes opções selecionarão camera1 ou camera2 com base no uso.

CameraParameters

parâmetros da camera,incluindo tamanho da imagem,distância focal,ponto principal,tipo de camera e ângulo de rotação da camera em relação à orientação natural do dispositivo.

CloudLocalizer

CloudLocalizer implementa a função de localização na nuvem.

CloudLocalizerBlockInstance

Instância do bloco localizado pelo CloudLocalizer.

CloudLocalizerResult
CloudRecognizationResult
CloudRecognizer

CloudRecognizer implementa a função de reconhecimento em nuvem. A função de reconhecimento em nuvem requer a criação de uma galeria de reconhecimento em nuvem na nuvem para ser usada, consulte a documentação do EasyAR CRS. Quando o componente não for mais necessário, você pode chamar close para fechá-lo. Não deve continuar a usar após close. Antes de usar o CloudRecognizer, você precisa configurar e preparar um ImageTracker. Qualquer target retornado deve ser carregado manualmente no ImageTracker usando loadTarget antes de ser trackado. Após o carregamento, o reconhecimento e o rastreamento do target são iguais ao uso do target local. Após um target ser reconhecido, você pode obtê-lo do callback e, em seguida, deve usar o target uid para distinguir diferentes targets. O target runtimeID é gerado dinamicamente e não é adequado como identificador único do target no caso de reconhecimento em nuvem.

DelayedCallbackScheduler

Agendador de retorno de chamada atrasado. Usado para adiar retornos de chamada até serem invocados manualmente, pode ser usado em ambientes single-threaded (como vários ambientes de UI). Todos os membros desta classe são thread-safe.

DenseSpatialMap

DenseSpatialMap é utilizado para reconstrução 3D densa e precisa do ambiente, representando o modelo reconstruído através de uma malha triangular, denominada mesh. DenseSpatialMap ocupa 1 buffer de camera.

DeviceAuxiliaryInfo
Engine
EventDumpRecorder

Event Dump Recorder. Usado para salvar algumas informações diagnósticas cruciais em um arquivo EED. Todos os membros desta classe são thread-safe.

FeedbackFrame

Frame de Feedback. Contém um frame de entrada e um frame de saída histórico, usado para componentes de processamento síncrono de feedback como ImageTracker

FeedbackFrameFork

Divisor de Quadro de Feedback. Usado para transmitir um quadro de feedback para múltiplos componentes em paralelo. Todos os membros desta classe são thread-safe.

FeedbackFrameSink

Porta de entrada do quadro de feedback. Usado para expor uma porta de entrada de um componente. Todos os membros desta classe são thread-safe.

FeedbackFrameSource

Porta de saída do quadro de feedback. Usado para expor uma porta de saída de um componente. Todos os membros desta classe são thread-safe.

FrameFilterResult

FrameFilterResult é a classe base para todos os resultados de uso de componentes de algoritmos síncronos.

Gyroscope

O Gyroscope invoca o giroscópio fornecido pelo sistema e gera GyroscopeResult. Quando o dispositivo não é mais necessário, pode-se chamar close para fechá-lo. Após o close, não deve ser usado continuamente. Não é recomendado abrir múltiplas vezes simultaneamente, pois pode ficar inutilizável ou a precisão pode diminuir.

GyroscopeResult

Leituras do giroscópio. A direção positiva do eixo-x vai do centro do dispositivo para a direita da tela. A direção positiva do eixo-y vai do centro do dispositivo para a parte superior da tela. A direção positiva do eixo-z vai do centro do dispositivo perpendicularmente à tela para fora. x, y, z representam a velocidade angular de rotação em torno do eixo correspondente, em unidades de radianos/segundo. A direção positiva da rotação é anti-horária quando vista de um ponto no sentido positivo do eixo em direção ao dispositivo. As unidades do timestamp são segundos.

GyroscopeResultSink

Porto de entrada do resultado do giroscópio. Usado para expor um porto de entrada de um componente. Todos os membros desta classe são seguros para threads.

GyroscopeResultSource

Porta de saída de resultados do giroscópio. Usada para expor a porta de saída de um componente. Todos os membros desta classe são seguros para threads.

Image

Image armazena dados de imagem, usados para representar imagens na memória. Image fornece acesso aos dados brutos por meio de arrays de bytes, e também fornece uma interface para acessar informações como largura/altura. Em todas as versões do EasyAR Sense, você pode acessar os dados de imagem. No iOS, você pode acessar assim

#import <easyar/buffer.oc.h>
#import <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);
}

No 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

Classe auxiliar de imagem.

ImageTarget

ImageTarget representa o target da imagem plana, pode ser rastreado por ImageTracker. Os valores dentro do ImageTarget precisam ser preenchidos primeiro através de métodos como create... antes de poderem ser lidos. E então através de loadTarget carregado com sucesso ImageTracker pode ser detectado e rastreado por ImageTracker.

ImageTargetParameters

ImageTargetParameters representa os parâmetros necessários para criar um ImageTarget.

ImageTracker

ImageTracker implementa a detecção e rastreamento de cartões planos. ImageTracker ocupa (1 + SimultaneousNum) buffers de camera. Deve-se usar setBufferCapacity da camera para definir um número não inferior aos buffers de camera ocupados por todos os componentes. Após a criação, pode-se chamar start/stop para iniciar e parar a execução, start/stop são chamadas muito leves. Quando o componente não for mais necessário, pode-se chamar close para fechá-lo. Não deve ser usado após close. ImageTracker recebe entrada através de feedbackFrameSink para FeedbackFrame, FeedbackFrameSource deve ser conectado a feedbackFrameSink para uso. Antes que Target possa ser rastreado pelo ImageTracker, você precisa carregá-lo através de loadTarget/unloadTarget. Pode-se obter os resultados de load/unload através de callbacks de interface.

ImageTrackerConfig

ImageTracker Criar configuração.

ImageTrackerResult

O resultado de ImageTracker.

ImmediateCallbackScheduler

Agendador de callback imediato. Usado para executar callbacks imediatamente, pode ser usado em ambientes multithread (como servidores ou serviços em segundo plano). Todos os membros desta classe são thread-safe.

InertialCameraDevice

InertialCameraDevice implementa um dispositivo de câmera baseado em inércia de movimento, saída CameraTransformType como FiveDofRotXZ de InputFrame (contendo imagem, parâmetros da câmera, timestamp, matriz de transformação de pose e estado de rastreamento). Após a criação, pode chamar start/stop para iniciar e parar a coleta de dados de fluxo de vídeo. Quando o dispositivo não for mais necessário, pode chamar close para fechá-lo. Após o close, não deve continuar a usá-lo. InertialCameraDevice emite InputFrame através de inputFrameSource, deve conectar inputFrameSource a InputFrameSink para uso. bufferCapacity indica a capacidade do buffer de InputFrame, se mais do que esse número de InputFrame forem emitidos pelo dispositivo e não forem liberados, o dispositivo deixará de emitir novos InputFrame até que os InputFrame anteriores sejam liberados. Isso pode causar problemas como travamento da imagem.

InputFrame

Frame de entrada. Contém imagem, parâmetros da câmera, timestamp, transformação da câmera em relação ao sistema de coordenadas mundial e estado de rastreamento. Entre eles, parâmetros da câmera, timestamp, transformação da câmera em relação ao sistema de coordenadas mundial e estado de rastreamento são opcionais, mas componentes de algoritmo específicos têm requisitos específicos para a entrada.

InputFrameFork

Divisor de Quadros de Entrada. Usado para transmitir um quadro de entrada em paralelo para vários componentes. Todos os membros desta classe são thread-safe.

InputFramePlayer

Reprodutor de quadros de entrada. Possui uma porta de saída de quadro de entrada para extrair quadros de entrada de arquivos EIF. Todos os membros desta classe são thread-safe.

InputFrameRecorder

Gravador de quadros de entrada. Há uma porta de entrada para quadros de entrada e uma porta de saída para quadros de entrada, usada para salvar os quadros de entrada passados em um arquivo EIF. Todos os membros desta classe são seguros para threads.

InputFrameSink

Porta de entrada do quadro de entrada. Utilizada para expor uma porta de entrada de um componente. Todos os membros desta classe são seguros para threads.

InputFrameSource

Porta de saída de frame de entrada. Usado para expor a porta de saída de um componente. Todos os membros desta classe são seguros para threads.

InputFrameThrottler

Controlador de quadro de entrada. Há uma porta de entrada de quadro de entrada e uma porta de saída de quadro de entrada, usadas para bloquear novos quadros de entrada quando o componente de algoritmo não concluiu o processamento do quadro anterior. InputFrameThrottler ocupa 1 buffer de camera. Deve usar o setBufferCapacity da camera para definir um número não inferior ao número de buffers de camera ocupados por todos os componentes. Todos os membros desta classe são seguros para threads. Note que a conexão e desconexão do signalInput não devem ocorrer enquanto há fluxo de dados, caso contrário pode ficar em um estado sem saída. (Recomenda-se concluir a conexão do fluxo de dados antes de iniciar a Camera.)

InputFrameToFeedbackFrameAdapter

Adaptador de InputFrame para FeedbackFrame. Possui uma porta de entrada para input frame, uma porta de entrada para histórico de output frame e uma porta de saída para feedback frame, combinando input frame e histórico de output frame num feedback frame a ser passado para componentes de algoritmo que exigem feedback frame, como ImageTracker. Cada input frame recebido combina-se com o histórico de output frame anterior para formar o feedback frame. Se nenhum histórico de output frame foi recebido, essa parte do feedback frame fica vazia. O InputFrameToFeedbackFrameAdapter ocupa 1 buffer da câmera. Configure a capacidade do buffer via camera.setBufferCapacity para no mínimo a soma dos buffers ocupados por todos os componentes. Todos os membros desta classe são thread-safe.

InputFrameToOutputFrameAdapter

Adaptador de quadro de entrada para quadro de saída. Há uma porta de entrada de quadro de entrada e uma porta de saída de quadro de saída, usado para encapsular o quadro de entrada em um quadro de saída, implementando a função de renderização direta sem conectar componentes algorítmicos. Todos os membros desta classe são seguros para threads.

JniUtility

Classe de ferramentas JNI. Usado para empacotar arrays e ByteBuffer do Java no Unity. Não suporta a plataforma iOS.

LocationResult

Leitura de posição. latitude e longitude em graus. altitude em metros. horizontalAccuracy é a precisão horizontal, em metros. verticalAccuracy é a precisão na direção gravitacional, em metros.

LocationResultSink

Porta de entrada de resultados de posição. Usado para expor uma porta de entrada de um componente. Todos os membros desta classe são thread-safe.

LocationResultSource

Porta de saída de resultados de posição. Usado para expor uma porta de saída de um componente. Todos os membros desta classe são thread-safe.

Log

Classe de log. Usada para registrar logs ou definir funções personalizadas de saída de log.

Magnetometer

Magnetometer chama o magnetómetro fornecido pelo sistema, saída MagnetometerResult. Quando o dispositivo não for mais necessário, pode chamar close para fechá-lo. Não deve continuar a ser usado após close. Não é recomendado abrir várias vezes ao mesmo tempo, pode ficar inutilizável ou a precisão diminuir.

MagnetometerResult

Leituras do magnetómetro. O sentido positivo do eixo x aponta do centro do dispositivo para a direita do ecrã. O sentido positivo do eixo y aponta do centro do dispositivo para a parte superior do ecrã. O sentido positivo do eixo z aponta perpendicularmente para fora do ecrã, a partir do centro do dispositivo. As unidades de x, y, z são microtesla (uT). A unidade de timestamp é segundos.

MagnetometerResultSink

Porta de entrada do resultado do magnetômetro. Usado para expor uma porta de entrada de um componente. Todos os membros desta classe são seguros para threads.

MagnetometerResultSource

Porta de saída de resultados do magnetômetro. Usado para expor uma porta de saída de componente. Todos os membros desta classe são seguros-para-threads.

Matrix33F

Matriz quadrada de terceira ordem. A disposição dos dados é row-major.

Matrix44F

Matriz quadrada de quarta ordem. Os dados são organizados em row-major.

MegaLandmarkFilter

MegaLandmarkFilter implementa a função de filtragem de posicionamento em nuvem VPS.

MegaLandmarkFilterResult
MegaTracker

Fornece funcionalidade de localização em nuvem. O MegaTracker ocupa um buffer da câmera.

MegaTrackerBlockInstance

Instância do bloco localizado pelo MegaTracker.

MegaTrackerLocalizationResponse

Resposta ao pedido de localização do MegaTracker.

MegaTrackerResult

A saída do MegaTracker é atualizada na frequência do OutputFrame.

MotionInputData

Dados de entrada de movimento. Inclui timestamp, transformação relativa ao sistema de coordenadas global e estado de rastreamento.

MotionTrackerCameraDevice

MotionTrackerCameraDevice implementa um dispositivo de câmera com rastreamento de movimento 6DOF em escala real, produzindo InputFrame (contendo imagem, parâmetros da câmera, timestamp, informações de posição 6DOF e estado de rastreamento). Após a criação, chame start/stop para iniciar e parar o fluxo de dados. Quando o dispositivo não for mais necessário, chame close para encerrá-lo. Após o close, não deve continuar a ser usado. MotionTrackerCameraDevice produz InputFrame através do inputFrameSource, que deve ser conectado a um InputFrameSink para uso.

ObjectTarget

ObjectTarget representa um alvo de objeto 3D, que pode ser rastreado pelo ObjectTracker. O tamanho do ObjectTarget é determinado pelo arquivo obj. O tamanho pode ser modificado ajustando a escala. O valor padrão de escala é 1. Após ser carregado com sucesso no ObjectTracker via loadTarget, o ObjectTarget pode ser detectado e rastreado pelo ObjectTracker.

ObjectTargetParameters

ObjectTargetParameters representa os parâmetros necessários para criar ObjectTarget.

ObjectTracker

ObjectTracker implementa a detecção e rastreamento de alvos de objetos 3D. ObjectTracker ocupa (1 + SimultaneousNum) buffers de câmera. Deve usar setBufferCapacity da câmera para definir não menos do que o número de buffers de câmera ocupados por todos os componentes. Após a criação, você pode chamar start/stop para iniciar e parar a execução, start/stop são chamadas muito leves. Quando o componente não for mais necessário, você pode chamar close para fechá-lo. Após close, não deve continuar a usar. ObjectTracker recebe entrada através de feedbackFrameSink FeedbackFrame, deve conectar FeedbackFrameSource ao feedbackFrameSink para uso. Antes que Target possa ser rastreado pelo ObjectTracker, você precisa carregá-lo através de loadTarget/unloadTarget. Você pode obter os resultados de load/unload através de callbacks passados pela interface.

ObjectTrackerResult

Resultado do ObjectTracker.

OutputFrame

Quadro de saída. Contém o quadro de entrada e os resultados de saída do componente de processamento sincronizado.

OutputFrameBuffer

Buffer de frame de saída. Possui uma porta de entrada de frame de saída e uma função de obtenção para transformar a aquisição assíncrona em polling síncrono, adequado para renderização frame a frame. O OutputFrameBuffer ocupa 1 buffer da câmera. Use setBufferCapacity da câmera para definir um valor não inferior ao total de buffers ocupados por todos os componentes. Todos os membros desta classe são thread-safe.

OutputFrameFork

Divisor de quadro de saída. Usado para transmitir um quadro de saída em paralelo para vários componentes. Todos os membros desta classe são seguros para threads.

OutputFrameJoin

Combinador de Quadros de Saída. Usado para combinar quadros de saída de vários componentes em um único quadro de saída. Todos os membros desta classe são seguros para threads. É importante notar que a conexão e desconexão de múltiplas entradas não devem ocorrer enquanto há fluxo de dados, caso contrário, pode ficar incapaz de saída. (Recomenda-se completar as conexões do fluxo de dados antes de iniciar a Câmera.)

OutputFrameSink

Porta de saída do frame de entrada. Usado para expor a porta de entrada de um componente. Todos os membros desta classe são thread-safe.

OutputFrameSource

Porta de saída do quadro de saída. Usado para expor a porta de saída de um componente. Todos os membros desta classe são thread-safe.

PlaneData
PoseUtility
ProximityLocationResult

Leituras de proximidade. x, y, z em metros. Origem é a origem do tile. y para cima. Precisão em metros. timestamp, validTime em segundos. is2d indica se y não é utilizado.

ProximityLocationResultSink

Porta de entrada para resultados de localização próxima. Usado para expor uma porta de entrada de um componente. Todos os membros desta classe são thread-safe.

ProximityLocationResultSource

Porta de saída para resultados de posição próxima. Usado para expor a porta de saída de um componente. Todos os membros desta classe são thread-safe.

Recorder

O Recorder implementa a funcionalidade de gravação de tela para o ambiente de renderização atual. Atualmente, o Recorder funciona apenas em ambientes Android (4.3 ou superior) e iOS com OpenGL ES 3.0. Devido à dependência do OpenGLES, todas as funções desta classe (exceto requestPermissions, incluindo o destruidor) devem ser chamadas em uma única thread que contenha um contexto OpenGLES. Apenas Unity No Unity, se a função Multi-threaded rendering estiver ativa, a thread do script será separada da thread de renderização, impossibilitando a chamada de updateFrame na thread de renderização. Portanto, se necessário usar a gravação de tela, desative a função Multi-threaded rendering. Para uso no Android, é necessária a declaração da permissão android.permission.RECORD_AUDIO no AndroidManifest.xml. Para uso no iOS, é necessária a declaração da permissão NSMicrophoneUsageDescription no Info.plist.

RecorderConfiguration

RecorderConfiguration é a configuração de inicialização para Recorder.

SceneMesh
SignalSink

Porta de entrada de sinal. Usada para expor uma porta de entrada de um componente. Todos os membros desta classe são seguros para threads.

SignalSource

Porta de saída de sinal. Usada para expor a porta de saída de um componente. Todos os membros desta classe são thread-safe.

SparseSpatialMap

Fornece as principais funções do sistema SparseSpatialMap, incluindo geração e armazenamento de mapas, carregamento e localização de mapas, além de obter informações ambientais como nuvem de pontos, planos e realizar hit Test. SparseSpatialMap ocupa 2 buffers de camera. Use setBufferCapacity da camera para configurar um número não inferior ao total de buffers de camera ocupados por todos os componentes.

SparseSpatialMapConfig

Usado para configurar a estratégia de localização no mapeamento esparso.

SparseSpatialMapManager

Classe de gerenciamento SparseSpatialMap, usada para gerenciar a função de compartilhamento do SparseSpatialMap.

SparseSpatialMapResult

Obter a saída do sistema de mapeamento esparso e localização, atualizada na frequência do OutputFrame.

Storage
SurfaceTracker

O SurfaceTracker implementa o rastreamento de superfícies ambientais. O SurfaceTracker ocupa 1 buffer de câmera. Deve usar o setBufferCapacity da câmera para definir um número não inferior ao buffer de câmera ocupado por todos os componentes. Após a criação, pode chamar start/stop para iniciar e parar a execução, start/stop são chamadas muito leves. Quando o componente não for mais necessário, pode chamar close para fechá-lo. Após o close, não deve continuar a usar. O SurfaceTracker recebe entrada através do inputFrameSink InputFrame, deve conectar InputFrameSource ao inputFrameSink para uso.

SurfaceTrackerResult

Resultado de SurfaceTracker.

Target

Target é a classe base para todos os alvos no EasyAR que podem ser rastreados pelo ImageTracker ou outros algoritmos.

TargetInstance

TargetInstance é o alvo rastreado pelo tracker. TargetInstance inclui o original Target que foi rastreado e este Target estado e pose atuais.

TargetTrackerResult

TargetTrackerResult é a classe base de ImageTrackerResult e ObjectTrackerResult.

TextureId

TextureId encapsula o objeto de textura na API gráfica. Onde, OpenGL/OpenGLES deve usar getInt e fromInt, e Direct3D deve usar getPointer e fromPointer.

ThreeDofCameraDevice

ThreeDofCameraDevice implementa um dispositivo de câmera de three dof, que produz CameraTransformType como ThreeDofRotOnly InputFrame (contendo imagem, parâmetros da câmera, timestamp, matriz de transformação de pose e estado de rastreamento). Após a criação, pode-se chamar start/stop para iniciar e parar a coleta de dados de fluxo de vídeo. Quando o dispositivo não for mais necessário, pode-se chamar close para fechá-lo. Após close, não deve continuar a ser usado. ThreeDofCameraDevice produz InputFrame através de inputFrameSource, e inputFrameSource deve ser conectado a InputFrameSink para uso. bufferCapacity indica a capacidade do buffer de InputFrame; se mais do que esse número de InputFrame for produzido pelo dispositivo e não for liberado, o dispositivo deixará de produzir novos InputFrame até que os anteriores sejam liberados. Isso pode causar problemas como travamento da imagem.

Vec2F

vetor float bidimensional.

Vec2I

Vetor int bidimensional.

Vec3D

vetor double tridimensional.

Vec3F

vetor float 3D.

Vec4F

Vetor float 4-dimensional.

Vec4I

Vetor int de quatro dimensões.

VideoInputFramePlayer

Player de frames de entrada. Tem uma porta de saída de frames de entrada, usada para extrair frames de entrada de arquivos EIF MKV. Todos os membros desta classe são seguros para threads.

VideoInputFrameRecorder

Gravador de quadros de entrada. Há uma porta de entrada e uma porta de saída para quadros de entrada, usadas para salvar os quadros de entrada passados em um arquivo EIF MKV. Todos os membros desta classe são seguros para threads.

VideoPlayer

VideoPlayer é a classe de reprodução de vídeo. EasyAR suporta reprodução de vídeo comum, vídeo transparente e streaming. O conteúdo do vídeo será renderizado na textura passada para setRenderTexture. Esta classe só suporta texturas do OpenGLES 3.0. Devido à dependência do OpenGLES, todas as funções desta classe (incluindo o destrutor) devem ser chamadas em um único thread que contenha o contexto OpenGLES. A versão atual exige que largura e altura sejam múltiplos de 16. Formatos de arquivo de vídeo suportados Windows: Formatos compatíveis com Media Foundation, instalar decodificadores adicionais pode suportar mais formatos, consulte Supported Media Formats in Media Foundation, não suporta DirectShow Mac: Não suportado Android: Formatos suportados pelo sistema, consulte Supported media formats. iOS: Formatos suportados pelo sistema, atualmente não há documentação de referência válida

VisionOSARKitCameraDevice

VisionOSARKitCameraDevice implementa um dispositivo de câmera baseado em VisionOS ARKit, que produz InputFrame (contendo imagem, parâmetros da câmera, timestamp, informações de posição 6DOF e status de rastreamento). Após a criação, pode chamar start/stop para iniciar e parar a coleta de dados de fluxo de vídeo. Quando o dispositivo não for mais necessário, pode chamar close para fechá-lo. Após close, não deve continuar a ser usado. VisionOSARKitCameraDevice produz InputFrame através de inputFrameSource, e inputFrameSource deve ser conectado a InputFrameSink para uso. bufferCapacity indica a capacidade do buffer de InputFrame; se mais do que esse número de InputFrame forem produzidos por este dispositivo e não forem liberados, o dispositivo deixará de produzir novos InputFrame até que os anteriores sejam liberados. Isso pode causar problemas como travamento da imagem.

XREALCameraDevice

XREALCameraDevice implementa um dispositivo de câmera baseado no XREAL Enterprise Native SDK Plugin, que produz InputFrame (não é possível obter imagens, parâmetros da câmera, carimbos de data e hora, informações de posição 6DOF e estado de rastreamento). Após a criação, pode-se chamar start/stop para iniciar e parar a coleta de dados de fluxo de vídeo. É necessário garantir que isDeviceSupported retorne true antes de chamar start. Quando o dispositivo não for mais necessário, pode-se chamar close para fechá-lo. Após close, não deve ser usado continuamente. XREALCameraDevice produz InputFrame através de inputFrameSource, inputFrameSource deve ser conectado a InputFrameSink para uso. bufferCapacity indica a capacidade do buffer de InputFrame, se mais do que este número de InputFrame for produzido por este dispositivo e não for liberado, o dispositivo não produzirá novos InputFrame até que os anteriores sejam liberados. Isso pode causar problemas como travamento da imagem.

Enumerações

AndroidCameraApiType
ARCoreCameraDeviceFocusMode
ARCoreDeviceListDownloadStatus
ARKitCameraDeviceFocusMode
BlockPriorMode

modo de trabalho de informação de mapa a priori

CalibrationDownloadStatus
CameraDeviceFocusMode
CameraDevicePreference
CameraDevicePresetProfile
CameraDeviceType

Tipo de dispositivo de câmera.

CameraModelType

Tipo de modelo de câmara.

CameraState
CameraTransformType

Tipo de transformação da câmera.

CloudLocalizerStatus

Status de localização na nuvem.

CloudRecognizationStatus
EngineOperatingSystem
ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API tipo.

MegaLandmarkFilterStatus
MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

Descreve a qualidade do rastreamento de movimento do dispositivo.

PermissionStatus
PixelFormat

PixelFormat representa o formato de pixel da imagem. A direção dos pixels em todos os formatos é da esquerda para a direita, de cima para baixo.

PlaneType
RecordProfile
RecordStatus
RecordVideoOrientation
RecordVideoSize
RecordZoomMode
StorageType

StorageType indica a localização de armazenamento de imagens, arquivos json, vídeos ou outros arquivos. StorageType especifica o diretório raiz onde os arquivos são armazenados. Você pode usar caminhos relativos a este diretório raiz em todas as interfaces relacionadas.

TargetStatus
ThreeDofCameraDeviceFocusMode
ValidationState
VideoInputFrameRecorderCompletionReason
VideoInputFrameRecorderVideoCodec
VideoStatus
VideoType