Table of Contents

Namespace easyar

Classes

Accelerometer

Accelerometer calls the system-provided accelerometer and outputs AccelerometerResult. When the device is no longer needed, call close to close it. It should not be used after close. Opening it multiple times at the same time is not recommended, as it may become unavailable or lose accuracy.

AccelerometerResult

Accelerometer readings. The positive x-axis points from the device center to the right side of the screen. The positive y-axis points from the device center to the upper side of the screen. The positive z-axis points outward from the device center perpendicular to the screen. x, y, and z are in m/s^2. timestamp is in seconds.

AccelerometerResultSink

Accelerometer result input port. Used to expose the input port of a component. All members of this class are thread-safe.

AccelerometerResultSource

Accelerometer result output port. Used to expose the output port of a component. All members of this class are thread-safe.

ARCoreCameraDevice

ARCoreCameraDevice implements an ARCore-based camera device and outputs InputFrame (including image, camera parameters, timestamp, 6DOF position information, and tracking status). Before use, java.lang.System.loadLibrary must be used to load libarcore_sdk_c.so. After creation, start/stop can be called to start and stop collecting video stream data. When the device is no longer needed, close can be called to close it. It should not be used after close. ARCoreCameraDevice outputs InputFrame through inputFrameSource, and inputFrameSource should be connected to InputFrameSink for use. bufferCapacity represents the capacity of the InputFrame buffer. If more than this number of InputFrame are output from the device and not released, the device will stop outputting new InputFrame until previous InputFrame are released. This may cause issues such as the image freezing. Note: The current ARCore (v1.13.0) implementation has a memory leak when creating and destroying sessions. Creating and destroying repeatedly will cause memory usage to keep increasing and not be released after destruction.

ARCoreDeviceListDownloader

ARCoreDeviceListDownloader is used to download updated device list calibration parameters used in ARCoreCameraDevice.

ARKitCameraDevice

ARKitCameraDevice implements an ARKit-based camera device and outputs InputFrame (including image, camera parameters, timestamp, 6DOF position information, and tracking status). After creation, start/stop can be called to start and stop collecting video stream data. When the device is no longer needed, close can be called to close it. It should not be used after close. ARKitCameraDevice outputs InputFrame through inputFrameSource, and inputFrameSource should be connected to InputFrameSink for use. bufferCapacity represents the capacity of the InputFrame buffer. If more than this number of InputFrame are output from the device and not released, the device will stop outputting new InputFrame until previous InputFrame are released. This may cause issues such as the image freezing.

AttitudeSensor

AttitudeSensor calls the system-provided attitude sensor and outputs AttitudeSensorResult. When the device is no longer needed, call close to close it. It should not be used after close. Opening it multiple times at the same time is not recommended, as it may become unavailable or lose accuracy.

AttitudeSensorResult

Attitude sensor reading. The positive x-axis points from the device center to the right side of the screen. The positive y-axis points from the device center to the top of the screen. The positive z-axis points outward from the device center perpendicular to the screen. The device rotates by an angle θ around the axis (x, y, z). The unit rotation quaternion is (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)). The reference coordinate system is defined as a set of oriented standard orthonormal bases, where

Z points to the sky and is parallel to the ground.

(X, Y, Z) forms a right-handed system.

timestamp is in seconds.

AttitudeSensorResultSink

Attitude sensor result input port. Used to expose the input port of a component. All members of this class are thread-safe.

AttitudeSensorResultSource

Attitude sensor result output port. Used to expose the output port of a component. All members of this class are thread-safe.

BlockInfo

The model obtained by dense reconstruction is represented by a triangle mesh, called mesh. Because mesh is updated frequently, to ensure efficiency, the mesh of the entire reconstructed model is divided into many mesh blocks. A mesh block consists of a cube with side length of about 1 meter, containing elements such as vertex and index. BlockInfo describes the contents of a mesh block. Here (x,y,z) is the index of the mesh block. Multiplying (x,y,z) by the physical size of each mesh block gives the coordinates of the origin of this mesh block in the world coordinate system. The parts that need to be displayed can be filtered in advance by the position of the mesh block in the world to save rendering time.

