Class MotionTrackerCameraDevice
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()
+ (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
public static func isAvailable() -> Bool
public static bool isAvailable()
Mengembalikan
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
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
Mengembalikan
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
Mengembalikan
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
Mengembalikan
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
Mengembalikan
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
bufferCapacity
Mendapatkan kapasitas buffer InputFrame, nilai default adalah 8.
int easyar_MotionTrackerCameraDevice_bufferCapacity(const easyar_MotionTrackerCameraDevice * This)
public int bufferCapacity()
fun bufferCapacity(): Int
public func bufferCapacity() -> Int32
public virtual int bufferCapacity()
Mengembalikan
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
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)
public func start() -> Bool
public virtual bool start()
Mengembalikan
stop
Menjeda pelacakan gerakan. Memanggil start akan memicu relokasi, pelacakan gerakan dilanjutkan setelah relokasi berhasil.
void easyar_MotionTrackerCameraDevice_stop(easyar_MotionTrackerCameraDevice * This)
public func stop() -> Void
public virtual void stop()
Mengembalikan
close
Menutup proses pelacakan gerakan. Setelah close, tidak boleh digunakan lagi.
void easyar_MotionTrackerCameraDevice_close(easyar_MotionTrackerCameraDevice * This)
public func close() -> Void
public virtual void close()
Mengembalikan
type
Tipe kamera. Dipanggil setelah start berhasil.
easyar_CameraDeviceType easyar_MotionTrackerCameraDevice_type(const easyar_MotionTrackerCameraDevice * This)
- (easyar_CameraDeviceType)type
public func type() -> CameraDeviceType
public virtual CameraDeviceType type()
Mengembalikan
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)
public int cameraOrientation()
fun cameraOrientation(): Int
public func cameraOrientation() -> Int32
public virtual int cameraOrientation()
Mengembalikan
size
Mendapatkan ukuran gambar saat ini. Dipanggil setelah start berhasil.
easyar_Vec2I easyar_MotionTrackerCameraDevice_size(const easyar_MotionTrackerCameraDevice * This)
public @Nonnull Vec2I size()
public func size() -> Vec2I
public virtual Vec2I size()
Mengembalikan
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
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
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> |
|