Table of Contents

Class MotionTrackerCameraDevice

Ruang Nama
easyar

MotionTrackerCameraDevice mengimplementasikan perangkat kamera pelacak gerakan 6DOF skala nyata, mengeluarkan InputFrame (berisi gambar, parameter kamera, stempel waktu, informasi posisi 6DOF, dan status pelacakan). Setelah dibuat, start/stop dapat dipanggil untuk memulai dan menghentikan aliran data. Ketika perangkat tidak lagi diperlukan, close dapat dipanggil untuk menutupnya. Setelah close, tidak boleh digunakan lagi. MotionTrackerCameraDevice mengeluarkan InputFrame melalui inputFrameSource, inputFrameSource harus dihubungkan ke InputFrameSink untuk digunakan.

MotionTrackerCameraDevice

Konstruktor

MotionTrackerCameraDevice

Membuat objek MotionTrackerCameraDevice.

void easyar_MotionTrackerCameraDevice__ctor(easyar_MotionTrackerCameraDevice * * Return)
MotionTrackerCameraDevice()
public MotionTrackerCameraDevice()
constructor()
+ (easyar_MotionTrackerCameraDevice *) create
public convenience init()
public MotionTrackerCameraDevice()

Metode

isAvailable

Memeriksa apakah perangkat mendukung Pelacakan Gerakan (Motion Tracking). Mengembalikan True jika perangkat mendukung fitur pelacakan gerakan, jika tidak False.

bool easyar_MotionTrackerCameraDevice_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()

Mengembalikan

Tipe Deskripsi
Boolean

getQualityLevel

Mendapatkan kualitas Pelacakan Gerakan (Motion Tracking) pada perangkat. Nilai ini dapat digunakan, dikombinasikan dengan skenario aplikasi, untuk menilai apakah akan memulai Pelacakan Gerakan.

easyar_MotionTrackerCameraDeviceQualityLevel easyar_MotionTrackerCameraDevice_getQualityLevel(void)
static MotionTrackerCameraDeviceQualityLevel getQualityLevel()
public static int getQualityLevel()
companion object fun getQualityLevel(): Int
+ (easyar_MotionTrackerCameraDeviceQualityLevel)getQualityLevel
public static func getQualityLevel() -> MotionTrackerCameraDeviceQualityLevel
public static MotionTrackerCameraDeviceQualityLevel getQualityLevel()

Mengembalikan

Tipe Deskripsi
MotionTrackerCameraDeviceQualityLevel

setFrameRateType

Mengatur frame rate saat ini perangkat. Dipanggil sebelum start. Jika tidak dipanggil, default adalah 30fps.

bool easyar_MotionTrackerCameraDevice_setFrameRateType(easyar_MotionTrackerCameraDevice * This, easyar_MotionTrackerCameraDeviceFPS fps)
bool setFrameRateType(MotionTrackerCameraDeviceFPS fps)
public boolean setFrameRateType(int fps)
fun setFrameRateType(fps: Int): Boolean
- (bool)setFrameRateType:(easyar_MotionTrackerCameraDeviceFPS)fps
public func setFrameRateType(_ fps: MotionTrackerCameraDeviceFPS) -> Bool
public virtual bool setFrameRateType(MotionTrackerCameraDeviceFPS fps)

Parameter

Nama Tipe Deskripsi
fps MotionTrackerCameraDeviceFPS

Mengembalikan

Tipe Deskripsi
Boolean

setFocusMode

Mengatur mode fokus menjadi focusMode. Dipanggil sebelum start. Jika tidak dipanggil, default adalah fokus otomatis kontinu (continuous autofocus).

bool easyar_MotionTrackerCameraDevice_setFocusMode(easyar_MotionTrackerCameraDevice * This, easyar_MotionTrackerCameraDeviceFocusMode focusMode)
bool setFocusMode(MotionTrackerCameraDeviceFocusMode focusMode)
public boolean setFocusMode(int focusMode)
fun setFocusMode(focusMode: Int): Boolean
- (bool)setFocusMode:(easyar_MotionTrackerCameraDeviceFocusMode)focusMode
public func setFocusMode(_ focusMode: MotionTrackerCameraDeviceFocusMode) -> Bool
public virtual bool setFocusMode(MotionTrackerCameraDeviceFocusMode focusMode)