BlockPriorResult

Prior map information. blockIds are map IDs. mode is the mode in which prior information is used by the system, and can be soft or hard. See BlockPriorMode.

Buffer

Buffer stores a raw byte array and can be used to access image data. In the Java API, you can get the buffer from Image and then copy data to a Java byte array. In all versions of EasyAR Sense, you can access image data. Refer to Image.

BufferDictionary

A mapping from file paths to Buffer. Used to represent multiple files placed in memory.

BufferPool

BufferPool implements a memory pool. It can be used for features that repeatedly allocate memory of the same size, such as custom camera access, reducing time spent on memory allocation.

CalibrationDownloader

CalibrationDownloader is used to download updated calibration parameters used in MotionTracker. MotionTracker must be recreated after downloading for the update to take effect.

CallbackScheduler

Callback scheduler. There are two subclasses: DelayedCallbackScheduler and ImmediateCallbackScheduler. DelayedCallbackScheduler is used to delay callbacks until they are manually invoked, and can be used in single-threaded environments such as various UI environments. ImmediateCallbackScheduler is used to execute callbacks immediately, and can be used in multi-threaded environments such as servers or background services.

CameraDevice

CameraDevice implements a camera device that outputs InputFrame (including image, camera parameters, and timestamp). It is available on Windows, Mac, Android, and iOS. After opening, start/stop can be called to start and stop data collection. start/stop do not affect previously set camera parameters. When the device is no longer needed, close can be called to close it. It should not be used after close. CameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use. bufferCapacity indicates the capacity of the InputFrame buffer. If more than this number of InputFrame objects are output from the device and not released, the device will stop outputting new InputFrame objects until previous InputFrame objects are released. This may cause problems such as a frozen image. When used on Android, the android.permission.CAMERA permission declaration must be added to AndroidManifest.xml. When used on iOS, the NSCameraUsageDescription permission declaration must be added to Info.plist.

CameraDeviceSelector

Used to select the Camera API (camera1 or camera2) on Android. camera1 has better compatibility but lacks some necessary information, such as timestamps. camera2 has compatibility issues on some devices. Different options select camera1 or camera2 according to usage.

CameraParameters

camera parameters, including image size, focal length, principal point, camera type, and the rotation angle of the camera relative to the device natural orientation.

CloudLocalizer

CloudLocalizer implements cloud localization.

CloudLocalizerBlockInstance

An instance of a block localized by CloudLocalizer.

CloudLocalizerResult
CloudRecognizationResult
CloudRecognizer

CloudRecognizer implements cloud recognition. Cloud recognition requires a cloud recognition image library to be created in the cloud before it can be used. See the EasyAR CRS documentation. When this component is no longer needed, call close to close it. It should not be used after close. Before using CloudRecognizer, an ImageTracker must be set and prepared. Any returned target should be manually loaded into ImageTracker with loadTarget before being tracked. After loading, recognition and tracking of the target are the same as using a local target. After a target is recognized, you can obtain it from the callback, and then you should use the target uid to distinguish different targets. The target runtimeID is dynamically generated and is not suitable as the unique identifier for a target in cloud recognition.

DelayedCallbackScheduler

Delayed callback scheduler. Used to defer callbacks until they are manually invoked, and can be used in single-threaded environments such as various UI environments. All members of this class are thread-safe.

DenseSpatialMap

DenseSpatialMap is used for accurate three-dimensional dense reconstruction of the environment. The reconstructed model is represented by a triangle mesh, called mesh. DenseSpatialMap occupies 1 camera buffer.

DeviceAuxiliaryInfo
Engine
EventDumpRecorder

