Table of Contents

Class SparseSpatialMap

Ruang Nama
easyar

Menyediakan fungsi utama sistem SparseSpatialMap, pembuatan dan penyimpanan peta, pemuatan peta dan pelokalan, sekaligus memperoleh informasi lingkungan seperti point-cloud, bidang, dan melakukan hit-test. SparseSpatialMap menggunakan 2 buffer kamera. Gunakan setBufferCapacity kamera untuk mengatur tidak kurang dari jumlah buffer kamera yang digunakan oleh semua komponen.

SparseSpatialMap

Metode

isAvailable

Memeriksa apakah SparseSpatialMap tersedia. Selalu mengembalikan true.

bool easyar_SparseSpatialMap_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

inputFrameSink

Port input bingkai input. Bingkai input SparseSpatialMap harus berisi parameter kamera, informasi timestamp, dan informasi spasial (cameraTransform dan trackingStatus). Lihat InputFrameSink. Catatan: Kamera mendukung model kamera pinhole dan fisheye, penggunaan kamera fisheye memengaruhi kinerja.

void easyar_SparseSpatialMap_inputFrameSink(easyar_SparseSpatialMap * 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

Tipe Deskripsi
InputFrameSink

bufferRequirement

Jumlah buffer kamera yang saat ini digunakan oleh komponen ini.

int easyar_SparseSpatialMap_bufferRequirement(easyar_SparseSpatialMap * This)
int bufferRequirement()
public int bufferRequirement()
fun bufferRequirement(): Int
- (int)bufferRequirement
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()

Mengembalikan

Tipe Deskripsi
Int32

outputFrameSource

Port output bingkai output. Lihat OutputFrameSource.

void easyar_SparseSpatialMap_outputFrameSource(easyar_SparseSpatialMap * 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

Tipe Deskripsi
OutputFrameSource

create

Membangun SparseSpatialMap.

void easyar_SparseSpatialMap_create(easyar_SparseSpatialMap * * Return)
static std::shared_ptr<SparseSpatialMap> create()
public static @Nonnull SparseSpatialMap create()
companion object fun create(): SparseSpatialMap
+ (easyar_SparseSpatialMap *)create
public static func create() -> SparseSpatialMap
public static SparseSpatialMap create()

Mengembalikan

Tipe Deskripsi
SparseSpatialMap

setResultPoseType

Mengatur tipe pose hasil. Secara default enableStabilization adalah false. Hanya berlaku jika InputFrame berisi informasi spasial.

void easyar_SparseSpatialMap_setResultPoseType(easyar_SparseSpatialMap * This, bool enableStabilization)
void setResultPoseType(bool enableStabilization)
public void setResultPoseType(boolean enableStabilization)
fun setResultPoseType(enableStabilization: Boolean): Unit
- (void)setResultPoseType:(bool)enableStabilization
public func setResultPoseType(_ enableStabilization: Bool) -> Void
public virtual void setResultPoseType(bool enableStabilization)

Parameter

Nama Tipe Deskripsi
enableStabilization Boolean

Mengembalikan

Tipe Deskripsi
Void

setResultAsyncMode

Mengatur mode hasil asinkron. Jika hasil dikeluarkan melalui outputFrameSource, atur ke true; jika hasil diperoleh melalui getSyncResult, atur ke false. Secara default enableAsync adalah true. Mode sinkron hanya berlaku jika bingkai input berisi informasi spasial dan menggunakan Lisensi XR.

bool easyar_SparseSpatialMap_setResultAsyncMode(easyar_SparseSpatialMap * 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

Tipe Deskripsi
Boolean

start

Memulai algoritma SparseSpatialMap.

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

Mengembalikan

Tipe Deskripsi
Boolean

stop

Menghentikan algoritma SparseSpatialMap. Panggil start untuk menjalankan kembali.

void easyar_SparseSpatialMap_stop(easyar_SparseSpatialMap * 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 SparseSpatialMap. Tidak boleh digunakan terus setelah close.

void easyar_SparseSpatialMap_close(easyar_SparseSpatialMap * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()

Mengembalikan

Tipe Deskripsi
Void

getPointCloudBuffer

Mendapatkan informasi posisi data point-cloud saat ini. Posisi point-cloud berada dalam sistem koordinat dunia, setiap titik dalam buffer diwakili oleh tiga nilai berurutan yang menunjukkan koordinat pada sumbu X, Y, Z, setiap nilai menggunakan 4 byte.

void easyar_SparseSpatialMap_getPointCloudBuffer(easyar_SparseSpatialMap * This, easyar_Buffer * * Return)
std::shared_ptr<Buffer> getPointCloudBuffer()
public @Nonnull Buffer getPointCloudBuffer()
fun getPointCloudBuffer(): Buffer
- (easyar_Buffer *)getPointCloudBuffer
public func getPointCloudBuffer() -> Buffer
public virtual Buffer getPointCloudBuffer()

Mengembalikan

Tipe Deskripsi
Buffer

getMapPlanes

Memperoleh bidang yang terdeteksi, bertipe PlaneType.

void easyar_SparseSpatialMap_getMapPlanes(easyar_SparseSpatialMap * This, easyar_ListOfPlaneData * * Return)
std::vector<std::shared_ptr<PlaneData>> getMapPlanes()
public java.util.@Nonnull ArrayList<@Nonnull PlaneData> getMapPlanes()
fun getMapPlanes(): ArrayList<PlaneData>
- (NSArray<easyar_PlaneData *> *)getMapPlanes
public func getMapPlanes() -> [PlaneData]
public virtual List<PlaneData> getMapPlanes()

Mengembalikan

Tipe Deskripsi
List<PlaneData>

hitTestAgainstPointCloud

Melakukan Hit-test pada point-cloud saat ini, memperoleh n (n>=0) koordinat posisi di sepanjang sinar dari kamera terdekat hingga terjauh.

void easyar_SparseSpatialMap_hitTestAgainstPointCloud(easyar_SparseSpatialMap * 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>

hitTestAgainstPlanes

Melakukan Hit-test pada bidang yang terdeteksi saat ini, memperoleh n (n>=0) koordinat posisi di sepanjang sinar dari kamera terdekat hingga terjauh. Sistem koordinat gambar input ([0, 1]^2) memiliki x ke kanan, y ke bawah, asal di kiri atas. Gunakan imageCoordinatesFromScreenCoordinates untuk mengubah koordinat layar menjadi koordinat gambar. Output adalah koordinat point-cloud dalam sistem koordinat dunia.

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

Parameter

Nama Tipe Deskripsi
cameraImagePoint Vec2F

Mengembalikan

Tipe Deskripsi
List<Vec3F>

getMapVersion

Mendapatkan versi peta SparseSpatialMap saat ini.

void easyar_SparseSpatialMap_getMapVersion(easyar_String * * Return)
static std::string getMapVersion()
public static java.lang.@Nonnull String getMapVersion()
companion object fun getMapVersion(): String
+ (NSString *)getMapVersion
public static func getMapVersion() -> String
public static string getMapVersion()

Mengembalikan

Tipe Deskripsi
String

unloadMap

Membongkar data peta SparseSpatialMap yang ditentukan melalui callback. Keberhasilan pembongkaran dapat ditentukan dari nilai kembalian callback, true jika berhasil, false jika gagal.

void easyar_SparseSpatialMap_unloadMap(easyar_SparseSpatialMap * This, easyar_String * mapID, easyar_CallbackScheduler * callbackScheduler, easyar_OptionalOfFunctorOfVoidFromBool resultCallBack)
void unloadMap(std::string mapID, std::shared_ptr<CallbackScheduler> callbackScheduler, std::optional<std::function<void(bool)>> resultCallBack)
public void unloadMap(java.lang.@Nonnull String mapID, @Nonnull CallbackScheduler callbackScheduler, @Nullable FunctorOfVoidFromBool resultCallBack)
fun unloadMap(mapID: String, callbackScheduler: CallbackScheduler, resultCallBack: FunctorOfVoidFromBool?): Unit
- (void)unloadMap:(NSString *)mapID callbackScheduler:(easyar_CallbackScheduler *)callbackScheduler resultCallBack:(void (^)(bool))resultCallBack
public func unloadMap(_ mapID: String, _ callbackScheduler: CallbackScheduler, _ resultCallBack: ((Bool) -> Void)?) -> Void
public virtual void unloadMap(string mapID, CallbackScheduler callbackScheduler, Optional<Action<bool>> resultCallBack)

Parameter

Nama Tipe Deskripsi
mapID String
callbackScheduler CallbackScheduler
resultCallBack Optional<Action<>>

Mengembalikan

Tipe Deskripsi
Void

setConfig

Mengatur konfigurasi terkait SparseSpatialMap. Lihat SparseSpatialMapConfig.

void easyar_SparseSpatialMap_setConfig(easyar_SparseSpatialMap * This, easyar_SparseSpatialMapConfig * config)
void setConfig(std::shared_ptr<SparseSpatialMapConfig> config)
public void setConfig(@Nonnull SparseSpatialMapConfig config)
fun setConfig(config: SparseSpatialMapConfig): Unit
- (void)setConfig:(easyar_SparseSpatialMapConfig *)config
public func setConfig(_ config: SparseSpatialMapConfig) -> Void
public virtual void setConfig(SparseSpatialMapConfig config)

Parameter

Nama Tipe Deskripsi
config SparseSpatialMapConfig

Mengembalikan

Tipe Deskripsi
Void

getConfig

Mendapatkan konfigurasi terkait SparseSpatialMap. Lihat SparseSpatialMapConfig.

void easyar_SparseSpatialMap_getConfig(easyar_SparseSpatialMap * This, easyar_SparseSpatialMapConfig * * Return)
std::shared_ptr<SparseSpatialMapConfig> getConfig()
public @Nonnull SparseSpatialMapConfig getConfig()
fun getConfig(): SparseSpatialMapConfig
- (easyar_SparseSpatialMapConfig *)getConfig
public func getConfig() -> SparseSpatialMapConfig
public virtual SparseSpatialMapConfig getConfig()

Mengembalikan

Tipe Deskripsi
SparseSpatialMapConfig

startLocalization

Memulai percobaan pelokalan dalam peta yang telah dimuat. Sebelumnya, parameter konfigurasi yang diperlukan harus ditetapkan. Lihat LocalizationMode.

bool easyar_SparseSpatialMap_startLocalization(easyar_SparseSpatialMap * This)
bool startLocalization()
public boolean startLocalization()
fun startLocalization(): Boolean
- (bool)startLocalization
public func startLocalization() -> Bool
public virtual bool startLocalization()

Mengembalikan

Tipe Deskripsi
Boolean

stopLocalization

Menghentikan proses pelokalan saat ini.

void easyar_SparseSpatialMap_stopLocalization(easyar_SparseSpatialMap * This)
void stopLocalization()
public void stopLocalization()
fun stopLocalization(): Unit
- (void)stopLocalization
public func stopLocalization() -> Void
public virtual void stopLocalization()

Mengembalikan

Tipe Deskripsi
Void

getSyncResult

Mendapatkan hasil output sinkron. Jika SparseSpatialMap dijeda, atau mode hasil asinkron tidak diatur ke false melalui setResultAsyncMode, nilai kembalian akan kosong.

void easyar_SparseSpatialMap_getSyncResult(easyar_SparseSpatialMap * This, easyar_MotionInputData * motionInputData, easyar_OptionalOfSparseSpatialMapResult * Return)
std::optional<std::shared_ptr<SparseSpatialMapResult>> getSyncResult(std::shared_ptr<MotionInputData> motionInputData)
public @Nullable SparseSpatialMapResult getSyncResult(@Nonnull MotionInputData motionInputData)
fun getSyncResult(motionInputData: MotionInputData): SparseSpatialMapResult?
- (easyar_SparseSpatialMapResult *)getSyncResult:(easyar_MotionInputData *)motionInputData
public func getSyncResult(_ motionInputData: MotionInputData) -> SparseSpatialMapResult?
public virtual Optional<SparseSpatialMapResult> getSyncResult(MotionInputData motionInputData)

Parameter

Nama Tipe Deskripsi
motionInputData MotionInputData

Mengembalikan

Tipe Deskripsi
Optional<SparseSpatialMapResult>