Class InertialCameraDevice
- Namespace
- easyar
InertialCameraDevice implements a camera device based on motion inertia, and outputs CameraTransformType as FiveDofRotXZ of InputFrame (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 continuously after close. InertialCameraDevice outputs through inputFrameSource InputFrame, and inputFrameSource should be connected to InputFrameSink for use. bufferCapacity indicates the capacity of the InputFrame buffer. If there are more InputFrame output from the device and not released than this number, the device will no longer output new InputFrame until the previous InputFrame is released. This may cause problems such as screen freezing.
Constructors
InertialCameraDevice
Default creation method.
void easyar_InertialCameraDevice__ctor(easyar_InertialCameraDevice * * Return)
InertialCameraDevice()
public InertialCameraDevice()
constructor()
+ (easyar_InertialCameraDevice *) create
public convenience init()
public InertialCameraDevice()
Methods
isAvailable
Check if available. Return true only when Android 7.0 and above (API Level 24+) and accelerometer, gyroscope, and attitude sensor are available.
bool easyar_InertialCameraDevice_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()
Returns
- Boolean
bufferCapacity
The capacity of the InputFrame buffer, default value is 8.
int easyar_InertialCameraDevice_bufferCapacity(const easyar_InertialCameraDevice * This)
int bufferCapacity()
public int bufferCapacity()
fun bufferCapacity(): Int
- (int)bufferCapacity
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Returns
- Int32
setBufferCapacity
Set the capacity of the InputFrame buffer.
void easyar_InertialCameraDevice_setBufferCapacity(easyar_InertialCameraDevice * 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
capacityInt32
Returns
- Void
inputFrameSource
Output port of InputFrame.
void easyar_InertialCameraDevice_inputFrameSource(easyar_InertialCameraDevice * 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
setFocusMode
Set focus mode to focusMode. Call before start.
void easyar_InertialCameraDevice_setFocusMode(easyar_InertialCameraDevice * This, easyar_InertialCameraDeviceFocusMode focusMode)
void setFocusMode(InertialCameraDeviceFocusMode focusMode)
public void setFocusMode(int focusMode)
fun setFocusMode(focusMode: Int): Unit
- (void)setFocusMode:(easyar_InertialCameraDeviceFocusMode)focusMode
public func setFocusMode(_ focusMode: InertialCameraDeviceFocusMode) -> Void
public virtual void setFocusMode(InertialCameraDeviceFocusMode focusMode)
Parameters
focusModeInertialCameraDeviceFocusMode
Returns
- Void
type
Camera type. Call after successful open.
easyar_CameraDeviceType easyar_InertialCameraDevice_type(const easyar_InertialCameraDevice * This)
CameraDeviceType type()
public int type()
fun type(): Int
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Returns
cameraOrientation
The angle that the camera image needs to rotate clockwise when displayed in the natural orientation of the device. Call after successful open.
int easyar_InertialCameraDevice_cameraOrientation(const easyar_InertialCameraDevice * This)
int cameraOrientation()
public int cameraOrientation()
fun cameraOrientation(): Int
- (int)cameraOrientation
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Returns
- Int32
size
Get the current image size. Call after successful open.
easyar_Vec2I easyar_InertialCameraDevice_size(const easyar_InertialCameraDevice * This)
Vec2I size()
public @Nonnull Vec2I size()
fun size(): Vec2I
- (easyar_Vec2I *)size
public func size() -> Vec2I
public virtual Vec2I size()
Returns
supportedSizeCount
Get the number of all image sizes supported by the current device. Call after successful open.
int easyar_InertialCameraDevice_supportedSizeCount(const easyar_InertialCameraDevice * This)
int supportedSizeCount()
public int supportedSizeCount()
fun supportedSizeCount(): Int
- (int)supportedSizeCount
public func supportedSizeCount() -> Int32
public virtual int supportedSizeCount()
Returns
- Int32
supportedSize
Get the index-th image size supported by the current device. If index is out of range, return {0, 0}. Call after successful open.
easyar_Vec2I easyar_InertialCameraDevice_supportedSize(const easyar_InertialCameraDevice * This, int index)
Vec2I supportedSize(int index)
public @Nonnull Vec2I supportedSize(int index)
fun supportedSize(index: Int): Vec2I
- (easyar_Vec2I *)supportedSize:(int)index
public func supportedSize(_ index: Int32) -> Vec2I
public virtual Vec2I supportedSize(int index)
Parameters
indexInt32
Returns
setSize
Set the current image size. The optional value closest to the set value will be used. You can use size to get the actual size. Call after successful open. After setting size, frameRateRange may change.
bool easyar_InertialCameraDevice_setSize(easyar_InertialCameraDevice * This, easyar_Vec2I size)
bool setSize(Vec2I size)
public boolean setSize(@Nonnull Vec2I size)
fun setSize(size: Vec2I): Boolean
- (bool)setSize:(easyar_Vec2I *)size
public func setSize(_ size: Vec2I) -> Bool
public virtual bool setSize(Vec2I size)
Parameters
sizeVec2I
Returns
- Boolean
open
Open the rear camera of the device, return false if opening fails.
bool easyar_InertialCameraDevice_open(easyar_InertialCameraDevice * This)
bool open()
public boolean open()
fun open(): Boolean
- (bool)open
public func `open`() -> Bool
public virtual bool open()
Returns
- Boolean
start
Start collecting video stream data.
bool easyar_InertialCameraDevice_start(easyar_InertialCameraDevice * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()
Returns
- Boolean
stop
Stop collecting video stream data.
void easyar_InertialCameraDevice_stop(easyar_InertialCameraDevice * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()
Returns
- Void
reset
Reset state.
void easyar_InertialCameraDevice_reset(easyar_InertialCameraDevice * This)
void reset()
public void reset()
fun reset(): Unit
- (void)reset
public func reset() -> Void
public virtual void reset()
Returns
- Void
close
Close. It should not be used continuously after close.
void easyar_InertialCameraDevice_close(easyar_InertialCameraDevice * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()
Returns
- Void
frameRateRangeLower
Get the lower bound of the current frame rate range. Call after successful open.
double easyar_InertialCameraDevice_frameRateRangeLower(const easyar_InertialCameraDevice * This)
double frameRateRangeLower()
public double frameRateRangeLower()
fun frameRateRangeLower(): Double
- (double)frameRateRangeLower
public func frameRateRangeLower() -> Double
public virtual double frameRateRangeLower()
Returns
- Double
frameRateRangeUpper
Get the upper bound of the current frame rate range. Call after successful open.
double easyar_InertialCameraDevice_frameRateRangeUpper(const easyar_InertialCameraDevice * This)
double frameRateRangeUpper()
public double frameRateRangeUpper()
fun frameRateRangeUpper(): Double
- (double)frameRateRangeUpper
public func frameRateRangeUpper() -> Double
public virtual double frameRateRangeUpper()
Returns
- Double