Event dump recorder. Used to save some key diagnostic information to EED files. All members of this class are thread-safe.

FeedbackFrame

Feedback frame. Contains an input frame and a historical output frame, used for feedback-based synchronous processing components such as ImageTracker.

FeedbackFrameFork

Feedback frame fork. Used to transmit one feedback frame to multiple components in parallel. All members of this class are thread-safe.

FeedbackFrameSink

Feedback frame input port. Used to expose the input port of a component. All members of this class are thread-safe.

FeedbackFrameSource

Feedback frame output port. Used to expose the output port of a component. All members of this class are thread-safe.

FrameFilterResult

FrameFilterResult is the base class for all results that use synchronous algorithm components.

Gyroscope

Gyroscope calls the system-provided gyroscope and outputs GyroscopeResult. When the device is no longer needed, call close to close it. It should not be used after close. Opening it multiple times at the same time is not recommended, as it may become unavailable or lose accuracy.

GyroscopeResult

Gyroscope readings. The positive x-axis points from the device center to the right side of the screen. The positive y-axis points from the device center to the upper side of the screen. The positive z-axis points outward from the device center perpendicular to the screen. x, y, and z represent angular velocity around the corresponding axes, in radians/second. When looking at the device from somewhere on the positive direction of a coordinate axis, counterclockwise is the positive rotation direction. timestamp is in seconds.

GyroscopeResultSink

Gyroscope result input port. Used to expose the input port of a component. All members of this class are thread-safe.

GyroscopeResultSource

Gyroscope result output port. Used to expose the output port of a component. All members of this class are thread-safe.

Image

Image stores image data and is used to represent an image in memory. Image provides access to raw data as a byte array, and also provides interfaces for accessing information such as width/height. In all versions of EasyAR Sense, you can access image data. On iOS, you can access it like this

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

On 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

Image helper class.

ImageTarget

ImageTarget represents a target for a planar image, which can be tracked by ImageTracker. Values inside ImageTarget must first be filled by methods such as create... before they can be read. After it is successfully loaded into ImageTracker through loadTarget, it can be detected and tracked by ImageTracker.

ImageTargetParameters

ImageTargetParameters represents the parameters required to create ImageTarget.

ImageTracker

ImageTracker implements detection and tracking of planar cards. ImageTracker occupies (1 + SimultaneousNum) camera buffers. Use camera setBufferCapacity to set no less than the total number of camera buffers occupied by all components. After creation, start/stop can be called to start and stop running. start/stop are very lightweight calls. When the component is no longer needed, close can be called to close it. It should not be used after close. ImageTracker inputs FeedbackFrame through feedbackFrameSink. FeedbackFrameSource should be connected to feedbackFrameSink for use. Before a Target can be tracked by ImageTracker, you need to load it with loadTarget/unloadTarget. The result of load/unload can be obtained through the callback passed to the interface.

ImageTrackerConfig

ImageTracker creation configuration.

ImageTrackerResult

Result of ImageTracker.

ImmediateCallbackScheduler

Immediate callback scheduler. Used to execute callbacks immediately, and can be used in multi-threaded environments such as servers or background services. All members of this class are thread-safe.

InertialCameraDevice

InertialCameraDevice implements a camera device based on motion inertia, outputting InputFrame whose CameraTransformType is FiveDofRotXZ (including image, camera parameters, timestamp, pose transform matrix, and tracking status). After creation, start/stop can be called to start and stop video stream data collection. When the device is no longer needed, close can be called to close it. It should not be used after close. InertialCameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use. bufferCapacity indicates the capacity of the InputFrame buffer. If more than this number of InputFrame objects are output from the device and not released, the device will stop outputting new InputFrame objects until previous InputFrame objects are released. This may cause problems such as a frozen image.

InputFrame

Input frame. Contains image, camera parameters, timestamp, camera transform relative to the world coordinate system, and tracking status. Among them, camera parameters, timestamp, camera transform relative to the world coordinate system, and tracking status are optional, but specific algorithm components have specific requirements for input.

