Trait MeshTopology
pub trait MeshTopology {
// Required methods
fn topological_dimension(&self) -> usize;
fn entity_count(&self, dimension: usize) -> Option<usize>;
fn incidence(
&self,
entity: MeshEntity,
target_dimension: usize,
) -> Option<Vec<EntityIncidence>>;
}Description
Arbitrary-dimensional topology contract.
Entities are stratified by topological dimension. incidence works in
either direction, so cell closures and facet-to-cell adjacency share one
operation instead of separate dimension-specific APIs.
Required Methods§
fn topological_dimension(&self) -> usize
fn topological_dimension(&self) -> usize
Topological mesh dimension.
fn entity_count(&self, dimension: usize) -> Option<usize>
fn entity_count(&self, dimension: usize) -> Option<usize>
Entity count in a valid dimension stratum.
fn incidence(
&self,
entity: MeshEntity,
target_dimension: usize,
) -> Option<Vec<EntityIncidence>>
fn incidence( &self, entity: MeshEntity, target_dimension: usize, ) -> Option<Vec<EntityIncidence>>
Oriented entities of target_dimension incident to entity in
deterministic reference-cell order. Invalid IDs or dimensions return
None.