Skip to content

Mesh Implementations Data Structures

Lukas Kalbertodt edited this page Jun 11, 2018 · 10 revisions

There are many different ways to implement/store a mesh. These different implementations have different characteristics in terms of:

  • What neighborhood information can I obtain in constant time
  • Memory usage
  • Speed/cache friendliness
  • What elements (face, edge, vertex) are "explicitly" stored = can be referred to

A table showing all this data can be found here. The different data structures will be briefly explained here.

Weak data structures

I call these week because they have a very limited feature set and are only useful in very special and rare situations. Furthermore, there are more capable data structures that do not really have any disadvantages.

FaceList

Vertex-Vertex

Vec<{
    prop: VertexProp, 
    neighbors: Vec<VertexHandle>,
}>

A list of vertices is stored, where each vertex stores it's properties and its neighbors.


Links

Clone this wiki locally