TetrahedralMesh
Classes
- TetrahedralMesh
Only keeps track of tetrahedra, actual point coordinates are stored outside. For most useful operations point coordinates are passed in as an extra argument.
Binary Layout: vertex_id_a :: uint32 vertex_id_b :: uint32 vertex_id_c :: uint32 vertex_id_d :: uint32 neighbour_a :: uint32 - neighbour tetrahedron, opposite to vertex A neighbour_b :: uint32 - neighbour tetrahedron, opposite to vertex B neighbour_c :: uint32 - neighbour tetrahedron, opposite to vertex C neighbour_d :: uint32 - neighbour tetrahedron, opposite to vertex D Layout is similar to [1], but is interleaved for better cache locality. Also note that sub-determinants are not included, these are only needed for building the mesh, we excluded them to keep structure clean and more compact.
Neighbours are encoded in the following manner: MSB -> [tet_id:30bit][opposite_corner_index:2bit] <- LSB Code to get tet index: encoded >> 2 Code to get corner index: encoded & 3
Constants
- LAYOUT_TETRA_WORD_COUNT :
number
- LAYOUT_TETRA_BYTE_SIZE :
number
Size in bytes of a single tetrahedron record
- INVALID_NEIGHBOUR :
number
- MAX_TET_INDEX :
number
- DEFAULT_INITIAL_SIZE :
number
- CAPACITY_GROW_MULTIPLIER :
number
- CAPACITY_GROW_MIN_STEP :
number
LAYOUT_TETRA_WORD_COUNT : number
Kind: global constant
Read only: true
LAYOUT_TETRA_BYTE_SIZE : number
Size in bytes of a single tetrahedron record
Kind: global constant
Read only: true
INVALID_NEIGHBOUR : number
Kind: global constant
Read only: true
MAX_TET_INDEX : number
Kind: global constant
Read only: true
DEFAULT_INITIAL_SIZE : number
Kind: global constant
Read only: true
CAPACITY_GROW_MULTIPLIER : number
Kind: global constant
Read only: true
CAPACITY_GROW_MIN_STEP : number
Kind: global constant
Read only: true