Table of Contents

Namespace easyar

Классы

Accelerometer

Accelerometer вызывает системный акселерометр, выводит AccelerometerResult. Когда устройство больше не нужно, вызовите close для его закрытия. После close использование недопустимо. Не рекомендуется открывать его многократно одновременно — это может привести к неработоспособности или снижению точности.

AccelerometerResult

Показания акселерометра. Положительное направление оси x от центра устройства к правой части экрана. Положительное направление оси y от центра устройства к верхней части экрана. Положительное направление оси z от центра устройства перпендикулярно экрану наружу. Единицы измерения x,y,z — м/с². Единица измерения временной метки — секунды.

AccelerometerResultSink

Входной порт для результатов акселерометра. Используется для предоставления входного порта компонента. Все члены этого класса потокобезопасны.

AccelerometerResultSource

Выходной порт результатов акселерометра. Используется для предоставления выходного порта компонента. Все члены этого класса потокобезопасны.

ARCoreCameraDevice

ARCoreCameraDevice реализует камеру на основе ARCore, выводит InputFrame (включая изображение, параметры камеры, метку времени, информацию о положении 6DOF и состояние отслеживания). При использовании необходимо сначала загрузить libarcore_sdk_c.so с помощью java.lang.System.loadLibrary. После создания можно вызывать start/stop для начала и остановки сбора данных видеопотока. Когда устройство больше не нужно, можно вызвать close для его закрытия. После close не следует продолжать использование. ARCoreCameraDevice выводит InputFrame через inputFrameSource, inputFrameSource следует подключить к InputFrameSink для использования. bufferCapacity обозначает ёмкость буфера InputFrame, если с устройства выводится больше этого количества InputFrame и они не освобождены, устройство перестанет выводить новые InputFrame до тех пор, пока предыдущие InputFrame не будут освобождены. Это может вызвать проблемы, такие как зависание изображения. Примечание: текущая реализация ARCore (v1.13.0) имеет утечку памяти при создании и уничтожении сессии; многократное создание и уничтожение может привести к постоянному росту использования памяти, и память не освобождается после уничтожения.

ARCoreDeviceListDownloader

ARCoreDeviceListDownloader используется для загрузки обновлений калибровочных параметров списка устройств, используемых в ARCoreCameraDevice.

ARKitCameraDevice

ARKitCameraDevice реализует камеру на основе ARKit, выводящую InputFrame (содержит изображение, параметры камеры, временную метку, 6DOF-позиционирование и статус отслеживания). После создания можно вызывать start/stop для запуска и остановки сбора видеопотока. Когда устройство больше не нужно, вызовите close для его закрытия. После close использовать его не следует. ARKitCameraDevice выводит InputFrame через inputFrameSource, который следует подключить к InputFrameSink для использования. bufferCapacity указывает ёмкость буфера для InputFrame. Если устройство выводит больше кадров, чем это значение, и они не освобождены, новые InputFrame перестанут выводиться до освобождения предыдущих. Это может вызвать зависание изображения.

AttitudeSensor

AttitudeSensor использует предоставленный системой датчик положения, выводящий AttitudeSensorResult. Когда устройство больше не нужно, вызовите close для его закрытия. После close использование не рекомендуется. Не рекомендуется открывать одновременно несколько раз, это может привести к неработоспособности или снижению точности.

AttitudeSensorResult

Показания датчика положения. Положительное направление оси x направлено от центра устройства к правой части экрана. Положительное направление оси y направлено от центра устройства к верхней части экрана. Положительное направление оси z направлено от центра устройства перпендикулярно экрану наружу. Устройство повернуто на угол θ вокруг осей (x, y, z). Единичный кватернион поворота: (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)). Опорная система координат определена как набор направленных ортонормированных базисных векторов, где:

Z направлен в небо, параллельно земле.

(X, Y, Z) образуют правую систему.

Единица измерения временной метки (timestamp) — секунды.

AttitudeSensorResultSink

Входной порт результатов датчика ориентации. Используется для предоставления входного порта компонента. Все члены этого класса потокобезопасны.

AttitudeSensorResultSource

