Class VisionOSARKitCameraDevice
VisionOSARKitCameraDevice implements a camera device based on VisionOS ARKit, outputting InputFrame (which includes images, camera parameters, timestamps, 6DOF position information, and tracking status).
After creation, you can call start/stop to begin and stop collecting video stream data.
When the device is no longer needed, you can call close to shut it down. After close, it should not be used anymore.
VisionOSARKitCameraDevice outputs InputFrame through inputFrameSource, and inputFrameSource should be connected to InputFrameSink for use.
bufferCapacity represents the buffer capacity of InputFrame . 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 ones are released. This may cause issues such as frame freezing.
VisionOSARKitCameraDevice
Constructors
VisionOSARKitCameraDevice
void easyar_VisionOSARKitCameraDevice__ctor(easyar_VisionOSARKitCameraDevice * * Return)
VisionOSARKitCameraDevice()
public VisionOSARKitCameraDevice()
+ (easyar_VisionOSARKitCameraDevice *) create
public convenience init()
public VisionOSARKitCameraDevice()
Methods
isAvailable
bool easyar_VisionOSARKitCameraDevice_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
public static func isAvailable() -> Bool
public static bool isAvailable()
Returns
bufferCapacity
The buffer capacity, default value is 8.
int easyar_VisionOSARKitCameraDevice_bufferCapacity(const easyar_VisionOSARKitCameraDevice * This)
public int bufferCapacity()
fun bufferCapacity(): Int
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Returns
setBufferCapacity
void easyar_VisionOSARKitCameraDevice_setBufferCapacity(easyar_VisionOSARKitCameraDevice * This, int capacity)
void setBufferCapacity(int capacity)
public void setBufferCapacity(int capacity)
fun setBufferCapacity(capacity: Int): Unit
- (void)setBufferCapacity:(int)capacity
public func setBufferCapacity(_ capacity: Int32) -> Void
public virtual void setBufferCapacity(int capacity)
Parameters
Name
Type
Description
capacity
Int32
Returns
requestPermissions
Request necessary system permissions on VisionOS, including [World Sensing] and [Camera Access].
void easyar_VisionOSARKitCameraDevice_requestPermissions(easyar_VisionOSARKitCameraDevice * This, easyar_CallbackScheduler * callbackScheduler, easyar_OptionalOfFunctorOfVoidFromPermissionStatusAndString permissionCallback)
void requestPermissions(std::shared_ptr<CallbackScheduler> callbackScheduler, std::optional<std::function<void(PermissionStatus, std::string)>> permissionCallback)
public void requestPermissions(@Nonnull CallbackScheduler callbackScheduler, @Nullable FunctorOfVoidFromPermissionStatusAndString permissionCallback)
fun requestPermissions(callbackScheduler: CallbackScheduler, permissionCallback: FunctorOfVoidFromPermissionStatusAndString?): Unit
- (void)requestPermissions:(easyar_CallbackScheduler *)callbackScheduler permissionCallback:(void (^)(easyar_PermissionStatus status, NSString * value))permissionCallback
public func requestPermissions(_ callbackScheduler: CallbackScheduler, _ permissionCallback: ((PermissionStatus, String) -> Void)?) -> Void
public virtual void requestPermissions(CallbackScheduler callbackScheduler, Optional<Action<PermissionStatus, string>> permissionCallback)
Parameters
Returns
void easyar_VisionOSARKitCameraDevice_inputFrameSource(easyar_VisionOSARKitCameraDevice * This, easyar_InputFrameSource * * Return)
std::shared_ptr<InputFrameSource> inputFrameSource()
public @Nonnull InputFrameSource inputFrameSource()
fun inputFrameSource(): InputFrameSource
- (easyar_InputFrameSource *)inputFrameSource
public func inputFrameSource() -> InputFrameSource
public virtual InputFrameSource inputFrameSource()
Returns
Acquire synchronized motion input data.
void easyar_VisionOSARKitCameraDevice_getMotionInputData(easyar_VisionOSARKitCameraDevice * This, easyar_OptionalOfMotionInputData * Return)
std::optional<std::shared_ptr<MotionInputData>> getMotionInputData()
public @Nullable MotionInputData getMotionInputData()
fun getMotionInputData(): MotionInputData?
- (easyar_MotionInputData *)getMotionInputData
public func getMotionInputData() -> MotionInputData?
public virtual Optional<MotionInputData> getMotionInputData()
Returns
start
Start collecting video stream data.
bool easyar_VisionOSARKitCameraDevice_start(easyar_VisionOSARKitCameraDevice * This)
public func start() -> Bool
public virtual bool start()
Returns
stop
Stop collecting video stream data.
void easyar_VisionOSARKitCameraDevice_stop(easyar_VisionOSARKitCameraDevice * This)
public func stop() -> Void
public virtual void stop()
Returns
close
Close. After close, it should not be used anymore.
void easyar_VisionOSARKitCameraDevice_close(easyar_VisionOSARKitCameraDevice * This)
public func close() -> Void
public virtual void close()
Returns
size
Get the current image size.
easyar_Vec2I easyar_VisionOSARKitCameraDevice_size(const easyar_VisionOSARKitCameraDevice * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Returns
type
easyar_CameraDeviceType easyar_VisionOSARKitCameraDevice_type(const easyar_VisionOSARKitCameraDevice * This)
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Returns
cameraOrientation
The angle by which the camera image needs to be rotated clockwise to display in the device's natural orientation.
int easyar_VisionOSARKitCameraDevice_cameraOrientation(const easyar_VisionOSARKitCameraDevice * This)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Returns
frameRateRangeLower
Get the lower bound of the current frame rate range.
double easyar_VisionOSARKitCameraDevice_frameRateRangeLower(const easyar_VisionOSARKitCameraDevice * This)
double frameRateRangeLower()
public double frameRateRangeLower()
fun frameRateRangeLower(): Double
- (double)frameRateRangeLower
public func frameRateRangeLower() -> Double
public virtual double frameRateRangeLower()
Returns
frameRateRangeUpper
Get the upper bound of the current frame rate range.
double easyar_VisionOSARKitCameraDevice_frameRateRangeUpper(const easyar_VisionOSARKitCameraDevice * This)
double frameRateRangeUpper()
public double frameRateRangeUpper()
fun frameRateRangeUpper(): Double
- (double)frameRateRangeUpper
public func frameRateRangeUpper() -> Double
public virtual double frameRateRangeUpper()
Returns