33 #ifndef IOSS_Ioss_Element_Topology_h 34 #define IOSS_Ioss_Element_Topology_h 41 class ElementTopology;
48 using ETM_VP = ElementTopologyMap::value_type;
56 ElementTopologyMap::iterator
find(
const std::string &type) {
return m_registry.find(type); }
75 void alias(
const std::string &base,
const std::string &syn);
76 bool is_alias(
const std::string &my_alias)
const;
105 virtual int order()
const = 0;
143 ElementTopology(std::string type, std::string master_elem_name,
bool delete_me =
false);
std::vector< std::string > NameList
Definition: Ioss_CodeTypes.h:45
virtual IntVector element_connectivity() const =0
Represents an element topology.
Definition: Ioss_ElementTopology.h:72
static ETRegistry & registry()
Definition: Ioss_ElementTopology.C:83
std::map< std::string, std::string > customFieldTypes
Definition: Ioss_ElementTopology.h:59
const std::string name_
Definition: Ioss_ElementTopology.h:146
virtual int number_corner_nodes() const =0
The main namespace for the Ioss library.
Definition: Ioad_DatabaseIO.C:66
virtual bool is_element() const
Definition: Ioss_ElementTopology.C:221
ElementTopology(const ElementTopology &)=delete
IntVector boundary_connectivity(int edge_number) const
Definition: Ioss_ElementTopology.C:261
void insert(const Ioss::ETM_VP &value, bool delete_me)
Definition: Ioss_ElementTopology.C:46
static int describe(NameList *names)
Get the names of element topologies known to Ioss.
Definition: Ioss_ElementTopology.C:175
static unsigned int get_unique_id(const std::string &type)
Definition: Ioss_ElementTopology.C:149
std::vector< int > IntVector
Definition: Ioss_CodeTypes.h:43
std::string master_element_name() const
Definition: Ioss_ElementTopology.h:88
virtual int number_edges() const =0
virtual ElementTopology * edge_type(int edge_number=0) const =0
ElementTopologyMap::iterator find(const std::string &type)
Definition: Ioss_ElementTopology.h:56
Definition: Ioss_ElementTopology.h:50
Ioss::ElementTopologyMap m_registry
Definition: Ioss_ElementTopology.h:62
virtual int number_nodes_edge(int edge=0) const =0
virtual bool faces_similar() const
Definition: Ioss_ElementTopology.C:92
int number_boundaries() const
Definition: Ioss_ElementTopology.C:228
ElementShape
Definition: Ioss_ElementTopology.h:45
virtual bool edges_similar() const
Definition: Ioss_ElementTopology.C:91
virtual int order() const =0
virtual int number_nodes_face(int face=0) const =0
bool is_alias(const std::string &my_alias) const
Definition: Ioss_ElementTopology.C:211
~ETRegistry()
Definition: Ioss_ElementTopology.C:54
virtual IntVector edge_connectivity(int edge_number) const =0
ElementTopologyMap::value_type ETM_VP
Definition: Ioss_ElementTopology.h:48
std::vector< Ioss::ElementTopology * > m_deleteThese
Definition: Ioss_ElementTopology.h:63
virtual ElementShape shape() const =0
virtual int number_nodes() const =0
const std::string masterElementName_
Definition: Ioss_ElementTopology.h:147
ElementTopology & operator=(const ElementTopology &)=delete
virtual int parametric_dimension() const =0
virtual IntVector face_connectivity(int face_number) const =0
virtual int number_edges_face(int face=0) const =0
virtual int spatial_dimension() const =0
virtual ~ElementTopology()
void alias(const std::string &base, const std::string &syn)
Definition: Ioss_ElementTopology.C:74
IntVector element_edge_connectivity() const
Definition: Ioss_ElementTopology.C:200
ElementTopology * boundary_type(int face_number=0) const
Definition: Ioss_ElementTopology.C:299
const std::string & name() const
Definition: Ioss_ElementTopology.h:83
ElementTopologyMap::iterator begin()
Definition: Ioss_ElementTopology.h:54
virtual int number_faces() const =0
virtual ElementTopology * face_type(int face_number=0) const =0
virtual IntVector face_edge_connectivity(int face_number) const
Definition: Ioss_ElementTopology.C:185
static ElementTopology * factory(const std::string &type, bool ok_to_fail=false)
Definition: Ioss_ElementTopology.C:94
ElementTopologyMap::iterator end()
Definition: Ioss_ElementTopology.h:55
std::map< std::string, ElementTopology *, std::less< std::string > > ElementTopologyMap
Definition: Ioss_ElementTopology.h:47