Class XREALCameraDevice
- Пространство имен
- easyar
XREALCameraDevice реализует камеру на основе плагина XREAL Enterprise Native SDK Plugin, выводящую InputFrame (нельзя получить изображение, параметры камеры, метку времени, информацию о позиции 6DOF и статус отслеживания). После создания можно вызывать start/stop для запуска и остановки сбора данных видеопотока. Убедитесь, что isDeviceSupported вернул true перед вызовом start. Когда устройство больше не нужно, вызовите close для его отключения. После close использовать его не следует. XREALCameraDevice выводит InputFrame через inputFrameSource, который следует подключить к InputFrameSink для использования. bufferCapacity указывает ёмкость буфера для InputFrame. Если устройство выводит больше кадров, чем это количество, и они не освобождены, оно перестанет выводить новые InputFrame, пока предыдущие не будут освобождены. Это может вызвать зависание изображения и другие проблемы.
Конструкторы
XREALCameraDevice
void easyar_XREALCameraDevice__ctor(easyar_XREALCameraDevice * * Return)
XREALCameraDevice()
public XREALCameraDevice()
constructor()
+ (easyar_XREALCameraDevice *) create
public convenience init()
public XREALCameraDevice()
Методы
isAvailable
Проверяет доступность. Возвращает true только на устройствах, поддерживающих очки XREAL, и после их успешного подключения.
bool easyar_XREALCameraDevice_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
+ (bool)isAvailable
public static func isAvailable() -> Bool
public static bool isAvailable()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Boolean |
isDeviceSupported
Проверяет, поддерживаются ли очки. На доступных устройствах имеет значение только после завершения инициализации XREAL.
easyar_OptionalOfBool easyar_XREALCameraDevice_isDeviceSupported(void)
static std::optional<bool> isDeviceSupported()
public static java.lang.@Nullable Boolean isDeviceSupported()
companion object fun isDeviceSupported(): Boolean?
+ (NSNumber *)isDeviceSupported
public static func isDeviceSupported() -> Bool?
public static Optional<bool> isDeviceSupported()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Optional<> |
bufferCapacity
Ёмкость буфера для InputFrame. Значение по умолчанию: 8.
int easyar_XREALCameraDevice_bufferCapacity(const easyar_XREALCameraDevice * This)
int bufferCapacity()
public int bufferCapacity()
fun bufferCapacity(): Int
- (int)bufferCapacity
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Int32 |
setBufferCapacity
Устанавливает ёмкость буфера для InputFrame.
void easyar_XREALCameraDevice_setBufferCapacity(easyar_XREALCameraDevice * 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)
Параметры
| Имя | Тип | Описание |
|---|---|---|
| capacity | Int32 |
Возвращаемое значение
| Тип | Описание |
|---|---|
| Void |
inputFrameSource
Выходной порт для InputFrame.
void easyar_XREALCameraDevice_inputFrameSource(const easyar_XREALCameraDevice * 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()
Возвращаемое значение
| Тип | Описание |
|---|---|
| InputFrameSource |
getMotionInputData
Получает синхронизированные входные данные о движении. Используйте после возвращения true методом isDeviceSupported.
void easyar_XREALCameraDevice_getMotionInputData(const easyar_XREALCameraDevice * 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()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Optional<MotionInputData> |
receivedFrameCount
Количество кадров, полученных с камеры. После start оно должно постоянно увеличиваться, иначе возможны нестабильное подключение устройства или неисправность сервиса/SDK XREAL. В этом случае обратитесь за помощью напрямую к XREAL.
int easyar_XREALCameraDevice_receivedFrameCount(const easyar_XREALCameraDevice * This)
int receivedFrameCount()
public int receivedFrameCount()
fun receivedFrameCount(): Int
- (int)receivedFrameCount
public func receivedFrameCount() -> Int32
public virtual int receivedFrameCount()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Int32 |
open
Открывает камеру. Используйте после возвращения true методом isDeviceSupported. На устройствах, таких как Air2 Ultra, лицензия XREAL должна быть сначала проверена официальным методом XREAL.
bool easyar_XREALCameraDevice_open(easyar_XREALCameraDevice * This)
bool open()
public boolean open()
fun open(): Boolean
- (bool)open
public func `open`() -> Bool
public virtual bool open()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Boolean |
start
Начать сбор данных видеопотока.
bool easyar_XREALCameraDevice_start(easyar_XREALCameraDevice * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Boolean |
stop
Остановить сбор данных видеопотока.
void easyar_XREALCameraDevice_stop(easyar_XREALCameraDevice * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Void |
close
Закрыть. После close использовать не следует.
void easyar_XREALCameraDevice_close(easyar_XREALCameraDevice * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Void |
type
Тип камеры. Вызывайте после успешного open.
easyar_CameraDeviceType easyar_XREALCameraDevice_type(const easyar_XREALCameraDevice * This)
CameraDeviceType type()
public int type()
fun type(): Int
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Возвращаемое значение
| Тип | Описание |
|---|---|
| CameraDeviceType |
cameraOrientation
Угол поворота по часовой стрелке, необходимый для отображения изображения с камеры в естественной ориентации устройства. Вызывайте после успешного open.
int easyar_XREALCameraDevice_cameraOrientation(const easyar_XREALCameraDevice * This)
int cameraOrientation()
public int cameraOrientation()
fun cameraOrientation(): Int
- (int)cameraOrientation
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Int32 |
size
Получить текущий размер изображения. Вызывайте после успешного open.
easyar_Vec2I easyar_XREALCameraDevice_size(const easyar_XREALCameraDevice * This)
Vec2I size()
public @Nonnull Vec2I size()
fun size(): Vec2I
- (easyar_Vec2I *)size
public func size() -> Vec2I
public virtual Vec2I size()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Vec2I |
frameRate
Получить текущую частоту кадров. Вызывайте после успешного open.
double easyar_XREALCameraDevice_frameRate(const easyar_XREALCameraDevice * This)
double frameRate()
public double frameRate()
fun frameRate(): Double
- (double)frameRate
public func frameRate() -> Double
public virtual double frameRate()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Double |