SceneMesh Class

Description

SceneMesh is used to manage and preserve the results of DenseSpatialMap .

There are two kinds of meshes saved in SceneMesh, one is the mesh of the whole reconstructed scene, hereinafter referred to as meshAll, the other is the recently updated mesh, hereinafter referred to as meshUpdated. meshAll is a whole mesh, including all vertex data and index data, etc. meshUpdated is composed of several mesh block s, each mesh block is a cube, which contains the mesh formed by the object surface in the corresponding cube space.

meshAll is available only when the DenseSpatialMap.updateSceneMesh method is called specifying that all meshes need to be updated. If meshAll has been updated previously and not updated in recent times, the data in meshAll is remain the same.

getNumOfVertexAll

Get the number of vertices in meshAll.

C

int easyar_SceneMesh_getNumOfVertexAll(easyar_SceneMesh * This)

C++17

int getNumOfVertexAll()

C++03

int getNumOfVertexAll()

Java

public int getNumOfVertexAll()

Kotlin

fun getNumOfVertexAll(): Int

Objective-C

- (int)getNumOfVertexAll

Swift

public func getNumOfVertexAll() -> Int32

C#

public virtual int getNumOfVertexAll()

getNumOfIndexAll

Get the number of indices in meshAll. Since every 3 indices form a triangle, the returned value should be a multiple of 3.

C

int easyar_SceneMesh_getNumOfIndexAll(easyar_SceneMesh * This)

C++17

int getNumOfIndexAll()

C++03

int getNumOfIndexAll()

Java

public int getNumOfIndexAll()

Kotlin

fun getNumOfIndexAll(): Int

Objective-C

- (int)getNumOfIndexAll

Swift

public func getNumOfIndexAll() -> Int32

C#

public virtual int getNumOfIndexAll()

getVerticesAll

Get the position component of the vertices in meshAll (in the world coordinate system). The position of a vertex is described by three coordinates (x, y, z) in meters. The position data are stored tightly in Buffer by x1, y1, z1, x2, y2, z2, ... Each component is of float type.

C

void easyar_SceneMesh_getVerticesAll(easyar_SceneMesh * This, easyar_Buffer * * Return)

C++17

std::shared_ptr<Buffer> getVerticesAll()

C++03

void getVerticesAll(Buffer * * Return)

Java

public @Nonnull Buffer getVerticesAll()

Kotlin

fun getVerticesAll(): Buffer

Objective-C

- (easyar_Buffer *)getVerticesAll

Swift

public func getVerticesAll() -> Buffer

C#

public virtual Buffer getVerticesAll()

getNormalsAll

Get the normal component of vertices in meshAll. The normal of a vertex is described by three components (nx, ny, nz). The normal is normalized, that is, the length is 1. Normal data are stored tightly in Buffer by nx1, ny1, nz1, nx2, ny2, nz2,.... Each component is of float type.

C

void easyar_SceneMesh_getNormalsAll(easyar_SceneMesh * This, easyar_Buffer * * Return)

C++17

std::shared_ptr<Buffer> getNormalsAll()

C++03

void getNormalsAll(Buffer * * Return)

Java

public @Nonnull Buffer getNormalsAll()

Kotlin

fun getNormalsAll(): Buffer

Objective-C

- (easyar_Buffer *)getNormalsAll

Swift

public func getNormalsAll() -> Buffer

C#

public virtual Buffer getNormalsAll()

getIndicesAll

Get the index data in meshAll. Each triangle is composed of three indices (ix, iy, iz). Indices are stored tightly in Buffer by ix1, iy1, iz1, ix2, iy2, iz2,... Each component is of int32 type.

C

void easyar_SceneMesh_getIndicesAll(easyar_SceneMesh * This, easyar_Buffer * * Return)

C++17

std::shared_ptr<Buffer> getIndicesAll()

C++03

void getIndicesAll(Buffer * * Return)

Java

public @Nonnull Buffer getIndicesAll()

Kotlin

fun getIndicesAll(): Buffer

Objective-C

- (easyar_Buffer *)getIndicesAll

Swift

public func getIndicesAll() -> Buffer

C#

public virtual Buffer getIndicesAll()

getNumOfVertexIncremental

Get the number of vertices in meshUpdated.

C

int easyar_SceneMesh_getNumOfVertexIncremental(easyar_SceneMesh * This)

C++17

int getNumOfVertexIncremental()

C++03

int getNumOfVertexIncremental()

Java

public int getNumOfVertexIncremental()

Kotlin

fun getNumOfVertexIncremental(): Int

Objective-C

- (int)getNumOfVertexIncremental

Swift

public func getNumOfVertexIncremental() -> Int32

C#