Выходной порт результатов датчика ориентации. Используется для предоставления выходного порта компонента. Все члены этого класса являются потокобезопасными.

BlockInfo

Модель, полученная в результате плотной реконструкции, представлена в виде триангуляционной сетки, называемой mesh. Поскольку mesh часто обновляется, для обеспечения эффективности вся сетка модели реконструкции разделена на множество mesh block. Каждый mesh block представляет собой куб со стороной примерно в 1 метр, содержащий элементы вроде vertex и index. BlockInfo описывает содержимое mesh block. Здесь (x,y,z) — это индексы mesh block. Умножив (x,y,z) на физический размер каждого mesh block, можно получить координаты начала этого блока в мировой системе координат. Это позволяет заранее отфильтровывать необходимые для отображения части на основе положения mesh block в мире, экономя время рендеринга.

BlockPriorResult

Априорная информация карты. blockIds — это идентификатор карты. mode — это режим, в котором априорная информация используется системой, который может быть soft или hard. Ссылка на BlockPriorMode.

Buffer

Buffer хранит сырые байтовые массивы и может использоваться для доступа к данным изображения. В Java API можно получить buffer из Image и скопировать данные в Java-байтовый массив. Во всех версиях EasyAR Sense вы можете получить доступ к данным изображения. См. Image.

BufferDictionary

Отображение пути файла в Buffer. Используется для представления нескольких файлов, размещенных в памяти.

BufferPool

BufferPool реализует пул памяти, который может использоваться для пользовательских функций, таких как подключение камеры, требующих многократного выделения памяти одинакового размера, сокращая время выделения памяти.

CalibrationDownloader

CalibrationDownloader используется для загрузки обновлений калибровочных параметров, используемых в MotionTracker. После загрузки необходимо пересоздать MotionTracker, чтобы изменения вступили в силу.

CallbackScheduler

Планировщик обратных вызовов. Имеет два подкласса: DelayedCallbackScheduler и ImmediateCallbackScheduler. DelayedCallbackScheduler используется для отложенного вызова обратных вызовов до момента их ручного запуска, может использоваться в однопоточной среде (например, в различных UI-средах). ImmediateCallbackScheduler используется для немедленного выполнения обратных вызовов, может использоваться в многопоточной среде (например, на серверах или в фоновых службах).

CameraDevice

CameraDevice реализует устройство камеры, которое выводит InputFrame (содержит изображение, параметры камеры и временную метку). Доступно на Windows, Mac, Android и iOS. После открытия можно вызывать start/stop для начала и остановки сбора данных. start/stop не влияют на ранее установленные параметры камеры. Когда устройство больше не нужно, можно вызвать close для его закрытия. После close не следует продолжать использовать. CameraDevice выводит InputFrame через inputFrameSource, inputFrameSource следует подключить к InputFrameSink для использования. bufferCapacity обозначает ёмкость буфера InputFrame, если количество InputFrame, выведенных из этого устройства и не освобожденных, превышает это число, устройство перестанет выводить новые InputFrame, пока предыдущие InputFrame не будут освобождены. Это может вызвать проблемы, такие как зависание изображения. При использовании на Android необходимо добавить объявление разрешения android.permission.CAMERA в AndroidManifest.xml. При использовании на iOS необходимо добавить объявление разрешения NSCameraUsageDescription в Info.plist.

CameraDeviceSelector

Для выбора Camera API на Android (camera1 или camera2). camera1 имеет лучшую совместимость, но не хватает некоторой необходимой информации, такой как временная метка. camera2 имеет проблемы совместимости на некоторых устройствах. Различные варианты будут выбирать camera1 или camera2 в зависимости от цели.

CameraParameters

Параметры камеры, включая размер изображения, фокусное расстояние, главную точку, тип камеры и угол поворота камеры относительно естественной ориентации устройства.

CloudLocalizer

CloudLocalizer реализует функцию облачной локализации.

CloudLocalizerBlockInstance

Экземпляр блока, обнаруженный CloudLocalizer.

CloudLocalizerResult
CloudRecognizationResult
CloudRecognizer