InputFrameFork

Input frame fork. Used to transmit one input frame to multiple components in parallel. All members of this class are thread-safe.

InputFramePlayer

Input frame player. Has an input frame output port, used to retrieve input frames from an EIF file. All members of this class are thread-safe.

InputFrameRecorder

Input frame recorder. Has an input frame input port and an input frame output port, used to save passing input frames to an EIF file. All members of this class are thread-safe.

InputFrameSink

Input frame input port. Used to expose the input port of a component. All members of this class are thread-safe.

InputFrameSource

Input frame output port. Used to expose the output port of a component. All members of this class are thread-safe.

InputFrameThrottler

Input frame throttler. It has one input frame input port and one input frame output port, used to prevent new input frames from entering an algorithm component while the component has not finished processing the previous frame. InputFrameThrottler occupies one camera buffer. Use camera setBufferCapacity to set no fewer camera buffers than the total number occupied by all components. All members of this class are thread-safe. Note that connecting and disconnecting signalInput should not be performed while data is flowing in, otherwise it may enter a state where it cannot output. It is recommended to complete data-flow connections before starting the Camera.

InputFrameToFeedbackFrameAdapter

Input frame to feedback frame adapter. Has an input frame input port, a historical output frame input port, and a feedback frame output port. It combines an input frame and a historical output frame into a feedback frame and passes it to algorithm components that require feedback frame input, such as ImageTracker. Each time an input frame is input, it is combined with the previous historical output frame into a feedback frame. If no historical output frame has been input, the historical output frame in the feedback frame is empty. InputFrameToFeedbackFrameAdapter occupies 1 camera buffer. Use camera setBufferCapacity to set no fewer than the number of camera buffers occupied by all components. All members of this class are thread-safe.

InputFrameToOutputFrameAdapter

Input frame to output frame adapter. Has an input frame input port and an output frame output port. It wraps input frames into output frames, enabling direct rendering without connecting algorithm components. All members of this class are thread-safe.

JniUtility

JNI utility class. Used to wrap Java arrays and ByteBuffer in Unity. iOS is not supported.

LocationResult

Location reading. latitude and longitude are in degrees. altitude is in meters. horizontalAccuracy is horizontal accuracy, in meters. verticalAccuracy is gravity-direction accuracy, in meters.

LocationResultSink

Location result input port. Used to expose the input port of a component. All members of this class are thread-safe.

LocationResultSource

Location result output port. Used to expose the output port of a component. All members of this class are thread-safe.

Log

Log class. Used to output logs or set a custom log output function.

Magnetometer

Magnetometer calls the system-provided magnetometer and outputs MagnetometerResult. When the device is no longer needed, call close to close it. It should not be used after close. Opening it multiple times at the same time is not recommended, as it may become unavailable or lose accuracy.

MagnetometerResult

Magnetometer readings. The positive x-axis points from the device center to the right side of the screen. The positive y-axis points from the device center to the upper side of the screen. The positive z-axis points outward from the device center perpendicular to the screen. x, y, and z are in uT (microtesla). timestamp is in seconds.

MagnetometerResultSink

Magnetometer result input port. Used to expose the input port of a component. All members of this class are thread-safe.

MagnetometerResultSource

Magnetometer result output port. Used to expose the output port of a component. All members of this class are thread-safe.

Matrix33F

Third-order square matrix. Data is arranged in row-major order.

Matrix44F

Fourth-order square matrix. Data is arranged in row-major order.

MegaGoBlockInfo

Block information in the Mega Go map package.

MegaGoTargetLoadResult

Result of loading target in Mega Go.

MegaGoTracker

Provides device-side localization. MegaGoTracker occupies 2 camera buffers.

MegaGoTrackerBlockInstance

An instance of a block localized by MegaGoTracker.