public virtual int getNumOfVertexIncremental()

getNumOfIndexIncremental

Get the number of indices in meshUpdated. Since every 3 indices form a triangle, the returned value should be a multiple of 3.

C

int easyar_SceneMesh_getNumOfIndexIncremental(easyar_SceneMesh * This)

C++17

int getNumOfIndexIncremental()

C++03

int getNumOfIndexIncremental()

Java

public int getNumOfIndexIncremental()

Kotlin

fun getNumOfIndexIncremental(): Int

Objective-C

- (int)getNumOfIndexIncremental

Swift

public func getNumOfIndexIncremental() -> Int32

C#

public virtual int getNumOfIndexIncremental()

getVerticesIncremental

Get the position component of the vertices in meshUpdated (in the world coordinate system). The position of a vertex is described by three coordinates (x, y, z) in meters. The position data are stored tightly in Buffer by x1, y1, z1, x2, y2, z2, ... Each component is of float type.

C

void easyar_SceneMesh_getVerticesIncremental(easyar_SceneMesh * This, easyar_Buffer * * Return)

C++17

std::shared_ptr<Buffer> getVerticesIncremental()

C++03

void getVerticesIncremental(Buffer * * Return)

Java

public @Nonnull Buffer getVerticesIncremental()

Kotlin

fun getVerticesIncremental(): Buffer

Objective-C

- (easyar_Buffer *)getVerticesIncremental

Swift

public func getVerticesIncremental() -> Buffer

C#

public virtual Buffer getVerticesIncremental()

getNormalsIncremental

Get the normal component of vertices in meshUpdated. The normal of a vertex is described by three components (nx, ny, nz). The normal is normalized, that is, the length is 1. Normal data are stored tightly in Buffer by nx1, ny1, nz1, nx2, ny2, nz2,.... Each component is of float type.

C

void easyar_SceneMesh_getNormalsIncremental(easyar_SceneMesh * This, easyar_Buffer * * Return)

C++17

std::shared_ptr<Buffer> getNormalsIncremental()

C++03

void getNormalsIncremental(Buffer * * Return)

Java

public @Nonnull Buffer getNormalsIncremental()

Kotlin

fun getNormalsIncremental(): Buffer

Objective-C

- (easyar_Buffer *)getNormalsIncremental

Swift

public func getNormalsIncremental() -> Buffer

C#

public virtual Buffer getNormalsIncremental()

getIndicesIncremental

Get the index data in meshUpdated. Each triangle is composed of three indices (ix, iy, iz). Indices are stored tightly in Buffer by ix1, iy1, iz1, ix2, iy2, iz2,... Each component is of int32 type.

C

void easyar_SceneMesh_getIndicesIncremental(easyar_SceneMesh * This, easyar_Buffer * * Return)

C++17

std::shared_ptr<Buffer> getIndicesIncremental()

C++03

void getIndicesIncremental(Buffer * * Return)

Java

public @Nonnull Buffer getIndicesIncremental()

Kotlin

fun getIndicesIncremental(): Buffer

Objective-C

- (easyar_Buffer *)getIndicesIncremental

Swift

public func getIndicesIncremental() -> Buffer

C#

public virtual Buffer getIndicesIncremental()

getBlocksInfoIncremental

Gets the description object of mesh block in meshUpdate. The return value is an array of BlockInfo elements, each of which is a detailed description of a mesh block.

C

void easyar_SceneMesh_getBlocksInfoIncremental(easyar_SceneMesh * This, easyar_ListOfBlockInfo * * Return)

C++17

std::vector<BlockInfo> getBlocksInfoIncremental()

C++03

void getBlocksInfoIncremental(ListOfBlockInfo * * Return)

Java

public java.util.@Nonnull ArrayList<@Nonnull BlockInfo> getBlocksInfoIncremental()

Kotlin

fun getBlocksInfoIncremental(): ArrayList<BlockInfo>

Objective-C

- (NSArray<easyar_BlockInfo *> *)getBlocksInfoIncremental

Swift

public func getBlocksInfoIncremental() -> [BlockInfo]

C#

public virtual List<BlockInfo> getBlocksInfoIncremental()

getBlockDimensionInMeters

Get the edge length of a mesh block in meters.

C

float easyar_SceneMesh_getBlockDimensionInMeters(easyar_SceneMesh * This)

C++17

float getBlockDimensionInMeters()

C++03

float getBlockDimensionInMeters()

Java

public float getBlockDimensionInMeters()

Kotlin

fun getBlockDimensionInMeters(): Float

Objective-C

- (float)getBlockDimensionInMeters

Swift

public func getBlockDimensionInMeters() -> Float

C#

public virtual float getBlockDimensionInMeters()