CloudRecognizer реализует функцию облачного распознавания. Для использования функции облачного распознавания необходимо создать облачную галерею распознавания в облаке. Пожалуйста, обратитесь к документации EasyAR CRS. Когда компонент больше не нужен, вызовите close для его закрытия. После закрытия (close) использование не следует продолжать. Перед использованием CloudRecognizer необходимо настроить и подготовить ImageTracker. Любой возвращённый target перед отслеживанием (track) должен быть вручную загружен в ImageTracker с помощью loadTarget. После загрузки распознавание и отслеживание target происходит так же, как и с локальными target. После распознавания target вы можете получить его из обратного вызова, затем вам следует использовать uid target для различения разных target. runtimeID target генерируется динамически и не подходит для уникального различения target в случае облачного распознавания.

DelayedCallbackScheduler

Планировщик отложенных обратных вызовов. Используется для откладывания обратных вызовов до момента ручного вызова, может использоваться в однопоточных средах (например, в различных UI средах). Все члены этого класса потокобезопасны.

DenseSpatialMap

DenseSpatialMap используется для точного трехмерного плотного восстановления окружающей среды, его восстановленная модель представлена треугольной сеткой, называемой mesh. DenseSpatialMap занимает буфер одной камеры.

DeviceAuxiliaryInfo
Engine
EventDumpRecorder

Регистратор дампа событий. Используется для сохранения ключевой диагностической информации в файл EED. Все члены этого класса потокобезопасны.

FeedbackFrame

Кадр обратной связи. Содержит входной кадр и исторический выходной кадр, используемый реактивными компонентами синхронной обработки, такими как ImageTracker.

FeedbackFrameFork

Демультиплексор кадров обратной связи. Предназначен для параллельной передачи одного кадра обратной связи нескольким компонентам. Все члены этого класса потокобезопасны.

FeedbackFrameSink

Порт ввода кадра обратной связи. Используется для предоставления входного порта компонента. Все члены этого класса являются потокобезопасными.

FeedbackFrameSource

Порт вывода кадра обратной связи. Используется для вывода выходного порта компонента. Все члены этого класса потокобезопасны.

FrameFilterResult

FrameFilterResult является базовым классом для всех результатов компонентов синхронных алгоритмов.

Gyroscope

Gyroscope вызывает предоставленный системой гироскоп, выводит GyroscopeResult. Когда устройство больше не нужно, можно вызвать close для его закрытия. После close не следует продолжать использовать. Не рекомендуется открывать несколько раз одновременно, может стать недоступным или снизится точность.

GyroscopeResult

Показания гироскопа. Положительное направление оси x — от центра устройства к правой части экрана. Положительное направление оси y — от центра устройства к верхней части экрана. Положительное направление оси z — от центра устройства перпендикулярно экрану наружу. x, y, z представляют угловую скорость вращения вокруг соответствующей оси, единица измерения — радиан/секунда. Положительное направление вращения — против часовой стрелки, если смотреть на устройство с направления положительной полуоси соответствующей координатной оси. Единица измерения timestamp — секунды.

GyroscopeResultSink

Входной порт для результатов гироскопа. Используется для предоставления входного порта компонента. Все члены этого класса потокобезопасны.

GyroscopeResultSource

Выходной порт гироскопа. Используется для предоставления выходного порта компонента. Все члены этого класса потокобезопасны.

Image

Image хранит данные изображения, представляя изображение в памяти. Он предоставляет доступ к исходным данным через массив байтов, а также интерфейсы для получения информации, такой как ширина/высота. Во всех версиях EasyAR Sense вы можете получить доступ к данным изображения. В iOS доступ можно получить так:

#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);
}

В 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

Класс помощника изображений.

ImageTarget

ImageTarget представляет собой цель в виде плоского изображения, которую можно отслеживать с помощью ImageTracker. Значения внутри ImageTarget должны быть заполнены через методы create... перед чтением. После успешной загрузки в ImageTracker через loadTarget, цель может быть обнаружена и отслежена ImageTracker.

ImageTargetParameters