MegaGoTrackerLocalizationResponse

MegaGoTracker localization response.

MegaGoTrackerResult

Output result of MegaGoTracker. In asynchronous mode, the result is output through OutputFrame.

MegaLandmarkFilter

MegaLandmarkFilter implements VPS cloud localization filtering.

MegaLandmarkFilterResult
MegaTracker

Provides cloud localization. MegaTracker occupies 1 camera buffer.

MegaTrackerBlockInstance

An instance of a block localized by MegaTracker.

MegaTrackerLocalizationResponse

Response to a MegaTracker localization request.

MegaTrackerResult

Output of MegaTracker, updated at the frequency of OutputFrame.

MotionInputData

Motion input data. Contains the timestamp, transform relative to the world coordinate system, and tracking status.

MotionTrackerCameraDevice

MotionTrackerCameraDevice implements a camera device for real-scale 6DOF motion tracking, outputting InputFrame (including image, camera parameters, timestamp, 6DOF position information, and tracking status). After creation, start/stop can be called to start and stop the data stream. When the device is no longer needed, close can be called to close it. It should not be used after close. MotionTrackerCameraDevice outputs InputFrame through inputFrameSource. inputFrameSource should be connected to InputFrameSink for use.

ObjectTarget

ObjectTarget represents a 3D object target, which can be tracked by ObjectTracker. The size of ObjectTarget is determined by the obj file. The size can be changed by modifying scale. scale defaults to 1. After ObjectTarget is successfully loaded into ObjectTracker through loadTarget, it can be detected and tracked by ObjectTracker.

ObjectTargetParameters

ObjectTargetParameters represents the parameters required to create ObjectTarget.

ObjectTracker

ObjectTracker implements detection and tracking of 3D object targets. ObjectTracker occupies (1 + SimultaneousNum) camera buffers. camera setBufferCapacity should be used to set no fewer than the number of camera buffers occupied by all components. After creation, start/stop can be called to start and stop running. start/stop are very lightweight calls. When the component is no longer needed, close can be called to close it. It should not be used after close. ObjectTracker inputs FeedbackFrame through feedbackFrameSink, and FeedbackFrameSource should be connected to feedbackFrameSink for use. Before a Target can be tracked by ObjectTracker, you need to load it through loadTarget/unloadTarget. The load/unload result can be obtained through callbacks passed into the interface.

ObjectTrackerResult

Result of ObjectTracker.

OutputFrame

Output frame. Contains the input frame and output results of synchronous processing components.

OutputFrameBuffer

Output frame buffer. Has an output frame input port and an output frame retrieval function, used to convert output frame retrieval from asynchronous to synchronous polling, suitable for frame-by-frame rendering. OutputFrameBuffer occupies 1 camera buffer. Use camera setBufferCapacity to set no fewer than the number of camera buffers occupied by all components. All members of this class are thread-safe.

OutputFrameFork

Output frame fork. Used to transmit one output frame to multiple components in parallel. All members of this class are thread-safe.

OutputFrameJoin

Output frame joiner. Used to merge output frames from multiple components into one output frame. All members of this class are thread-safe. Note that connecting and disconnecting its multiple inputs should not be done while data is flowing in; otherwise, it may get stuck in a state where it cannot output. (It is recommended to complete data flow connections before Camera starts.)

OutputFrameSink

Output frame input port. Used to expose the input port of a component. All members of this class are thread-safe.

OutputFrameSource

Output frame output port. Used to expose the output port of a component. All members of this class are thread-safe.

PlaneData
PoseUtility
ProximityLocationResult

Proximity location reading. x, y, and z are in meters. The origin is the map block origin. y is upward. accuracy is in meters. timestamp and validTime are in seconds. is2d indicates whether y is not used.

ProximityLocationResultSink

Proximity location result input port. Used to expose the input port of a component. All members of this class are thread-safe.

ProximityLocationResultSource

