46 #ifndef Shards_CellTopologyData_h
47 #define Shards_CellTopologyData_h
49 #if defined( __cplusplus )
195 const unsigned * node ;
201 CELL_PERMUTATION_POLARITY_IRRELEVANT = 0 ,
202 CELL_PERMUTATION_POLARITY_POSITIVE = 1 ,
203 CELL_PERMUTATION_POLARITY_NEGATIVE = 2
211 unsigned face_ordinal ,
212 unsigned face_edge_ordinal );
216 #if defined( __cplusplus )
struct CellTopologyData * base
Base, a.k.a. not-extended, version of this topology where vertex_count == node_count.
unsigned subcell_homogeneity[4]
Flag if the subcells of a given dimension are homogeneous.
unsigned key
Unique key for this topology.
struct CellTopologyData_Subcell * edge
Array of edges subcells of length edge_count.
unsigned vertex_count
Number of vertices.
Array of node permutations.
int mapCellFaceEdge(const CellTopologyData *cell_topology, unsigned face_ordinal, unsigned face_edge_ordinal)
Map a cell->face->edge ordinal to the cell->edge ordinal. Return -1 for erroneous input...
unsigned subcell_count[4]
Number of subcells of each dimension.
unsigned edge_count
Number of edges (a.k.a. boundary subcells).
unsigned dimension
Topological dimension.
unsigned node_count
Number of nodes (a.k.a. subcells).
const unsigned * node
Subcell indexing of with respect to parent cell.
const char * name
Intuitive name for this topology.
struct CellTopologyData * topology
Subcell topology.
unsigned side_count
Number of sides (a.k.a. boundary subcells).
struct CellTopologyData_Subcell * side
Array of side subcells of length side_count.
struct CellTopologyData_Subcell * subcell[4]
Array of subcells of each dimension.
A simple 'C' struct of cell topology attributes.
struct CellTopologyData_Permutation * permutation
Array of node permutations.
unsigned permutation_count
Number of defined permutations.