ImageTargetParameters представляет параметры, необходимые для создания ImageTarget.

ImageTracker

ImageTracker обеспечивает обнаружение и отслеживание плоских карт. ImageTracker занимает (1 + SimultaneousNum) буферов камеры. Используйте setBufferCapacity камеры для установки значения не меньше, чем общее количество буферов камеры, занимаемых всеми компонентами. После создания можно вызывать start/stop для запуска и остановки работы; start/stop - это очень легковесные вызовы. Когда компонент больше не нужен, вызовите close для его закрытия. После close не следует продолжать использование. ImageTracker получает FeedbackFrame через feedbackFrameSink. FeedbackFrameSource должен быть подключен к feedbackFrameSink для использования. Прежде чем Target сможет быть отслежен ImageTracker, его необходимо загрузить через loadTarget/unloadTarget. Результат загрузки/выгрузки можно получить через callback, передаваемый в интерфейс.

ImageTrackerConfig

ImageTracker создать конфигурацию.

ImageTrackerResult

ImageTracker результат.

ImmediateCallbackScheduler

Немедленный планировщик обратных вызовов. Используется для немедленного выполнения обратных вызовов, может использоваться в многопоточных средах (например, серверах или фоновых службах). Все члены этого класса потокобезопасны.

InertialCameraDevice

InertialCameraDevice реализует камеру на основе инерции движения, выводящую InputFrame (содержащий изображение, параметры камеры, временную метку, матрицу преобразования позы и статус отслеживания) с CameraTransformType равным FiveDofRotXZ. После создания можно вызывать start/stop для запуска и остановки сбора данных видеопотока. Когда устройство больше не нужно, вызовите close для его закрытия. После close не следует продолжать использование. InertialCameraDevice выводит InputFrame через inputFrameSource; inputFrameSource следует подключить к InputFrameSink для использования. bufferCapacity обозначает емкость буфера InputFrame. Если с устройства выводится большее количество InputFrame, чем это значение, и они не освобождены, устройство перестанет выводить новые InputFrame, пока предыдущие не будут освобождены. Это может вызвать проблемы, такие как зависание изображения.

InputFrame

Входной кадр. Содержит изображение, параметры камеры, временную метку, преобразование камеры относительно мировой системы координат и состояние отслеживания. Параметры камеры, временная метка, преобразование камеры и состояние отслеживания являются необязательными, но определенные алгоритмические компоненты могут иметь особые требования к входным данным.

InputFrameFork

Входной разделитель кадров. Используется для параллельной передачи одного входного кадра в несколько компонентов. Все члены этого класса потокобезопасны.

InputFramePlayer

Входной кадровый проигрыватель. Есть выходной порт входного кадра, который используется для извлечения входных кадров из файла EIF. Все члены этого класса потокобезопасны.

InputFrameRecorder

Входной рекордер кадров. Имеет входной порт для входных кадров и выходной порт для входных кадров, используется для сохранения проходящих входных кадров в файл EIF. Все члены этого класса потокобезопасны.

InputFrameSink

Входной порт входного кадра. Используется для раскрытия входных портов компонента. Все члены этого класса являются потокобезопасными.

InputFrameSource

Выходной порт входного кадра. Используется для предоставления выходного порта компонента. Все члены этого класса потокобезопасны.

InputFrameThrottler

Входной ограничитель кадров. Имеет входной порт для входных кадров и выходной порт для входных кадров, предназначенный для блокировки новых входных кадров от попадания в алгоритмический компонент, пока тот не завершит обработку данных предыдущего кадра. InputFrameThrottler занимает 1 буфер камеры. Используйте camera.setBufferCapacity для установки емкости буфера не менее суммарного количества буферов камеры, занимаемого всеми компонентами. Все члены данного класса потокобезопасны. Важно: подключение и отключение signalInput не должны выполняться одновременно с потоком данных, иначе может возникнуть состояние невозможности вывода. (Рекомендуется завершать подключение потока данных до запуска Камеры.)

InputFrameToFeedbackFrameAdapter

