DenseSpatialMap Class¶
Description¶
DenseSpatialMap用来对环境进行精确的三维稠密重建,其重建的模型用三角网格表示,称为mesh。
DenseSpatialMap占用1个camera的buffer。
isAvailable¶
当设备支持稠密重建功能时返回True,否则返回False。
- C
bool easyar_DenseSpatialMap_isAvailable(void)
- 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 。
注意:camera支持针孔和鱼眼相机模型,使用鱼眼相机性能会受影响。
- C
void easyar_DenseSpatialMap_inputFrameSink(easyar_DenseSpatialMap * This, easyar_InputFrameSink * * Return)
- C++
std::shared_ptr<InputFrameSink> inputFrameSink()
- 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++
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)
- C++
static std::shared_ptr<DenseSpatialMap> create()
- 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++
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++
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++
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)
- C++
std::shared_ptr<SceneMesh> getMesh()
- 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++
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)