Table of Contents

Struct BlockInfo

Namespace
easyar
Assembly
EasyAR.Sense.dll

Das durch dense reconstruction erhaltene Modell wird durch ein Dreiecksnetz dargestellt, genannt mesh. Da mesh häufig aktualisiert wird, wird zur Effizienz das mesh des gesamten rekonstruierten Modells in viele mesh blocks unterteilt. Ein mesh block besteht aus einem Würfel mit einer Seitenlänge von etwa 1 Meter und enthält Elemente wie vertex und index.

BlockInfo beschreibt den Inhalt eines mesh block. Dabei ist (x,y,z) der Index des mesh block. Durch Multiplizieren von (x,y,z) mit der physischen Größe jedes mesh block erhält man die Koordinaten des origin dieses mesh block im world coordinate system. Die anzuzeigenden Teile können anhand der Position des mesh block in der Welt vorab gefiltert werden, um Renderzeit zu sparen.
</p>
public struct BlockInfo

Konstruktoren

BlockInfo(int, int, int, int, int, int, int, int)

public BlockInfo(int x, int y, int z, int numOfVertex, int startPointOfVertex, int numOfIndex, int startPointOfIndex, int version)

Parameter

x
y
z
numOfVertex
startPointOfVertex
numOfIndex
startPointOfIndex
version

Felder

numOfIndex

Die Anzahl der indices in einem mesh block. Jeweils 3 aufeinanderfolgende vertices bilden eine triangular face.

public int numOfIndex

numOfVertex

Die Anzahl der vertices in einem mesh block.

public int numOfVertex

startPointOfIndex

Ähnlich wie startPointOfVertex. Die Startposition, an der index data im index buffer gespeichert wird, die angibt, ab welchem index der aktuelle mesh block beginnt. Sie ist nicht die Byteanzahl des offset. Der offset der Startposition beträgt startPointOfIndex*3*4 bytes.

public int startPointOfIndex

startPointOfVertex

Die Startposition, an der vertex data im vertex buffer gespeichert wird, die angibt, ab welchem vertex der aktuelle mesh block beginnt. Sie ist nicht die Byteanzahl des offset. Der offset der Startposition beträgt startPointOfVertex*3*4 bytes.

public int startPointOfVertex

version

Die Anzahl der Aktualisierungen des aktuellen mesh block. Eine größere version bedeutet mehr Aktualisierungen. Wenn die version eines mesh block nach dem Aufruf von `DenseSpatialMap.updateSceneMesh`_ größer wird, bedeutet dies, dass sich sein Inhalt geändert hat.

public int version

x

Das x im Index (x,y,z) des mesh block.

public int x

y

Das y im Index (x,y,z) des mesh block.

public int y

z

Das z im Index (x,y,z) des mesh block.

public int z