Адаптер входного кадра в кадр обратной связи. Имеет входной порт для входного кадра, входной порт для исторического выходного кадра и выходной порт для кадра обратной связи. Предназначен для объединения входного кадра и исторического выходного кадра в кадр обратной связи, передаваемый алгоритмическим компонентам, требующим ввода кадра обратной связи, например ImageTracker. При каждом поступлении входного кадра он объединяется с последним доступным историческим выходным кадром в кадр обратной связи. Если исторический выходной кадр отсутствует, соответствующий раздел в кадре обратной связи будет пустым. InputFrameToFeedbackFrameAdapter занимает 1 буфер камеры. Необходимо установить setBufferCapacity камеры не менее, чем общее количество буферов камеры, занимаемых всеми компонентами. Все члены данного класса потокобезопасны.

InputFrameToOutputFrameAdapter

Адаптер входного кадра к выходному кадру. Имеет входной порт для входного кадра и выходной порт для выходного кадра. Предназначен для обертывания входного кадра в выходной кадр, обеспечивая возможность рендеринга без подключения алгоритмических компонентов. Все члены данного класса потокобезопасны.

JniUtility

JNI-утилита. Оборачивает массивы Java и ByteBuffer в Unity. Не поддерживается на платформе iOS.

LocationResult

Показания местоположения. latitude, longitude в градусах. altitude в метрах. horizontalAccuracy — точность по горизонтали в метрах. verticalAccuracy — точность по вертикали в метрах.

LocationResultSink

Порт ввода результатов позиционирования. Используется для предоставления входного порта компонента. Все члены этого класса являются потокобезопасными.

LocationResultSource

Порт вывода результатов положения。 Используется для экспонирования выходного порта компонента。 Все члены этого класса потокобезопасны。

Log

Класс журнала. Используется для вывода журнала или настройки пользовательской функции вывода журнала.

Magnetometer

Magnetometer вызывает встроенный магнитометр системы, выводит MagnetometerResult. Когда устройство больше не нужно, можно вызвать close, чтобы его закрыть. После close не следует продолжать использовать. Не рекомендуется открывать одновременно несколько раз, это может привести к невозможности использования или снижению точности.

MagnetometerResult

Показания магнитометра. Положительное направление оси x: от центра устройства к правой части экрана. Положительное направление оси y: от центра устройства к верхней части экрана. Положительное направление оси z: от центра устройства перпендикулярно экрану наружу. Единицы измерения x, y, z: uT (микротесла). Единица измерения времени: секунды.

MagnetometerResultSink

Порт ввода результатов магнитометра. Используется для раскрытия входного порта компонента. Все члены этого класса потокобезопасны.

MagnetometerResultSource

Выходной порт результатов магнитометра. Используется для предоставления выходного порта компонента. Все члены этого класса потокобезопасны.

Matrix33F

Матрица третьего порядка. Данные расположены в порядке строк.

Matrix44F

Квадратная матрица четвёртого порядка. Расположение данных — по строкам.

MegaLandmarkFilter

MegaLandmarkFilter реализует функцию фильтрации облачного позиционирования VPS.

MegaLandmarkFilterResult
MegaTracker

Предоставляет функцию облачного позиционирования. MegaTracker занимает 1 буфер камеры.

MegaTrackerBlockInstance

Экземпляр блока, обнаруженный MegaTracker.

MegaTrackerLocalizationResponse

Ответ на запрос позиционирования MegaTracker.

MegaTrackerResult

Выход MegaTracker обновляется с частотой OutputFrame.

MotionInputData

Входные данные движения. Содержит метку времени, преобразование относительно мировой системы координат и состояние отслеживания.

MotionTrackerCameraDevice

MotionTrackerCameraDevice реализует камеру с 6DOF-отслеживанием движения в реальном масштабе, которая выводит InputFrame (содержит изображение, параметры камеры, временную метку, 6DOF-позицию и статус отслеживания). После создания можно вызвать start/stop для запуска и остановки потока данных. Когда устройство больше не нужно, вызовите close для его закрытия. После close использовать его не следует. MotionTrackerCameraDevice выводит InputFrame через inputFrameSource; inputFrameSource следует подключить к InputFrameSink для использования.

