Class DenseSpatialMap
- 命名空間
- easyar
DenseSpatialMap用來對環境進行精確的三維稠密重建,其重建的模型用三角網格表示,稱為mesh。 DenseSpatialMap佔用1個camera的buffer。
DenseSpatialMap
方法
isAvailable
當設備支援稠密重建功能時返回True,否則返回False。
bool easyar_DenseSpatialMap_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()
傳回值
| 類型 | 描述 |
|---|---|
| Boolean |
inputFrameSink
輸入幀輸入端口。DenseSpatialMap輸入幀必須包含圖像和對應的camera參數、空間信息(cameraTransform和trackingStatus)。參考 InputFrameSink 。 注意:camera支援針孔和魚眼相機模型,使用魚眼相機性能會受影響。
void easyar_DenseSpatialMap_inputFrameSink(easyar_DenseSpatialMap * 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()
傳回值
| 類型 | 描述 |
|---|---|
| InputFrameSink |
bufferRequirement
當前組件佔用camera buffer的數量。
int easyar_DenseSpatialMap_bufferRequirement(easyar_DenseSpatialMap * This)
int bufferRequirement()
public int bufferRequirement()
fun bufferRequirement(): Int
- (int)bufferRequirement
public func bufferRequirement() -> Int32
public virtual int bufferRequirement()
傳回值
| 類型 | 描述 |
|---|---|
| Int32 |
create
創建DenseSpatialMap物件。
void easyar_DenseSpatialMap_create(easyar_DenseSpatialMap * * Return)
static std::shared_ptr<DenseSpatialMap> create()
public static @Nonnull DenseSpatialMap create()
companion object fun create(): DenseSpatialMap
+ (easyar_DenseSpatialMap *)create
public static func create() -> DenseSpatialMap
public static DenseSpatialMap create()
傳回值
| 類型 | 描述 |
|---|---|
| DenseSpatialMap |
start
開始重建或從暫停中恢復,繼續重建。
bool easyar_DenseSpatialMap_start(easyar_DenseSpatialMap * This)
bool start()
public boolean start()
fun start(): Boolean
- (bool)start
public func start() -> Bool
public virtual bool start()
傳回值
| 類型 | 描述 |
|---|---|
| Boolean |
stop
暫停重建過程。調用start來繼續重建過程。
void easyar_DenseSpatialMap_stop(easyar_DenseSpatialMap * This)
void stop()
public void stop()
fun stop(): Unit
- (void)stop
public func stop() -> Void
public virtual void stop()
傳回值
| 類型 | 描述 |
|---|---|
| Void |
close
關閉重建過程。close之後不應繼續使用。
void easyar_DenseSpatialMap_close(easyar_DenseSpatialMap * This)
void close()
public void close()
fun close(): Unit
- (void)close
public func close() -> Void
public virtual void close()
傳回值
| 類型 | 描述 |
|---|---|
| Void |
getMesh
獲取 SceneMesh 類型的mesh管理物件。其中的內容會在調用updateSceneMesh 函數之後自動更新。
void easyar_DenseSpatialMap_getMesh(easyar_DenseSpatialMap * This, easyar_SceneMesh * * Return)
std::shared_ptr<SceneMesh> getMesh()
public @Nonnull SceneMesh getMesh()
fun getMesh(): SceneMesh
- (easyar_SceneMesh *)getMesh
public func getMesh() -> SceneMesh
public virtual SceneMesh getMesh()
傳回值
| 類型 | 描述 |
|---|---|
| SceneMesh |
updateSceneMesh
獲取最近更新的mesh,保存到由getMesh 得到的 SceneMesh 物件中。 參數updateMeshAll指明是進行full update還是incremental update。當updateMeshAll為True時進行full update,所有的mesh都會保存到SceneMesh 中;當updateMeshAll為False時進行incremental update,只保存最近更新的mesh到SceneMesh 中。 進行full update將佔用額外的時間和記憶體空間,導致性能下降。
bool easyar_DenseSpatialMap_updateSceneMesh(easyar_DenseSpatialMap * This, bool updateMeshAll)
bool updateSceneMesh(bool updateMeshAll)
public boolean updateSceneMesh(boolean updateMeshAll)
fun updateSceneMesh(updateMeshAll: Boolean): Boolean
- (bool)updateSceneMesh:(bool)updateMeshAll
public func updateSceneMesh(_ updateMeshAll: Bool) -> Bool
public virtual bool updateSceneMesh(bool updateMeshAll)
參數
| 名稱 | 類型 | 描述 |
|---|---|---|
| updateMeshAll | Boolean |
傳回值
| 類型 | 描述 |
|---|---|
| Boolean |