Class 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.
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 capacity of the InputFrame buffer. The 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
Requests the 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
Gets 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
Starts collecting video stream data.
bool easyar_VisionOSARKitCameraDevice_start(easyar_VisionOSARKitCameraDevice * This)
public func start() -> Bool
public virtual bool start()
Returns
stop
Stops collecting video stream data.
void easyar_VisionOSARKitCameraDevice_stop(easyar_VisionOSARKitCameraDevice * This)
public func stop() -> Void
public virtual void stop()
Returns
close
Closes. It should not be used after close.
void easyar_VisionOSARKitCameraDevice_close(easyar_VisionOSARKitCameraDevice * This)
public func close() -> Void
public virtual void close()
Returns
size
Gets 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 when displayed in the natural orientation of the device.
int easyar_VisionOSARKitCameraDevice_cameraOrientation(const easyar_VisionOSARKitCameraDevice * This)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Returns
frameRateRangeLower
Gets 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
Gets 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