ObjectTarget

ObjectTarget представляет цель 3D-объекта, которую можно отслеживать с помощью ObjectTracker. Размер ObjectTarget определяется файлом obj. Масштаб можно изменить, настроив scale. Значение scale по умолчанию равно 1. После успешной загрузки ObjectTarget в ObjectTracker через loadTarget, он может быть обнаружен и отслежен ObjectTracker.

ObjectTargetParameters

ObjectTargetParameters представляет параметры, необходимые для создания ObjectTarget.

ObjectTracker

ObjectTracker реализует обнаружение и отслеживание 3D-объект-таргетов. ObjectTracker использует буфер (1 + SimultaneousNum) камер. Необходимо использовать setBufferCapacity камеры для установки количества буферов не менее, чем занимают все компоненты. После создания можно вызывать start/stop для запуска и остановки работы, start/stop — очень легкие вызовы. Когда компонент больше не нужен, можно вызвать close для его закрытия. После close использовать его не следует. ObjectTracker получает входные данные через feedbackFrameSink FeedbackFrame. FeedbackFrameSource должен быть подключен к feedbackFrameSink для использования. Перед тем как Target сможет отслеживаться ObjectTracker, его необходимо загрузить через loadTarget/unloadTarget. Результаты загрузки/выгрузки можно получить через callback-интерфейс.

ObjectTrackerResult

ObjectTracker результат.

OutputFrame

выходной кадр. Содержит входной кадр и результаты вывода компонента синхронной обработки.

OutputFrameBuffer

Буфер выходного кадра. Имеет входной порт для выходного кадра и функцию получения выходного кадра для преобразования способа получения выходного кадра из асинхронного в синхронный опрос, подходит для покадрового рендеринга. OutputFrameBuffer занимает 1 буфер камеры. Используйте setBufferCapacity камеры, чтобы установить значение не меньше, чем количество буферов камеры, занимаемых всеми компонентами. Все члены этого класса потокобезопасны.

OutputFrameFork

Выходной разделитель кадров. Используется для параллельной передачи одного выходного кадра в несколько компонентов. Все члены этого класса являются потокобезопасными.

OutputFrameJoin

Выходной объединитель кадров. Используется для объединения выходных кадров нескольких компонентов в один выходной кадр. Все члены этого класса являются потокобезопасными. Обратите внимание, что подключение и отключение нескольких входов не должно выполняться одновременно с потоком данных, иначе может возникнуть состояние, при котором вывод невозможен. (Рекомендуется завершить подключение потока данных до запуска камеры).

OutputFrameSink

Выходной кадр порт-вход. Используется для предоставления входного порта компонента. Все члены этого класса потокобезопасны.

OutputFrameSource

Выходной порт выходного кадра. Используется для предоставления выходного порта компонента. Все члены этого класса являются потокобезопасными.

PlaneData
PoseUtility
ProximityLocationResult

Соседние показания местоположения. x, y, z в метрах. Начало координат - начало тайла карты. y вверх. Точность в метрах. timestamp, validTime в секундах. is2d указывает, используется ли y.

ProximityLocationResultSink

Входной порт для результатов ближайшего местоположения. Используется для предоставления входного порта компонента. Все члены этого класса являются потокобезопасными.

ProximityLocationResultSource

Порт вывода результатов соседнего расположения. Используется для предоставления выходного порта компонента. Все члены этого класса потокобезопасны.

Recorder

Recorder реализует функцию записи экрана текущей среды рендеринга. В настоящее время Recorder работает только в средах Android (4.3 или новее) и iOS с OpenGL ES 3.0. Из-за зависимости от OpenGLES все функции этого класса (кроме requestPermissions, включая деструктор) должны вызываться в одном потоке, содержащем контекст OpenGLES. Только для Unity В Unity, если используется функция Multi-threaded rendering, поток скриптов отделяется от потока рендеринга, и невозможно вызвать updateFrame в потоке рендеринга. Поэтому, если требуется использовать функцию записи экрана, следует отключить Multi-threaded rendering. При использовании на Android необходимо добавить объявление разрешения android.permission.RECORD_AUDIO в AndroidManifest.xml. При использовании на iOS необходимо добавить объявление разрешения NSMicrophoneUsageDescription в Info.plist.

