Table of Contents

Class SparseSpatialMap

Espace de noms
easyar

Fournir les fonctionnalités principales du système SparseSpatialMap : génération et stockage de cartes, chargement de cartes et localisation. Il permet également d'obtenir des informations environnementales telles que des nuages de points et des plans, et d'effectuer un hit Test.
SparseSpatialMap utilise 2 buffers de camera. Utilisez setBufferCapacity de camera pour définir un nombre de buffers au moins égal à celui requis par l'ensemble des composants.

SparseSpatialMap

Méthodes

isAvailable

Vérifiez si SparseSpatialMap est disponible. Retourne toujours 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()

Retours

Type Description
Boolean

inputFrameSink

Port d'entrée de frame. Les frames d'entrée SparseSpatialMap doivent contenir des paramètres de camera, des informations d'horodatage et des informations spatiales (cameraTransform et trackingStatus). Référence InputFrameSink. Note : La camera prend en charge les modèles de caméra sténopé et fisheye ; l'utilisation d'une caméra fisheye peut affecter les performances.

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

Retours

Type Description
InputFrameSink

bufferRequirement

Le nombre de camera buffers occupés par le composant actuel.

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

Retours

Type Description
Int32

outputFrameSource

Port de sortie de trame de sortie. Référence 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()

Retours

Type Description
OutputFrameSource

create

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

Retours

Type Description
SparseSpatialMap

setResultPoseType

Définir le type de pose de résultat. Par défaut, enableStabilization est false. Seulement si InputFrame contient des informations spatiales, il est valide.

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)

Paramètres

Nom Type Description
enableStabilization Boolean

Retours

Type Description
Void

setResultAsyncMode

Définir le mode asynchrone des résultats. Doit être défini sur true si les résultats sont sortis via outputFrameSource, et sur false si les résultats sont obtenus via getSyncResult. Par défaut, enableAsync est true. Le mode synchrone n'est effectif que lorsque les trames d'entrée contiennent des informations spatiales et qu'une licence XR est utilisée.

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)

Paramètres

Nom Type Description
enableAsync Boolean

Retours

Type Description
Boolean

start

Début de l'algorithme 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()

Retours

Type Description
Boolean

stop

Arrêter l'algorithme SparseSpatialMap. Appeler start pour relancer.

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

Retours

Type Description
Void

close

Fermer SparseSpatialMap. Ne pas utiliser après la fermeture.

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

Retours

Type Description
Void

getPointCloudBuffer

Obtenir les informations de position des données de nuage de points actuel. La position du nuage de points correspond à sa localisation dans le système de coordonnées mondial. Chaque point dans le buffer est représenté par trois valeurs consécutives, indiquant respectivement les coordonnées sur les axes X, Y, Z. Chaque valeur occupe 4 octets.

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

Retours

Type Description
Buffer

getMapPlanes

Obtenir les plans détectés, de type 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()

Retours

Type Description
List<PlaneData>

hitTestAgainstPointCloud

Effectuer un Hit Test dans le nuage de points actuel, obtenant les coordonnées de n (n>=0) positions le long d'un rayon de près à loin depuis la caméra.

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)

Paramètres

Nom Type Description
cameraImagePoint Vec2F

Retours

Type Description
List<Vec3F>

hitTestAgainstPlanes

Effectuez un Hit Test sur le plan détecté pour obtenir les coordonnées de n (n>=0) positions le long d'un rayon allant du plus proche au plus éloigné de la caméra. Le système de coordonnées d'image d'entrée ([0, 1]^2) a x vers la droite et y vers le bas, avec l'origine en haut à gauche. Utilisez imageCoordinatesFromScreenCoordinates pour convertir les coordonnées d'écran en coordonnées d'image. La sortie est les coordonnées du nuage de points dans le système de coordonnées mondial.

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)

Paramètres

Nom Type Description
cameraImagePoint Vec2F

Retours

Type Description
List<Vec3F>

getMapVersion

Obtenir la version actuelle de la carte 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()

Retours

Type Description
String

unloadMap

En utilisant un callback, décharge les données cartographiques SparseSpatialMap spécifiées. La réussite du déchargement peut être déterminée par la valeur de retour du callback, qui renvoie true en cas de succès et false dans le cas contraire.

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)

Paramètres

Nom Type Description
mapID String
callbackScheduler CallbackScheduler
resultCallBack Optional<Action<>>

Retours

Type Description
Void

setConfig

Définition de configuration liée à SparseSpatialMap. Référence 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)

Paramètres

Nom Type Description
config SparseSpatialMapConfig

Retours

Type Description
Void

getConfig

Obtenez la configuration associée à SparseSpatialMap. Consultez 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()

Retours

Type Description
SparseSpatialMapConfig

startLocalization

Tentative de positionnement dans une carte déjà-chargée. Il est nécessaire de définir au préalable les paramètres de configuration requis. Référence 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()

Retours

Type Description
Boolean

stopLocalization

Arrêter le processus de localisation actuel.

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

Retours

Type Description
Void

getSyncResult

Obtenir les résultats de sortie synchrones. Si SparseSpatialMap est en pause ou si le mode de résultat asynchrone n'a pas été défini sur false via setResultAsyncMode, les valeurs retournées sont vides.

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)

Paramètres

Nom Type Description
motionInputData MotionInputData

Retours

Type Description
Optional<SparseSpatialMapResult>