DenseSpatialMap Class¶
Description¶
DenseSpatialMap用来对环境进行精确的三维稠密重建,其重建的模型用三角网格表示,称为mesh。
DenseSpatialMap占用1个camera的buffer。
isAvailable¶
当设备支持稠密重建功能时返回True,否则返回False。
- C: bool easyar_DenseSpatialMap_isAvailable(void)¶
- C++17: static bool isAvailable()¶
- Traditional C++: static bool isAvailable()¶
- Java: public static boolean isAvailable()¶
- Kotlin: companion object fun isAvailable(): Boolean¶
- Objective-C: + (bool)isAvailable¶
- Swift: public static func isAvailable() -> Bool¶
- C#: public static bool isAvailable()¶
inputFrameSink¶
输入帧输入端口。DenseSpatialMap输入帧必须包含图像和对应的camera参数、空间信息(cameraTransform和trackingStatus)。参考 InputFrameSink 。
- C: void easyar_DenseSpatialMap_inputFrameSink(easyar_DenseSpatialMap * This, easyar_InputFrameSink * * Return)¶
- Traditional C++: void inputFrameSink(InputFrameSink * * Return)¶
- Java: public @Nonnull InputFrameSink inputFrameSink()¶
- Kotlin: fun inputFrameSink(): InputFrameSink¶
- Objective-C: - (easyar_InputFrameSink *)inputFrameSink¶
- Swift: public func inputFrameSink() -> InputFrameSink¶
- C#: public virtual InputFrameSink inputFrameSink()¶
bufferRequirement¶
当前组件占用camera buffer的数量。
- C: int easyar_DenseSpatialMap_bufferRequirement(easyar_DenseSpatialMap * This)¶
- C++17: int bufferRequirement()¶
- Traditional C++: int bufferRequirement()¶
- Java: public int bufferRequirement()¶
- Kotlin: fun bufferRequirement(): Int¶
- Objective-C: - (int)bufferRequirement¶
- Swift: public func bufferRequirement() -> Int32¶
- C#: public virtual int bufferRequirement()¶
create¶
创建 DenseSpatialMap 对象。
- C: void easyar_DenseSpatialMap_create(easyar_DenseSpatialMap * * Return)¶
- Traditional C++: static void create(DenseSpatialMap * * Return)¶
- Java: public static @Nonnull DenseSpatialMap create()¶
- Kotlin: companion object fun create(): DenseSpatialMap¶
- Objective-C: + (easyar_DenseSpatialMap *)create¶
- Swift: public static func create() -> DenseSpatialMap¶
- C#: public static DenseSpatialMap create()¶
start¶
开始重建或从暂停中恢复,继续重建。
- C: bool easyar_DenseSpatialMap_start(easyar_DenseSpatialMap * This)¶
- C++17: bool start()¶
- Traditional C++: bool start()¶
- Java: public boolean start()¶
- Kotlin: fun start(): Boolean¶
- Objective-C: - (bool)start¶
- Swift: public func start() -> Bool¶
- C#: public virtual bool start()¶
stop¶
暂停重建过程。调用start来继续重建过程。
- C: void easyar_DenseSpatialMap_stop(easyar_DenseSpatialMap * This)¶
- C++17: void stop()¶
- Traditional C++: void stop()¶
- Java: public void stop()¶
- Kotlin: fun stop(): Unit¶
- Objective-C: - (void)stop¶
- Swift: public func stop() -> Void¶
- C#: public virtual void stop()¶
close¶
关闭重建过程。close之后不应继续使用。
- C: void easyar_DenseSpatialMap_close(easyar_DenseSpatialMap * This)¶
- C++17: void close()¶
- Traditional C++: void close()¶
- Java: public void close()¶
- Kotlin: fun close(): Unit¶
- Objective-C: - (void)close¶
- Swift: public func close() -> Void¶
- C#: public virtual void close()¶
getMesh¶
获取 SceneMesh 类型的mesh管理对象。其中的内容会在调用 DenseSpatialMap.updateSceneMesh 函数之后自动更新。
- C: void easyar_DenseSpatialMap_getMesh(easyar_DenseSpatialMap * This, easyar_SceneMesh * * Return)¶
- Traditional C++: void getMesh(SceneMesh * * Return)¶
- Java: public @Nonnull SceneMesh getMesh()¶
- Kotlin: fun getMesh(): SceneMesh¶
- Objective-C: - (easyar_SceneMesh *)getMesh¶
- Swift: public func getMesh() -> SceneMesh¶
- C#: public virtual SceneMesh getMesh()¶
updateSceneMesh¶
获取最近更新的mesh,保存到由 DenseSpatialMap.getMesh 得到的 SceneMesh 对象中。
参数updateMeshAll指明是进行full update还是incremental update。当updateMeshAll为True时进行full update,所有的mesh都会保存到 SceneMesh 中;当updateMeshAll为False时进行incremental update,只保存最近更新的mesh到 SceneMesh 中。
进行full update将占用额外的时间和内存空间,导致性能下降。
- C: bool easyar_DenseSpatialMap_updateSceneMesh(easyar_DenseSpatialMap * This, bool updateMeshAll)¶
- C++17: bool updateSceneMesh(bool updateMeshAll)¶
- Traditional C++: bool updateSceneMesh(bool updateMeshAll)¶
- Java: public boolean updateSceneMesh(boolean updateMeshAll)¶
- Kotlin: fun updateSceneMesh(updateMeshAll: Boolean): Boolean¶
- Objective-C: - (bool)updateSceneMesh:(bool)updateMeshAll¶
- Swift: public func updateSceneMesh(_ updateMeshAll: Bool) -> Bool¶
- C#: public virtual bool updateSceneMesh(bool updateMeshAll)¶