Class MegaGoTracker
Menawarkan fungsi pemetaan lokasi di perangkat.
MegaGoTracker menggunakan 2 buffer kamera.
MegaGoTracker
Metode
isAvailable
Periksa apakah komponen tersedia. Di Android, diperlukan API Level 24 atau lebih tinggi; semua platform harus memenuhi dependensi waktu runtime yang diperlukan.
bool easyar_MegaGoTracker_isAvailable(void)
static bool isAvailable()
public static boolean isAvailable()
companion object fun isAvailable(): Boolean
public static func isAvailable() -> Bool
public static bool isAvailable()
Mengembalikan
Port input untuk input frame. Input frame harus berisi gambar, parameter kamera, dan timestamp. Informasi ruang 6DoF harus berisi cameraTransform dan trackingStatus. Lihat InputFrameSink.
void easyar_MegaGoTracker_inputFrameSink(easyar_MegaGoTracker * 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()
Mengembalikan
accelerometerResultSink
void easyar_MegaGoTracker_accelerometerResultSink(easyar_MegaGoTracker * This, easyar_AccelerometerResultSink * * Return)
std::shared_ptr<AccelerometerResultSink> accelerometerResultSink()
public @Nonnull AccelerometerResultSink accelerometerResultSink()
fun accelerometerResultSink(): AccelerometerResultSink
- (easyar_AccelerometerResultSink *)accelerometerResultSink
public func accelerometerResultSink() -> AccelerometerResultSink
public virtual AccelerometerResultSink accelerometerResultSink()
Mengembalikan
bufferRequirement
Jumlah buffer kamera yang digunakan oleh komponen saat ini.
int easyar_MegaGoTracker_bufferRequirement(const easyar_MegaGoTracker * This)
public int bufferRequirement()
fun bufferRequirement(): Int
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()
Mengembalikan
outputFrameSource
void easyar_MegaGoTracker_outputFrameSource(easyar_MegaGoTracker * 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()
Mengembalikan
create
void easyar_MegaGoTracker_create(easyar_MegaGoTracker * * Return)
static std::shared_ptr<MegaGoTracker> create()
public static @Nonnull MegaGoTracker create()
companion object fun create(): MegaGoTracker
+ (easyar_MegaGoTracker *)create
public static func create() throws -> MegaGoTracker
public static MegaGoTracker create()
Mengembalikan
Ekstrak informasi blok dari file peta.
void easyar_MegaGoTracker_extractBlockInfoFromFile(easyar_String * path, easyar_OptionalOfMegaGoBlockInfo * Return)
static std::optional<std::shared_ptr<MegaGoBlockInfo>> extractBlockInfoFromFile(std::string path)
public static @Nullable MegaGoBlockInfo extractBlockInfoFromFile(java.lang.@Nonnull String path)
companion object fun extractBlockInfoFromFile(path: String): MegaGoBlockInfo?
+ (easyar_MegaGoBlockInfo *)extractBlockInfoFromFile:(NSString *)path
public static func extractBlockInfoFromFile(_ path: String) -> MegaGoBlockInfo?
public static Optional<MegaGoBlockInfo> extractBlockInfoFromFile(string path)
Parameter
| Nama |
Tipe |
Deskripsi |
| path |
String |
|
Mengembalikan
Ekstraksi informasi blok dari data memori peta.
void easyar_MegaGoTracker_extractBlockInfoFromBuffer(easyar_Buffer * buffer, easyar_OptionalOfMegaGoBlockInfo * Return)
static std::optional<std::shared_ptr<MegaGoBlockInfo>> extractBlockInfoFromBuffer(std::shared_ptr<Buffer> buffer)
public static @Nullable MegaGoBlockInfo extractBlockInfoFromBuffer(@Nonnull Buffer buffer)
companion object fun extractBlockInfoFromBuffer(buffer: Buffer): MegaGoBlockInfo?
+ (easyar_MegaGoBlockInfo *)extractBlockInfoFromBuffer:(easyar_Buffer *)buffer
public static func extractBlockInfoFromBuffer(_ buffer: Buffer) -> MegaGoBlockInfo?
public static Optional<MegaGoBlockInfo> extractBlockInfoFromBuffer(Buffer buffer)
Parameter
| Nama |
Tipe |
Deskripsi |
| buffer |
Buffer |
|
Mengembalikan
setEnableStatelessLocalization
Atur apakah mengaktifkan penentuan lokasi stateless. Saat penentuan lokasi stateless diaktifkan, hasil penentuan lokasi sebelumnya tidak akan digunakan saat penentuan lokasi. Nilai defaultnya adalah false.
void easyar_MegaGoTracker_setEnableStatelessLocalization(easyar_MegaGoTracker * This, bool enableStatelessLocalization)
void setEnableStatelessLocalization(bool enableStatelessLocalization)
public void setEnableStatelessLocalization(boolean enableStatelessLocalization)
fun setEnableStatelessLocalization(enableStatelessLocalization: Boolean): Unit
- (void)setEnableStatelessLocalization:(bool)enableStatelessLocalization
public func setEnableStatelessLocalization(_ enableStatelessLocalization: Bool) -> Void
public virtual void setEnableStatelessLocalization(bool enableStatelessLocalization)
Parameter
| Nama |
Tipe |
Deskripsi |
| enableStatelessLocalization |
Boolean |
|
Mengembalikan
setResultAsyncMode
Atur mode asinkron hasil. Jika hasil dioutputkan melalui outputFrameSource, harus diatur menjadi true; jika hasil diambil melalui getSyncResult, harus diatur menjadi false. Nilai defaultnya adalah true. Mode sinkron hanya tersedia saat menggunakan XR License. Mengembalikan true jika mode permintaan berhasil diterapkan; mengembalikan false dan tetap dalam mode asinkron jika mode sinkron tidak didukung.
bool easyar_MegaGoTracker_setResultAsyncMode(easyar_MegaGoTracker * This, bool enableAsync)
bool setResultAsyncMode(bool enableAsync)
public boolean setResultAsyncMode(boolean enableAsync)
fun setResultAsyncMode(enableAsync: Boolean): Boolean
- (bool)setResultAsyncMode:(bool)enableAsync
public func setResultAsyncMode(_ enableAsync: Bool) -> Bool
public virtual bool setResultAsyncMode(bool enableAsync)
Parameter
| Nama |
Tipe |
Deskripsi |
| enableAsync |
Boolean |
|
Mengembalikan
status
Kembalikan status operasi saat ini dari MegaGoTracker.
easyar_MegaGoTrackerStatus easyar_MegaGoTracker_status(const easyar_MegaGoTracker * This)
MegaGoTrackerStatus status()
- (easyar_MegaGoTrackerStatus)status
public func status() -> MegaGoTrackerStatus
public virtual MegaGoTrackerStatus status()
Mengembalikan
error
Kembalikan kesalahan saat ini dari MegaGoTracker. Kosong jika tidak ada kesalahan.
easyar_OptionalOfMegaGoTrackerError easyar_MegaGoTracker_error(const easyar_MegaGoTracker * This)
std::optional<MegaGoTrackerError> error()
public @Nullable Integer error()
public func error() -> MegaGoTrackerError?
public virtual Optional<MegaGoTrackerError> error()
Mengembalikan
setLocalizationCallback
Atur callback lokasi. Ketika status operasi adalah Detecting atau Tracking, setiap respons lokasi yang valid dan tidak dibatalkan akan melaporkan apakah itu telah memperbarui output, serta stempel waktu bingkai input yang sesuai.
void easyar_MegaGoTracker_setLocalizationCallback(easyar_MegaGoTracker * This, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTrackerLocalizationResponse callback)
void setLocalizationCallback(std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTrackerLocalizationResponse>)> callback)
public void setLocalizationCallback(@Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTrackerLocalizationResponse callback)
fun setLocalizationCallback(callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTrackerLocalizationResponse): Unit
- (void)setLocalizationCallback:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTrackerLocalizationResponse * response))callback
public func setLocalizationCallback(_ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTrackerLocalizationResponse) -> Void) -> Void
public virtual void setLocalizationCallback(CallbackScheduler callbackScheduler, Action<MegaGoTrackerLocalizationResponse> callback)
Parameter
Mengembalikan
setCameraPositionOverride
Atur nilai overlap posisi kamera relatif terhadap blok peta. Setelah diatur, MegaGoTracker akan mengeluarkan nilai overlap dan tidak menggunakan koordinat yang sesuai dalam data frame masukan. Dapat digunakan untuk meningkatkan akurasi pose keluaran ketika informasi peta diketahui dan sensor terbatas.
void easyar_MegaGoTracker_setCameraPositionOverride(easyar_MegaGoTracker * This, easyar_OptionalOfFloat x, easyar_OptionalOfFloat y, easyar_OptionalOfFloat z)
void setCameraPositionOverride(std::optional<float> x, std::optional<float> y, std::optional<float> z)
public void setCameraPositionOverride(java.lang.@Nullable Float x, java.lang.@Nullable Float y, java.lang.@Nullable Float z)
fun setCameraPositionOverride(x: Float?, y: Float?, z: Float?): Unit
- (void)setCameraPositionOverride:(NSNumber *)x y:(NSNumber *)y z:(NSNumber *)z
public func setCameraPositionOverride(_ x: Float?, _ y: Float?, _ z: Float?) -> Void
public virtual void setCameraPositionOverride(Optional<float> x, Optional<float> y, Optional<float> z)
Parameter
| Nama |
Tipe |
Deskripsi |
| x |
Optional<Single> |
|
| y |
Optional<Single> |
|
| z |
Optional<Single> |
|
Mengembalikan
loadTargetFromFile
Memuat sebuah target secara asinkron dari file. Target hanya dapat digunakan untuk pelokalan setelah berhasil dimuat.
Hanya ada satu target yang dapat aktif pada satu waktu. Memanggil metode ini akan segera menghapus instance blok yang saat ini dilokalisasi oleh Tracker dan status pelacakan yang terkumpul. Jika pemuatan kali ini gagal atau dibatalkan, target dan instance pelokalan sebelumnya tidak akan dipulihkan.
Memanggil metode ini akan menggantikan permintaan pemuatan yang belum selesai. Pemuatan yang sedang berlangsung mungkin tidak dapat segera dihentikan; callback dari permintaan yang digantikan akan dipanggil setelah operasi selesai, dengan status hasil MegaGoTargetLoadStatus.Canceled.
Jika target tidak dapat diuraikan atau isinya rusak, status hasilnya adalah MegaGoTargetLoadStatus.InvalidTarget.
Metode ini akan segera mengembalikan nilai. Setelah pemuatan selesai, callback akan dipanggil pada thread yang ditentukan oleh CallbackScheduler; jika berhasil, hasilnya akan berisi informasi blok yang dimuat. MegaGoTargetLoadStatus.Success hanya menunjukkan bahwa data target berhasil dimuat. Verifikasi selanjutnya masih dapat dilakukan atau gagal, status dan kesalahan pemrosesan saat ini MegaGoTracker harus diperiksa melalui status dan error. Setelah MegaGoTracker ditutup, callback yang belum dieksekusi tidak akan dipanggil lagi.
void easyar_MegaGoTracker_loadTargetFromFile(easyar_MegaGoTracker * This, easyar_String * path, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTargetLoadResult callback)
void loadTargetFromFile(std::string path, std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTargetLoadResult>)> callback)
public void loadTargetFromFile(java.lang.@Nonnull String path, @Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTargetLoadResult callback)
fun loadTargetFromFile(path: String, callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTargetLoadResult): Unit
- (void)loadTargetFromFile:(NSString *)path callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTargetLoadResult * result))callback
public func loadTargetFromFile(_ path: String, _ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTargetLoadResult) -> Void) -> Void
public virtual void loadTargetFromFile(string path, CallbackScheduler callbackScheduler, Action<MegaGoTargetLoadResult> callback)
Parameter
Mengembalikan
loadTargetFromBuffer
Memuat target secara asinkron dari memori. Target hanya dapat digunakan untuk penentuan lokasi setelah berhasil dimuat.
Hanya ada satu target yang dapat aktif pada satu waktu. Memanggil metode ini akan segera menghapus instance blok yang saat ini ditemukan oleh Tracker dan status pelacakan yang terkumpul. Jika pemuatan kali ini gagal atau dibatalkan, target dan instance penentuan lokasi sebelumnya tidak akan dipulihkan.
Memanggil metode ini akan menggantikan permintaan pemuatan yang belum selesai. Pemuatan yang sedang berlangsung mungkin tidak dapat segera dihentikan; callback dari permintaan yang digantikan akan dipanggil setelah operasi selesai, dengan status hasilnya adalah MegaGoTargetLoadStatus.Canceled.
Jika target tidak dapat diuraikan atau isinya rusak, status hasilnya adalah MegaGoTargetLoadStatus.InvalidTarget.
Metode ini akan segera mengembalikan nilai. Setelah pemuatan selesai, callback akan dipanggil pada thread yang ditentukan oleh CallbackScheduler; jika berhasil, hasilnya akan berisi informasi blok yang dimuat. MegaGoTargetLoadStatus.Success hanya menunjukkan bahwa data target berhasil dimuat. Validasi selanjutnya masih dapat dilakukan atau gagal, status dan kesalahan pemrosesan saat ini dari MegaGoTracker harus diperiksa melalui status dan error. Setelah MegaGoTracker ditutup, callback yang belum dieksekusi tidak akan dipanggil lagi.
void easyar_MegaGoTracker_loadTargetFromBuffer(easyar_MegaGoTracker * This, easyar_Buffer * buffer, easyar_CallbackScheduler * callbackScheduler, easyar_FunctorOfVoidFromMegaGoTargetLoadResult callback)
void loadTargetFromBuffer(std::shared_ptr<Buffer> buffer, std::shared_ptr<CallbackScheduler> callbackScheduler, std::function<void(std::shared_ptr<MegaGoTargetLoadResult>)> callback)
public void loadTargetFromBuffer(@Nonnull Buffer buffer, @Nonnull CallbackScheduler callbackScheduler, @Nonnull FunctorOfVoidFromMegaGoTargetLoadResult callback)
fun loadTargetFromBuffer(buffer: Buffer, callbackScheduler: CallbackScheduler, callback: FunctorOfVoidFromMegaGoTargetLoadResult): Unit
- (void)loadTargetFromBuffer:(easyar_Buffer *)buffer callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler callback:(void (^)(easyar_MegaGoTargetLoadResult * result))callback
public func loadTargetFromBuffer(_ buffer: Buffer, _ callbackScheduler: CallbackScheduler, _ callback: @escaping (MegaGoTargetLoadResult) -> Void) -> Void
public virtual void loadTargetFromBuffer(Buffer buffer, CallbackScheduler callbackScheduler, Action<MegaGoTargetLoadResult> callback)
Parameter
Mengembalikan
unloadTarget
Hapus target saat ini, dan bersihkan instance penentuan lokasi saat ini dan status pelacakan yang terkumpul. Status logika target akan segera berubah menjadi tidak terload.
Memanggil metode ini juga akan menggantikan semua permintaan load yang belum selesai. Load yang sedang berlangsung mungkin tidak bisa segera dihentikan; callback dari permintaan yang digantikan akan dipanggil setelah operasi selesai, dengan status hasilnya adalah MegaGoTargetLoadStatus.Canceled.
Metode ini tidak memiliki callback, dan tidak akan menunggu operasi penghapusan selesai. Jika tidak ada target yang terload atau sedang di-load, memanggil metode ini tidak akan menghasilkan efek tambahan.
void easyar_MegaGoTracker_unloadTarget(easyar_MegaGoTracker * This)
public void unloadTarget()
public func unloadTarget() -> Void
public virtual void unloadTarget()
Mengembalikan
start
Mulai memproses frame input dan mengeluarkan hasil. Mengembalikan true jika pemanggilan berhasil; mengembalikan false jika MegaGoTracker telah ditutup. Pemanggilan berulang tidak akan menghasilkan efek tambahan.
Memanggil metode ini setelah stop akan terus menggunakan target yang telah dimuat, tanpa perlu memuat ulang.
bool easyar_MegaGoTracker_start(easyar_MegaGoTracker * This)
public func start() -> Bool
public virtual bool start()
Mengembalikan
stop
Hentikan pemrosesan frame masukan dan bersihkan instance blok yang saat ini ditemukan dan status pelacakan yang terkumpul. Hasil pemrosesan yang belum selesai akan dibuang.
Target yang telah dimuat tidak akan dilepas, dan pemuatan target yang belum selesai juga tidak akan dibatalkan, callback-nya tetap akan dipanggil. Pada saat ini, status operasinya adalah Idle; panggil start untuk melanjutkan menggunakan target yang telah dimuat.
void easyar_MegaGoTracker_stop(easyar_MegaGoTracker * This)
public func stop() -> Void
public virtual void stop()
Mengembalikan
close
Tutup MegaGoTracker secara permanen, hentikan pemrosesan frame masukan, bersihkan instance block yang saat ini terlokalisasi dan status pelacakan yang terkumpul, cabut target, dan lepaskan sumber daya terkait. Pemanggilan berulang tidak akan menghasilkan efek tambahan.
Semua operasi lokalisasi dan pemuatan target yang belum selesai akan dibatalkan, callback yang belum dieksekusi tidak akan dipanggil lagi. Metode ini mungkin menunggu operasi yang sedang berlangsung selesai sebelum mengembalikan nilai. Setelah close, jangan terus menggunakan MegaGoTracker, pemanggilan start akan mengembalikan false.
void easyar_MegaGoTracker_close(easyar_MegaGoTracker * This)
public func close() -> Void
public virtual void close()
Mengembalikan
getSyncResult
Dapatkan hasil output sinkronisasi. motionInputData harus tidak kosong, dan mode sinkronisasi perlu diaktifkan melalui setResultAsyncMode. Ketika MegaGoTracker telah dijeda, ditutup, berada dalam keadaan kesalahan, atau saat ini tidak dapat menghasilkan hasil sinkronisasi, nilai kembaliannya kosong.
void easyar_MegaGoTracker_getSyncResult(easyar_MegaGoTracker * This, easyar_MotionInputData * motionInputData, easyar_OptionalOfMegaGoTrackerResult * Return)
std::optional<std::shared_ptr<MegaGoTrackerResult>> getSyncResult(std::shared_ptr<MotionInputData> motionInputData)
public @Nullable MegaGoTrackerResult getSyncResult(@Nonnull MotionInputData motionInputData)
fun getSyncResult(motionInputData: MotionInputData): MegaGoTrackerResult?
- (easyar_MegaGoTrackerResult *)getSyncResult:(easyar_MotionInputData *)motionInputData
public func getSyncResult(_ motionInputData: MotionInputData) -> MegaGoTrackerResult?
public virtual Optional<MegaGoTrackerResult> getSyncResult(MotionInputData motionInputData)
Parameter
Mengembalikan