Proximity location result output port. Used to expose the output port of a component. All members of this class are thread-safe.

Recorder

Recorder implements screen recording for the current rendering environment. The current Recorder works only on Android (4.3 or later) and in the OpenGL ES 3.0 environment on iOS. Because it depends on OpenGLES, all functions of this class (except requestPermissions, including the destructor) must be called in a single thread that contains an OpenGLES context. Unity Only In Unity, if Multi-threaded rendering is used, the script thread is separated from the rendering thread, and updateFrame cannot be called on the rendering thread. Therefore, if screen recording is needed, Multi-threaded rendering should be disabled. When used on Android, the android.permission.RECORD_AUDIO permission declaration must be added to AndroidManifest.xml. When used on iOS, the NSMicrophoneUsageDescription permission declaration must be added to Info.plist.

RecorderConfiguration

RecorderConfiguration is the startup configuration for Recorder.

SceneMesh
SignalSink

Signal input port. Used to expose the input port of a component. All members of this class are thread-safe.

SignalSource

Signal output port. Used to expose the output port of a component. All members of this class are thread-safe.

SparseSpatialMap

Provides the main functions of the SparseSpatialMap system: map generation and storage, map loading and localization, and access to environment information such as point clouds and planes for hit Test. SparseSpatialMap occupies 2 camera buffers. Use camera setBufferCapacity to set no less than the total number of camera buffers occupied by all components.

SparseSpatialMapConfig

Used to configure the localization strategy in sparse spatial mapping.

SparseSpatialMapManager

SparseSpatialMap manager class, used to manage SparseSpatialMap sharing.

SparseSpatialMapResult

Gets the output of the sparse mapping and localization system, updated at the frequency of OutputFrame.

Storage
SurfaceTracker

SurfaceTracker implements tracking of environmental surfaces. SurfaceTracker occupies 1 camera buffer. Use the camera's setBufferCapacity to set no less than the total number of camera buffers occupied by all components. After creation, start/stop can be called to start and stop running. start/stop are very lightweight calls. When this component is no longer needed, call close to close it. It should not be used after close. SurfaceTracker inputs InputFrame through inputFrameSink. Connect InputFrameSource to inputFrameSink for use.

SurfaceTrackerResult

Result of SurfaceTracker.

Target

Target is the base class of all targets in EasyAR that can be tracked by ImageTracker or other algorithms.

TargetInstance

TargetInstance is a target tracked by a tracker. TargetInstance includes the original tracked Target and the current status and pose of this Target.

TargetTrackerResult

TargetTrackerResult is the base class of ImageTrackerResult and ObjectTrackerResult.

TextureId

TextureId wraps texture objects in graphics APIs. For OpenGL/OpenGLES, use getInt and fromInt. For Direct3D, use getPointer and fromPointer.

ThreeDofCameraDevice

ThreeDofCameraDevice implements a three dof camera device and outputs InputFrame whose CameraTransformType is ThreeDofRotOnly (including image, camera parameters, timestamp, pose transformation matrix, and tracking status). After creation, start/stop can be called to start and stop collecting video stream data. When the device is no longer needed, close can be called to close it. It should not be used after close. ThreeDofCameraDevice outputs InputFrame through inputFrameSource, and inputFrameSource should be connected to InputFrameSink for use. bufferCapacity represents the capacity of the InputFrame buffer. If more than this number of InputFrame are output from the device and not released, the device will stop outputting new InputFrame until previous InputFrame are released. This may cause issues such as the image freezing.

Vec2F

Two-dimensional float vector.

Vec2I

Two-dimensional int vector.

Vec3D

Three-dimensional double vector.

Vec3F

Three-dimensional float vector.

Vec4F

Four-dimensional float vector.

Vec4I

Four-dimensional int vector.

VideoInputFramePlayer

Input frame player. It has an input frame output port used to extract input frames from EIF MKV files. All members of this class are thread-safe.