Parameter

Nama Tipe Deskripsi
focusMode MotionTrackerCameraDeviceFocusMode

Mengembalikan

Tipe Deskripsi
Boolean

setFrameResolutionType

Mengatur resolusi frame. Dipanggil sebelum start. Jika tidak dipanggil, default adalah 1280x960 atau 1280x720.

bool easyar_MotionTrackerCameraDevice_setFrameResolutionType(easyar_MotionTrackerCameraDevice * This, easyar_MotionTrackerCameraDeviceResolution resolution)
bool setFrameResolutionType(MotionTrackerCameraDeviceResolution resolution)
public boolean setFrameResolutionType(int resolution)
fun setFrameResolutionType(resolution: Int): Boolean
- (bool)setFrameResolutionType:(easyar_MotionTrackerCameraDeviceResolution)resolution
public func setFrameResolutionType(_ resolution: MotionTrackerCameraDeviceResolution) -> Bool
public virtual bool setFrameResolutionType(MotionTrackerCameraDeviceResolution resolution)

Parameter

Nama Tipe Deskripsi
resolution MotionTrackerCameraDeviceResolution

Mengembalikan

Tipe Deskripsi
Boolean

setTrackingMode

Mengatur mode pelacakan. Dipanggil sebelum start. Jika tidak dipanggil, default adalah mode jangkar (anchor mode).

bool easyar_MotionTrackerCameraDevice_setTrackingMode(easyar_MotionTrackerCameraDevice * This, easyar_MotionTrackerCameraDeviceTrackingMode trackingMode)
bool setTrackingMode(MotionTrackerCameraDeviceTrackingMode trackingMode)
public boolean setTrackingMode(int trackingMode)
fun setTrackingMode(trackingMode: Int): Boolean
- (bool)setTrackingMode:(easyar_MotionTrackerCameraDeviceTrackingMode)trackingMode
public func setTrackingMode(_ trackingMode: MotionTrackerCameraDeviceTrackingMode) -> Bool
public virtual bool setTrackingMode(MotionTrackerCameraDeviceTrackingMode trackingMode)

Parameter

Nama Tipe Deskripsi
trackingMode MotionTrackerCameraDeviceTrackingMode

Mengembalikan

Tipe Deskripsi
Boolean

setBufferCapacity

Mengatur kapasitas buffer InputFrame. bufferCapacity menunjukkan kapasitas buffer InputFrame. Jika lebih banyak InputFrame yang dikeluarkan dari perangkat ini daripada jumlah ini dan belum dirilis, perangkat tidak akan lagi mengeluarkan InputFrame baru sampai InputFrame sebelumnya dirilis. Ini dapat menyebabkan masalah seperti gambar macet.

void easyar_MotionTrackerCameraDevice_setBufferCapacity(easyar_MotionTrackerCameraDevice * 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)

Parameter

Nama Tipe Deskripsi
capacity Int32

Mengembalikan

Tipe Deskripsi
Void

bufferCapacity

Mendapatkan kapasitas buffer InputFrame, nilai default adalah 8.

int easyar_MotionTrackerCameraDevice_bufferCapacity(const easyar_MotionTrackerCameraDevice * This)
int bufferCapacity()
public int bufferCapacity()
fun bufferCapacity(): Int
- (int)bufferCapacity
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()

Mengembalikan

Tipe Deskripsi
Int32

inputFrameSource

Port output InputFrame.

