Table of Contents

Class SparseSpatialMap

Espacio de nombres
easyar

Proporciona las principales funciones del sistema SparseSpatialMap: generación y almacenamiento de mapas, carga de mapas y localización. También permite obtener información ambiental como nubes de puntos y planos, además de realizar pruebas de impacto (hitTest). SparseSpatialMap ocupa 2 buffers de cámara. Utilice setBufferCapacity de la cámara para establecer al menos el número de buffers requeridos por todos los componentes.

SparseSpatialMap

Métodos

isAvailable

Comprueba si SparseSpatialMap está disponible. Siempre devuelve 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()

Devuelve

Tipo Descripción
Boolean

inputFrameSink

Puerto de entrada para fotogramas de entrada. El fotograma de entrada de SparseSpatialMap debe incluir parámetros de cámara, marca de tiempo e información espacial (cameraTransform y trackingStatus). Consulte InputFrameSink. Nota: La cámara admite modelos de cámara estenopeica y ojo de pez; el rendimiento se ve afectado al usar cámaras ojo de pez.

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

Devuelve

Tipo Descripción
InputFrameSink

bufferRequirement

Número de buffers de cámara ocupados por el componente actual.

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

Devuelve

Tipo Descripción
Int32

outputFrameSource

Puerto de salida para fotogramas de salida. Consulte 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()

Devuelve

Tipo Descripción
OutputFrameSource

create

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

Devuelve

Tipo Descripción
SparseSpatialMap

setResultPoseType

Establece el tipo de pose del resultado. Por defecto, enableStabilization es false. Solo es efectivo si InputFrame contiene información espacial.

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)

Parámetros

Nombre Tipo Descripción
enableStabilization Boolean

Devuelve

Tipo Descripción
Void

setResultAsyncMode

Establece el modo asíncrono de resultados. Si los resultados se emiten a través de outputFrameSource, debe establecerse en true; si se obtienen mediante getSyncResult, en false. Por defecto, enableAsync es true. El modo síncrono solo funciona cuando el fotograma de entrada contiene información espacial y se utiliza una licencia 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)

Parámetros

Nombre Tipo Descripción
enableAsync Boolean

Devuelve

Tipo Descripción
Boolean

start

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

Devuelve

Tipo Descripción
Boolean

stop

Detiene el algoritmo SparseSpatialMap. Llame a start para reiniciarlo.

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

Devuelve

Tipo Descripción
Void

close

Cierra SparseSpatialMap. No debe usarse después de 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()

Devuelve

Tipo Descripción
Void

getPointCloudBuffer

Obtiene la información de posición de los datos actuales de la nube de puntos. Las posiciones están en el sistema de coordenadas mundial. Cada punto en el buffer se representa con tres valores consecutivos (X, Y, Z), ocupando cada valor 4 bytes.

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

Devuelve

Tipo Descripción
Buffer

getMapPlanes

Obtiene los planos detectados, de 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()

Devuelve

Tipo Descripción
List<PlaneData>

hitTestAgainstPointCloud

Realiza una prueba de impacto (hitTest) en la nube de puntos actual, obteniendo n (n>=0) coordenadas de posición a lo largo de un rayo desde la cámara (de cerca a lejos).

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)

Parámetros

Nombre Tipo Descripción
cameraImagePoint Vec2F

Devuelve

Tipo Descripción
List<Vec3F>

hitTestAgainstPlanes

Realiza una prueba de impacto (hitTest) en los planos detectados actualmente, obteniendo n (n>=0) coordenadas de posición a lo largo de un rayo desde la cámara (de cerca a lejos). El sistema de coordenadas de imagen de entrada ([0, 1]^2) tiene X hacia la derecha e Y hacia abajo, con origen en la esquina superior izquierda. Use imageCoordinatesFromScreenCoordinates para convertir coordenadas de pantalla a imagen. La salida son coordenadas mundiales de la nube de puntos.

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)

Parámetros

Nombre Tipo Descripción
cameraImagePoint Vec2F

Devuelve

Tipo Descripción
List<Vec3F>

getMapVersion

Obtiene la versión del mapa actual de 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()

Devuelve

Tipo Descripción
String

unloadMap

Descarga datos de mapa específicos de SparseSpatialMap mediante callback. El retorno del callback indica éxito (true) o fallo (false).

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)

Parámetros

Nombre Tipo Descripción
mapID String
callbackScheduler CallbackScheduler
resultCallBack Optional<Action<>>

Devuelve

Tipo Descripción
Void

setConfig

Establece la configuración relacionada con SparseSpatialMap. Consulte 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)

Parámetros

Nombre Tipo Descripción
config SparseSpatialMapConfig

Devuelve

Tipo Descripción
Void

getConfig

Obtiene la configuración relacionada con SparseSpatialMap. Consulte 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()

Devuelve

Tipo Descripción
SparseSpatialMapConfig

startLocalization

Inicia la localización en mapas cargados. Deben establecerse los parámetros de configuración necesarios previamente. Consulte 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()

Devuelve

Tipo Descripción
Boolean

stopLocalization

Detiene el proceso de localización actual.

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

Devuelve

Tipo Descripción
Void

getSyncResult

Obtiene resultados de salida síncronos. Devuelve vacío si SparseSpatialMap está en pausa o si el modo asíncrono no se estableció en false mediante 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)

Parámetros

Nombre Tipo Descripción
motionInputData MotionInputData

Devuelve

Tipo Descripción
Optional<SparseSpatialMapResult>