RecorderConfiguration

RecorderConfiguration является конфигурацией запуска для Recorder.

SceneMesh
SignalSink

Сигнальный входной порт. Используется для предоставления доступа к входному порту компонента. Все члены этого класса являются потокобезопасными.

SignalSource

Выходной порт сигнала. Используется для предоставления выходного порта компонента. Все члены этого класса являются потокобезопасными.

SparseSpatialMap

Предоставляет основные функции системы SparseSpatialMap, включая генерацию и хранение карт, загрузку карт и локализацию, а также возможность получения информации об окружающей среде, такой как облака точек, плоскости, и выполнение hitTest. SparseSpatialMap использует 2 буфера камеры. Следует использовать setBufferCapacity камеры для установки количества буферов камеры, не меньшего, чем количество, используемое всеми компонентами.

SparseSpatialMapConfig

Для настройки стратегии локализации в разреженном построении карты.

SparseSpatialMapManager

Класс управления SparseSpatialMap для организации функций совместного использования SparseSpatialMap.

SparseSpatialMapResult

Получает выходные данные системы разреженного картирования и локализации, которые обновляются с частотой OutputFrame.

Storage
SurfaceTracker

SurfaceTracker отслеживает окружающие поверхности. SurfaceTracker занимает 1 буфер камеры. Установите setBufferCapacity камеры не менее общего количества буферов камеры, занимаемых всеми компонентами. После создания можно вызывать start/stop для запуска и остановки; эти вызовы очень легковесны. Когда компонент больше не нужен, вызовите close для его закрытия. После close использовать его нельзя. SurfaceTracker получает InputFrame через inputFrameSink. Подключите InputFrameSource к inputFrameSink для использования.

SurfaceTrackerResult

SurfaceTracker результат.

Target

Target является базовым классом в EasyAR для всех целей, которые могут отслеживаться ImageTracker или другими алгоритмами.

TargetInstance

TargetInstance - это цель, отслеживаемая трекером. TargetInstance включает исходную цель Target, которая была отслежена, а также текущее состояние и позу этой цели.

TargetTrackerResult

TargetTrackerResult является базовым классом для ImageTrackerResult и ObjectTrackerResult.

TextureId

TextureId инкапсулирует объект текстуры в графическом API. Для OpenGL/OpenGLES следует использовать getInt и fromInt, для Direct3D — getPointer и fromPointer.

ThreeDofCameraDevice

ThreeDofCameraDevice реализует устройство камеры с тремя степенями свободы (3DoF), выводящее InputFrame (содержащее изображение, параметры камеры, временную метку, матрицу преобразования позы и статус отслеживания) с CameraTransformType равным ThreeDofRotOnly. После создания можно вызвать start/stop для запуска и остановки сбора данных видеопотока. Когда устройство больше не нужно, вызовите close для его закрытия. После close использовать его не следует. ThreeDofCameraDevice выводит InputFrame через inputFrameSource; inputFrameSource следует подключить к InputFrameSink для использования. bufferCapacity указывает ёмкость буфера для InputFrame. Если устройство выводит больше кадров, чем это количество, и они не освобождены, оно перестанет выводить новые InputFrame, пока предыдущие не будут освобождены. Это может вызвать проблемы, например, зависание изображения.

Vec2F

двумерный вектор float.

Vec2I

двумерный int-вектор.

Vec3D

трехмерный double вектор.

Vec3F

трёхмерный float вектор.

Vec4F

четырехмерный вектор float.

Vec4I

четырехмерный int-вектор.

VideoInputFramePlayer

Входной кадровый проигрыватель. Имеет выходной порт входных кадров для извлечения входных кадров из файлов EIF MKV. Все члены этого класса потокобезопасны.

VideoInputFrameRecorder

Входной рекордер кадров. Имеет входной порт для входных кадров и выходной порт для входных кадров, предназначенный для сохранения проходящих входных кадров в файл EIF-MKV. Все члены этого класса являются потокобезопасными.

