BlockInfo Record

Description

稠密重建得到的模型使用三角网格表示,称为mesh。由于mesh会进行频繁的更新,为了保证效率,整个重建模型的mesh被分割成了非常多的mesh block。一个mesh block由一个边长大概1米的立方体组成,其中有vertex和index等元素。

BlockInfo用来描述一个mesh block的内容。其中(x,y,z)是mesh block的索引,将(x,y,z)乘上每个mesh block的物理尺寸可以获得这个mesh block的原点在世界坐标系中的坐标。可以通过mesh block在世界中的位置对需要显示的部分进行提前过滤,以节省渲染需要的时间。

x

mesh block的索引(x,y,z)中的x。

C: int x
C++11: int x
Traditional C++: int x
Java: public int x
Kotlin: public Int x
Objective-C: @property (nonatomic) int x
Swift: public var x: Int32
C#: public int x

y

mesh block的索引(x,y,z)中的y。

C: int y
C++11: int y
Traditional C++: int y
Java: public int y
Kotlin: public Int y
Objective-C: @property (nonatomic) int y
Swift: public var y: Int32
C#: public int y

z

mesh block的索引(x,y,z)中的z。

C: int z
C++11: int z
Traditional C++: int z
Java: public int z
Kotlin: public Int z
Objective-C: @property (nonatomic) int z
Swift: public var z: Int32
C#: public int z

numOfVertex

一个mesh block中所拥有的顶点的数目。

C: int numOfVertex
C++11: int numOfVertex
Traditional C++: int numOfVertex
Java: public int numOfVertex
Kotlin: public Int numOfVertex
Objective-C: @property (nonatomic) int numOfVertex
Swift: public var numOfVertex: Int32
C#: public int numOfVertex

startPointOfVertex

顶点数据在vertex buffer中存放的起始位置,表示从第几个顶点开始是属于当前这个mesh block的。不等于偏移量的字节数,起始位置的偏移为startPointOfVertex*3*4个字节。

C: int startPointOfVertex
C++11: int startPointOfVertex
Traditional C++: int startPointOfVertex
Java: public int startPointOfVertex
Kotlin: public Int startPointOfVertex
Objective-C: @property (nonatomic) int startPointOfVertex
Swift: public var startPointOfVertex: Int32
C#: public int startPointOfVertex

numOfIndex

一个mesh block中所拥有的索引的数目,每连续3个顶点构成一个三角面。

C: int numOfIndex
C++11: int numOfIndex
Traditional C++: int numOfIndex
Java: public int numOfIndex
Kotlin: public Int numOfIndex
Objective-C: @property (nonatomic) int numOfIndex
Swift: public var numOfIndex: Int32
C#: public int numOfIndex

startPointOfIndex

与startPointOfVertex类似。索引数据在index buffer中存放的起始位置,表示从第几个索引开始是属于当前这个mesh block的。不等于偏移量的字节数,起始位置的偏移为startPointOfIndex*3*4个字节。

C: int startPointOfIndex
C++11: int startPointOfIndex
Traditional C++: int startPointOfIndex
Java: public int startPointOfIndex
Kotlin: public Int startPointOfIndex
Objective-C: @property (nonatomic) int startPointOfIndex
Swift: public var startPointOfIndex: Int32
C#: public int startPointOfIndex

version

当前mesh block更新的次数,version越大表示更新的次数更多。如果调用 DenseSpatialMap.updateSceneMesh 后一个mesh block的version变大了,说明其中的内容发生了变化。

C: int version
C++11: int version
Traditional C++: int version
Java: public int version
Kotlin: public Int version
Objective-C: @property (nonatomic) int version
Swift: public var version: Int32
C#: public int version