Crate gut[][src]

Modules

This module defines an index type that can be invalid, although it has the same size as usize. This allows collections of usize integers to be reinterpreted as collections of Index types. For indexing into mesh topologies use types defined in the mesh::topology module.

Structs

Define index type

Define index type

Define index type

Define index type

Define index type

Define index type

Define index type

Define index type

Define index type

Define index type

Define index type

Define index type

A possibly invalid unsigned index. The maximum usize integer represents an invalid index. This index type is ideal for storage. Overflow is not handled by this type. Instead we rely on Rust’s internal overflow panics during debug builds.

Define index type

Define index type

Define index type

Define index type

Define index type

Traits

The general structure of all types of mesh topologies is the mapping from one mesh component (like a face) to another (like a vertex). One may implement any data layout convenient for them but the interface shall remain the same. In 3D a mesh can consist of: cells (3D volumes), faces (2D surfaces), edges (1D curves) and vertices (0D points) Topology defines the mapping between each of these components This trait identifies all indices that identify a particular element in a mesh, whether it is a vertex or a triangle, or even a connectivity between triangles and vertices like a triangle-vertex.

Plain old data trait. Types that implement this trait contain no references and can be copied with memcpy. The additional Any trait lets us inspect the type more easily.

TopoIndex is an index for data at a point of connectivity. For instance a FaceVertexIndex identifies a specific vertex pointed to by a face. This means it has a source and a destination. This trait defines the indices for this source and destination indices.