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.