void easyar_MotionTrackerCameraDevice_inputFrameSource(easyar_MotionTrackerCameraDevice * 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()

Mengembalikan

Tipe Deskripsi
InputFrameSource

start

Memulai pelacakan gerakan, atau memicu relokasi dari jeda, melanjutkan pelacakan setelah berhasil. Catatan: Jika perangkat dipanggil stop untuk dijeda lalu dipanggil start untuk dilacak, akan memicu relokasi. Pelacakan akan dilanjutkan hanya setelah relokasi berhasil.

bool easyar_MotionTrackerCameraDevice_start(easyar_MotionTrackerCameraDevice * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()

Mengembalikan

Tipe Deskripsi
Boolean

stop

Menjeda pelacakan gerakan. Memanggil start akan memicu relokasi, pelacakan gerakan dilanjutkan setelah relokasi berhasil.

void easyar_MotionTrackerCameraDevice_stop(easyar_MotionTrackerCameraDevice * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()

Mengembalikan

Tipe Deskripsi
Void

close

Menutup proses pelacakan gerakan. Setelah close, tidak boleh digunakan lagi.

void easyar_MotionTrackerCameraDevice_close(easyar_MotionTrackerCameraDevice * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()

Mengembalikan

Tipe Deskripsi
Void

type

Tipe kamera. Dipanggil setelah start berhasil.

easyar_CameraDeviceType easyar_MotionTrackerCameraDevice_type(const easyar_MotionTrackerCameraDevice * This)
CameraDeviceType type()
public int type()
fun type(): Int
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()

Mengembalikan

Tipe Deskripsi
CameraDeviceType

cameraOrientation

Sudut rotasi searah jarum jam yang diperlukan agar gambar kamera ditampilkan sesuai orientasi alami perangkat. Dipanggil setelah start berhasil.

int easyar_MotionTrackerCameraDevice_cameraOrientation(const easyar_MotionTrackerCameraDevice * This)
int cameraOrientation()
public int cameraOrientation()
fun cameraOrientation(): Int
- (int)cameraOrientation
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()

Mengembalikan

Tipe Deskripsi
Int32

size

Mendapatkan ukuran gambar saat ini. Dipanggil setelah start berhasil.

easyar_Vec2I easyar_MotionTrackerCameraDevice_size(const easyar_MotionTrackerCameraDevice * This)
Vec2I size()
public @Nonnull Vec2I size()
fun size(): Vec2I
- (easyar_Vec2I *)size
public func size() -> Vec2I
public virtual Vec2I size()

Mengembalikan

Tipe Deskripsi
Vec2I

frameRateRangeLower

Mendapatkan batas bawah rentang frame rate saat ini. Dipanggil setelah open berhasil.

double easyar_MotionTrackerCameraDevice_frameRateRangeLower(const easyar_MotionTrackerCameraDevice * This)
double frameRateRangeLower()
public double frameRateRangeLower()
fun frameRateRangeLower(): Double
- (double)frameRateRangeLower
public func frameRateRangeLower() -> Double
public virtual double frameRateRangeLower()

Mengembalikan

Tipe Deskripsi
Double

frameRateRangeUpper

Mendapatkan batas atas rentang frame rate saat ini. Dipanggil setelah open berhasil.

double easyar_MotionTrackerCameraDevice_frameRateRangeUpper(const easyar_MotionTrackerCameraDevice * This)
double frameRateRangeUpper()
public double frameRateRangeUpper()
fun frameRateRangeUpper(): Double
- (double)frameRateRangeUpper
public func frameRateRangeUpper() -> Double
public virtual double frameRateRangeUpper()

Mengembalikan

Tipe Deskripsi
Double

hitTestAgainstPointCloud

Melakukan Hit Test pada point cloud saat ini, mendapatkan koordinat posisi titik 3D terdekat pada satu sinar dari dekat ke jauh dari kamera. Titik diwakili oleh tiga nilai berurutan, masing-masing mewakili koordinat pada sumbu X, Y, Z. Sistem koordinat gambar input ([0, 1]^2) memiliki x ke kanan, y ke bawah, dengan titik asal di kiri atas. Gunakan imageCoordinatesFromScreenCoordinates untuk mengubah koordinat layar menjadi koordinat gambar.

void easyar_MotionTrackerCameraDevice_hitTestAgainstPointCloud(easyar_MotionTrackerCameraDevice * This, easyar_Vec2F cameraImagePoint, easyar_ListOfVec3F * * Return)
std::vector<Vec3F> hitTestAgainstPointCloud(Vec2F cameraImagePoint)
public java.util.@Nonnull ArrayList<@Nonnull Vec3F> hitTestAgainstPointCloud(@Nonnull Vec2F cameraImagePoint)
fun hitTestAgainstPointCloud(cameraImagePoint: Vec2F): ArrayList<Vec3F>
- (NSArray<easyar_Vec3F *> *)hitTestAgainstPointCloud:(easyar_Vec2F *)cameraImagePoint
public func hitTestAgainstPointCloud(_ cameraImagePoint: Vec2F) -> [Vec3F]
public virtual List<Vec3F> hitTestAgainstPointCloud(Vec2F cameraImagePoint)

Parameter

Nama Tipe Deskripsi
cameraImagePoint Vec2F

Mengembalikan

Tipe Deskripsi
List<Vec3F>

hitTestAgainstHorizontalPlane

Melakukan Hit Test pada bidang horizontal yang terdeteksi secara real-time dalam pandangan saat ini. Setelah mengetuk suatu bidang horizontal, mengembalikan koordinat posisi titik 3D terdekat pada bidang tersebut ke sinar Hit Test. Sistem koordinat gambar input ([0, 1]^2) memiliki x ke kanan, y ke bawah, dengan titik asal di kiri atas. Gunakan imageCoordinatesFromScreenCoordinates untuk mengubah koordinat layar menjadi koordinat gambar. Output adalah koordinat titik pada bidang dalam sistem koordinat dunia. Setiap titik diwakili oleh tiga nilai berurutan, masing-masing mewakili koordinat pada sumbu X, Y, Z.

void easyar_MotionTrackerCameraDevice_hitTestAgainstHorizontalPlane(easyar_MotionTrackerCameraDevice * This, easyar_Vec2F cameraImagePoint, easyar_ListOfVec3F * * Return)
std::vector<Vec3F> hitTestAgainstHorizontalPlane(Vec2F cameraImagePoint)
public java.util.@Nonnull ArrayList<@Nonnull Vec3F> hitTestAgainstHorizontalPlane(@Nonnull Vec2F cameraImagePoint)
fun hitTestAgainstHorizontalPlane(cameraImagePoint: Vec2F): ArrayList<Vec3F>
- (NSArray<easyar_Vec3F *> *)hitTestAgainstHorizontalPlane:(easyar_Vec2F *)cameraImagePoint
public func hitTestAgainstHorizontalPlane(_ cameraImagePoint: Vec2F) -> [Vec3F]
public virtual List<Vec3F> hitTestAgainstHorizontalPlane(Vec2F cameraImagePoint)

Parameter

Nama Tipe Deskripsi
cameraImagePoint Vec2F

Mengembalikan

Tipe Deskripsi
List<Vec3F>

getLocalPointsCloud

Mendapatkan informasi posisi data point cloud saat ini. Posisi point cloud adalah dalam sistem koordinat dunia, setiap titik diwakili oleh tiga nilai berurutan, masing-masing mewakili koordinat pada sumbu X, Y, Z.

void easyar_MotionTrackerCameraDevice_getLocalPointsCloud(easyar_MotionTrackerCameraDevice * This, easyar_ListOfVec3F * * Return)
std::vector<Vec3F> getLocalPointsCloud()
public java.util.@Nonnull ArrayList<@Nonnull Vec3F> getLocalPointsCloud()
fun getLocalPointsCloud(): ArrayList<Vec3F>
- (NSArray<easyar_Vec3F *> *)getLocalPointsCloud
public func getLocalPointsCloud() -> [Vec3F]
public virtual List<Vec3F> getLocalPointsCloud()

Mengembalikan

Tipe Deskripsi
List<Vec3F>