Table of Contents

Class SparseSpatialMap

Spazio dei nomi
easyar

Fornisce le funzioni principali del sistema SparseSpatialMap: generazione e archiviazione della mappa, caricamento e localizzazione della mappa. Consente inoltre di acquisire informazioni ambientali come nuvole di punti, piani ed eseguire hitTest. SparseSpatialMap occupa 2 buffer della camera. Utilizzare setBufferCapacity della camera per impostare una capacità non inferiore al numero totale di buffer della camera occupati da tutti i componenti.

SparseSpatialMap

Metodi

isAvailable

Verifica se SparseSpatialMap è disponibile. Restituisce sempre 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()

Valore restituito

Tipo Descrizione
Boolean

inputFrameSink

Porta di input per il frame di input. Il frame di input per SparseSpatialMap deve contenere parametri della camera, informazioni sul timestamp e informazioni spaziali (cameraTransform e trackingStatus). Riferimento InputFrameSink. Nota: la camera supporta modelli di camera a foro stenopeico e fish-eye. L'uso di una camera fish-eye influisce sulle prestazioni.

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

Valore restituito

Tipo Descrizione
InputFrameSink

bufferRequirement

Numero di buffer della camera attualmente occupati da questo componente.

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

Valore restituito

Tipo Descrizione
Int32

outputFrameSource

Porta di output per il frame di output. Riferimento 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()

Valore restituito

Tipo Descrizione
OutputFrameSource

create

Costruisce 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()

Valore restituito

Tipo Descrizione
SparseSpatialMap

setResultPoseType

Imposta il tipo di postura del risultato. L'impostazione predefinita per enableStabilization è false. Efficace solo se InputFrame contiene informazioni spaziali.

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)

Parametri

Nome Tipo Descrizione
enableStabilization Boolean

Valore restituito

Tipo Descrizione
Void

setResultAsyncMode

Imposta la modalità asincrona del risultato. Impostare su true se i risultati vengono emessi tramite outputFrameSource, su false se vengono ottenuti tramite getSyncResult. L'impostazione predefinita per enableAsync è true. La modalità sincrona è efficace solo se il frame di input contiene informazioni spaziali e viene utilizzata una licenza 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)

Parametri

Nome Tipo Descrizione
enableAsync Boolean

Valore restituito

Tipo Descrizione
Boolean

start

Avvia l'algoritmo 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()

Valore restituito

Tipo Descrizione
Boolean

stop

Interrompe l'algoritmo SparseSpatialMap. Chiamare start per riavviarlo.

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

Valore restituito

Tipo Descrizione
Void

close

Chiude SparseSpatialMap. Non utilizzare dopo la chiusura.

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

Valore restituito

Tipo Descrizione
Void

getPointCloudBuffer

Ottiene le informazioni sulla posizione dei dati correnti della nuvola di punti. Le posizioni dei punti sono nel sistema di coordinate mondiale. Ogni punto nel buffer è rappresentato da tre valori consecutivi (X, Y, Z), ciascuno occupa 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()

Valore restituito

Tipo Descrizione
Buffer

getMapPlanes

Ottiene i piani rilevati, di tipo 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()

Valore restituito

Tipo Descrizione
List<PlaneData>

hitTestAgainstPointCloud

Esegue un hitTest sulla nuvola di punti corrente, ottenendo le coordinate di n (n>=0) posizioni lungo un raggio dalla camera dal più vicino al più lontano.

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)

Parametri

Nome Tipo Descrizione
cameraImagePoint Vec2F

Valore restituito

Tipo Descrizione
List<Vec3F>

hitTestAgainstPlanes

Esegue un hitTest sul piano rilevato corrente, ottenendo le coordinate di n (n>=0) posizioni lungo un raggio dalla camera dal più vicino al più lontano. Le coordinate di input nel sistema immagine ([0, 1]^2) hanno x verso destra, y verso il basso, origine in alto a sinistra. Utilizzare imageCoordinatesFromScreenCoordinates per convertire dalle coordinate schermo a quelle immagine. L'output sono le coordinate nel sistema mondiale.

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)

Parametri

Nome Tipo Descrizione
cameraImagePoint Vec2F

Valore restituito

Tipo Descrizione
List<Vec3F>

getMapVersion

Ottiene la versione corrente della mappa SparseSpatialMap.

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

Valore restituito

Tipo Descrizione
String

unloadMap

Scarica i dati della mappa SparseSpatialMap specificati tramite callback. Il valore restituito dalla callback indica l'esito (true = successo, false = fallimento).

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)

Parametri

Nome Tipo Descrizione
mapID String
callbackScheduler CallbackScheduler
resultCallBack Optional<Action<>>

Valore restituito

Tipo Descrizione
Void

setConfig

Imposta la configurazione relativa a SparseSpatialMap. Riferimento 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)

Parametri

Nome Tipo Descrizione
config SparseSpatialMapConfig

Valore restituito

Tipo Descrizione
Void

getConfig

Ottiene la configurazione relativa a SparseSpatialMap. Riferimento 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()

Valore restituito

Tipo Descrizione
SparseSpatialMapConfig

startLocalization

Avvia il tentativo di localizzazione all'interno delle mappe caricate. Impostare prima i parametri di configurazione richiesti. Riferimento 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()

Valore restituito

Tipo Descrizione
Boolean

stopLocalization

Interrompe il processo di localizzazione corrente.

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

Valore restituito

Tipo Descrizione
Void

getSyncResult

Ottiene il risultato di output sincrono. Restituisce null se SparseSpatialMap è in pausa o se la modalità asincrona non è stata impostata su false tramite setResultAsyncMode.

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)

Parametri

Nome Tipo Descrizione
motionInputData MotionInputData

Valore restituito

Tipo Descrizione
Optional<SparseSpatialMapResult>