VideoInputFrameRecorder

Input frame recorder. It has an input frame input port and an input frame output port, used to save passing input frames into an EIF MKV file. All members of this class are thread-safe.

VideoPlayer

VideoPlayer is a video playback class. EasyAR supports normal video, transparent video, and streaming playback. Video content will be rendered to the texture passed into setRenderTexture. This class supports only OpenGLES 3.0 textures. Because it depends on OpenGLES, all functions of this class (including the destructor) must be called in a single thread that contains an OpenGLES context. The current version requires both width and height to be multiples of 16. Supported video file formats Windows: Media Foundation-compatible formats. Installing additional decoders can support more formats. See Supported Media Formats in Media Foundation . DirectShow is not supported. Mac: Not supported. Android: System-supported formats. See Supported media formats . iOS: System-supported formats. There is currently no valid reference document.

VisionOSARKitCameraDevice

VisionOSARKitCameraDevice implements a camera device based on VisionOS ARKit, outputting InputFrame containing image, camera parameters, timestamp, 6DOF pose information, and tracking status. After creation, start/stop can be called to start and stop collecting video stream data. When the device is no longer needed, call close to close it. It should not be used after close. VisionOSARKitCameraDevice outputs InputFrame through inputFrameSource. Connect inputFrameSource to InputFrameSink for use. bufferCapacity indicates the capacity of the InputFrame buffer. If more than this number of InputFrame are output from this device and not released, the device will no longer output new InputFrame until the previous InputFrame are released. This may cause issues such as the image freezing.

XREALCameraDevice

XREALCameraDevice implements a camera device based on XREAL Enterprise Native SDK Plugin and outputs InputFrame (image, camera parameters, timestamp, 6DOF position information, and tracking status cannot be obtained). After creation, start/stop can be called to start and stop collecting video stream data. Ensure start is called only after isDeviceSupported returns true. When the device is no longer needed, close can be called to close it. It should not be used after close. XREALCameraDevice outputs InputFrame through inputFrameSource, and inputFrameSource should be connected to InputFrameSink for use. bufferCapacity represents the capacity of the InputFrame buffer. If more than this number of InputFrame are output from the device and not released, the device will stop outputting new InputFrame until previous InputFrame are released. This may cause issues such as the image freezing.

Enums

AndroidCameraApiType
ARCoreCameraDeviceFocusMode
ARCoreDeviceListDownloadStatus
ARKitCameraDeviceFocusMode
BlockPriorMode

Working mode for prior map information

CalibrationDownloadStatus
CameraDeviceFocusMode
CameraDevicePreference
CameraDevicePresetProfile
CameraDeviceType

Camera device type.

CameraModelType

Camera model type.

CameraState
CameraTransformType

Camera transform type.

CloudLocalizerStatus

Cloud localization status.

CloudRecognizationStatus
EngineOperatingSystem
ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API type.

MegaGoTargetLoadStatus

Mega Go target loading status.

MegaGoTrackerError

MegaGoTracker error.

MegaGoTrackerOutputUpdateStatus

Update status of the MegaGoTracker localization response to the output.

MegaGoTrackerStatus

MegaGoTracker running status.

MegaLandmarkFilterStatus
MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

Describes the quality of device motion tracking.

PermissionStatus
PixelFormat

PixelFormat represents the image pixel format. The pixel direction of all formats is from left to right and from top to bottom.

PlaneType
RecordProfile
RecordStatus
RecordVideoOrientation
RecordVideoSize
RecordZoomMode
StorageType

StorageType indicates where images, json files, videos, or other files are stored. StorageType specifies the root directory where files are stored. You can use relative paths from this root directory in all related interfaces.

TargetStatus
ThreeDofCameraDeviceFocusMode
ValidationState
VideoInputFrameRecorderCompletionReason
VideoInputFrameRecorderVideoCodec
VideoStatus
VideoType