Class SurfaceTracker
- Пространство имен
- easyar
SurfaceTracker реализует tracking поверхностей окружения. SurfaceTracker занимает 1 camera buffer. Используйте setBufferCapacity у camera, чтобы задать значение не меньше общего количества camera buffers, занятых всеми компонентами. После создания можно вызывать start/stop для запуска и остановки работы. start/stop являются очень легкими вызовами. Когда этот компонент больше не нужен, вызовите close, чтобы закрыть его. После close использовать его не следует. SurfaceTracker вводит InputFrame через inputFrameSink. Для использования подключите InputFrameSource к inputFrameSink.
Методы
isAvailable
Возвращает true только на системах Android и iOS, когда доступны акселерометр и гироскоп.
bool easyar_SurfaceTracker_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 |
inputFrameSink
Входной порт InputFrame. InputFrame должен иметь image, timestamp и camera parameters. Примечание: camera не поддерживает fisheye camera model.
void easyar_SurfaceTracker_inputFrameSink(easyar_SurfaceTracker * This, easyar_InputFrameSink * * Return)
std::shared_ptr<InputFrameSink> inputFrameSink()
public @Nonnull InputFrameSink inputFrameSink()
fun inputFrameSink(): InputFrameSink
- (easyar_InputFrameSink *)inputFrameSink
public func inputFrameSink() -> InputFrameSink
public virtual InputFrameSink inputFrameSink()
Возвращаемое значение
| Тип | Описание |
|---|---|
| InputFrameSink |
bufferRequirement
Количество camera buffers, которые сейчас занимает этот компонент.
int easyar_SurfaceTracker_bufferRequirement(easyar_SurfaceTracker * This)
int bufferRequirement()
public int bufferRequirement()
fun bufferRequirement(): Int
- (int)bufferRequirement
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Int32 |
outputFrameSource
Выходной порт OutputFrame.
void easyar_SurfaceTracker_outputFrameSource(easyar_SurfaceTracker * This, easyar_OutputFrameSource * * Return)
std::shared_ptr<OutputFrameSource> outputFrameSource()
public @Nonnull OutputFrameSource outputFrameSource()
fun outputFrameSource(): OutputFrameSource
- (easyar_OutputFrameSource *)outputFrameSource
public func outputFrameSource() -> OutputFrameSource
public virtual OutputFrameSource outputFrameSource()
Возвращаемое значение
| Тип | Описание |
|---|---|
| OutputFrameSource |
create
Создает.
void easyar_SurfaceTracker_create(easyar_SurfaceTracker * * Return)
static std::shared_ptr<SurfaceTracker> create()
public static @Nonnull SurfaceTracker create()
companion object fun create(): SurfaceTracker
+ (easyar_SurfaceTracker *)create
public static func create() -> SurfaceTracker
public static SurfaceTracker create()
Возвращаемое значение
| Тип | Описание |
|---|---|
| SurfaceTracker |
start
Запускает алгоритм tracking.
bool easyar_SurfaceTracker_start(easyar_SurfaceTracker * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Boolean |
stop
Приостанавливает алгоритм tracking. Вызовите start, чтобы перезапустить tracking.
void easyar_SurfaceTracker_stop(easyar_SurfaceTracker * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Void |
close
Закрывает. После close использовать не следует.
void easyar_SurfaceTracker_close(easyar_SurfaceTracker * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()
Возвращаемое значение
| Тип | Описание |
|---|---|
| Void |
alignTargetToCameraImagePoint
Выравнивает tracked target point по указанной точке на camera image. В image coordinate system ([0, 1]^2) x направлена вправо, y вниз, а origin находится в левом верхнем углу. Используйте imageCoordinatesFromScreenCoordinates, чтобы преобразовать screen coordinates в image coordinates.
void easyar_SurfaceTracker_alignTargetToCameraImagePoint(easyar_SurfaceTracker * This, easyar_Vec2F cameraImagePoint)
void alignTargetToCameraImagePoint(Vec2F cameraImagePoint)
public void alignTargetToCameraImagePoint(@Nonnull Vec2F cameraImagePoint)
fun alignTargetToCameraImagePoint(cameraImagePoint: Vec2F): Unit
- (void)alignTargetToCameraImagePoint:(easyar_Vec2F *)cameraImagePoint
public func alignTargetToCameraImagePoint(_ cameraImagePoint: Vec2F) -> Void
public virtual void alignTargetToCameraImagePoint(Vec2F cameraImagePoint)
Параметры
| Имя | Тип | Описание |
|---|---|---|
| cameraImagePoint | Vec2F |
Возвращаемое значение
| Тип | Описание |
|---|---|
| Void |