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.
- 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.
- 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.
- 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
objfile. The size can be changed by modifyingscale.scaledefaults 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.
- 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.
- 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.
- 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
- BlockPriorMode
Working mode for prior map information
- CameraDeviceType
Camera device type.
- CameraModelType
Camera model type.
- CameraTransformType
Camera transform type.
- CloudLocalizerStatus
Cloud localization status.
- 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.
- MotionTrackingStatus
Describes the quality of device motion tracking.
- PixelFormat
PixelFormat represents the image pixel format. The pixel direction of all formats is from left to right and from top to bottom.
- 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.