VideoPlayer

VideoPlayer — это класс для воспроизведения видео. EasyAR поддерживает обычное видео, прозрачное видео и потоковое воспроизведение. Содержимое видео будет отображаться на texture, переданном в setRenderTexture. Этот класс поддерживает только texture OpenGLES 3.0. Из-за зависимости от OpenGLES, все функции этого класса (включая деструктор) должны вызываться в одном потоке, содержащем контекст OpenGLES. Текущая версия требует, чтобы ширина и высота были кратны 16. Поддерживаемые форматы видеофайлов Windows: совместимые с Media Foundation форматы, установка дополнительных декодеров может поддержать больше форматов, см. Supported Media Formats in Media Foundation, не поддерживается DirectShow Mac: не поддерживается Android: форматы, поддерживаемые системой, см. Supported media formats. iOS: форматы, поддерживаемые системой, в настоящее время нет доступной документации.

VisionOSARKitCameraDevice

VisionOSARKitCameraDevice реализует камеру на основе VisionOS ARKit, выводящую InputFrame (содержит изображение, параметры камеры, временную метку, 6DOF позиционные данные и статус отслеживания). После создания можно вызывать start/stop для начала и остановки сбора видеопотока. Когда устройство больше не нужно, вызовите close для его закрытия. После close использование не допускается. VisionOSARKitCameraDevice выводит InputFrame через inputFrameSource, который следует подключить к InputFrameSink. bufferCapacity обозначает ёмкость буфера для InputFrame. Если устройство вывело больше кадров, чем эта ёмкость, и они не были освобождены, устройство перестанет выводить новые InputFrame до освобождения предыдущих. Это может вызвать зависание изображения.

XREALCameraDevice

XREALCameraDevice реализует камеру на основе плагина XREAL Enterprise Native SDK Plugin, выводящую InputFrame (нельзя получить изображение, параметры камеры, метку времени, информацию о позиции 6DOF и статус отслеживания). После создания можно вызывать start/stop для запуска и остановки сбора данных видеопотока. Убедитесь, что isDeviceSupported вернул true перед вызовом start. Когда устройство больше не нужно, вызовите close для его отключения. После close использовать его не следует. XREALCameraDevice выводит InputFrame через inputFrameSource, который следует подключить к InputFrameSink для использования. bufferCapacity указывает ёмкость буфера для InputFrame. Если устройство выводит больше кадров, чем это количество, и они не освобождены, оно перестанет выводить новые InputFrame, пока предыдущие не будут освобождены. Это может вызвать зависание изображения и другие проблемы.

Перечисления

AndroidCameraApiType
ARCoreCameraDeviceFocusMode
ARCoreDeviceListDownloadStatus
ARKitCameraDeviceFocusMode
BlockPriorMode

Режим работы с априорной картографической информацией

CalibrationDownloadStatus
CameraDeviceFocusMode
CameraDevicePreference
CameraDevicePresetProfile
CameraDeviceType

Тип устройства камеры.

CameraModelType

Тип модели камеры.

CameraState
CameraTransformType

Тип преобразования камеры.

CloudLocalizerStatus

Статус облачного позиционирования.

CloudRecognizationStatus
EngineOperatingSystem
ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API тип.

MegaLandmarkFilterStatus
MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

Описывает качество отслеживания движения устройства.

PermissionStatus
PixelFormat

PixelFormat обозначает формат пикселей изображения. Все форматы имеют ориентацию пикселей слева направо, сверху вниз.

PlaneType
RecordProfile
RecordStatus
RecordVideoOrientation
RecordVideoSize
RecordZoomMode
StorageType

StorageType указывает место хранения изображений, json-файлов, видео или других файлов. StorageType задает корневой каталог для хранения файлов, вы можете использовать относительные пути относительно этого корневого каталога во всех связанных интерфейсах.

TargetStatus
ThreeDofCameraDeviceFocusMode
ValidationState
VideoInputFrameRecorderCompletionReason
VideoInputFrameRecorderVideoCodec
VideoStatus
VideoType