17#include "ioss_export.h"
33 using EPM_VP = ElementPermutationMap::value_type;
75 std::vector<Ordinal> &nodeOrdinalVector)
const;
120 const std::vector<std::vector<Permutation>> &permutationNodeOrdinals_);
229 static void factory(
unsigned n);
231 static std::string
get_name(
unsigned n);
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:55
Definition Ioss_ElementPermutation.h:36
Ioss::ElementPermutationMap m_registry
Definition Ioss_ElementPermutation.h:49
IOSS_NODISCARD ElementPermutationMap::iterator find(const std::string &type)
Definition Ioss_ElementPermutation.h:41
IOSS_NODISCARD ElementPermutationMap::iterator begin()
Definition Ioss_ElementPermutation.h:39
IOSS_NODISCARD ElementPermutationMap::iterator end()
Definition Ioss_ElementPermutation.h:40
std::vector< Ioss::ElementPermutation * > m_deleteThese
Definition Ioss_ElementPermutation.h:50
void insert(const Ioss::EPM_VP &value, bool delete_me)
Definition Ioss_ElementPermutation.C:17
Definition Ioss_ElementPermutation.h:60
IOSS_NODISCARD bool operator!=(const Ioss::ElementPermutation &rhs) const
Definition Ioss_ElementPermutation.C:222
IOSS_NODISCARD bool equal(const Ioss::ElementPermutation &rhs) const
Definition Ioss_ElementPermutation.C:227
IOSS_NODISCARD unsigned num_permutations() const
Definition Ioss_ElementPermutation.C:94
bool equal_(const Ioss::ElementPermutation &rhs, bool quiet) const
Definition Ioss_ElementPermutation.C:171
IOSS_NODISCARD bool is_positive_polarity(Permutation permutation) const
Definition Ioss_ElementPermutation.C:101
IOSS_NODISCARD unsigned num_positive_permutations() const
Definition Ioss_ElementPermutation.C:96
IOSS_NODISCARD bool valid_permutation(Permutation permutation) const
Definition Ioss_ElementPermutation.C:106
IOSS_NODISCARD const std::string & type() const
Definition Ioss_ElementPermutation.C:92
ElementPermutation(std::string type, bool delete_me=false)
Definition Ioss_ElementPermutation.C:33
Permutation m_numPositivePermutations
Definition Ioss_ElementPermutation.h:129
IOSS_NODISCARD std::vector< Ordinal > permutation_indices(Permutation permutation) const
Definition Ioss_ElementPermutation.C:127
std::string m_type
Definition Ioss_ElementPermutation.h:127
IOSS_NODISCARD bool operator==(const Ioss::ElementPermutation &rhs) const
Definition Ioss_ElementPermutation.C:217
static IOSS_NODISCARD ElementPermutation * factory(const std::string &type)
Definition Ioss_ElementPermutation.C:44
IOSS_NODISCARD Permutation num_permutation_nodes() const
Definition Ioss_ElementPermutation.C:134
static EPRegistry & registry()
Definition Ioss_ElementPermutation.C:38
void set_permutation(Permutation numPermutationNodes_, Permutation numPermutations_, Permutation numPositivePermutations_, const std::vector< std::vector< Permutation > > &permutationNodeOrdinals_)
Definition Ioss_ElementPermutation.C:136
Permutation m_numPermutationNodes
Definition Ioss_ElementPermutation.h:130
bool fill_permutation_indices(Permutation permutation, std::vector< Ordinal > &nodeOrdinalVector) const
Definition Ioss_ElementPermutation.C:111
static int describe(NameList *names)
Get the names of element permutations known to Ioss.
Definition Ioss_ElementPermutation.C:82
Permutation m_numPermutations
Definition Ioss_ElementPermutation.h:128
std::vector< std::vector< Permutation > > m_permutationNodeOrdinals
Definition Ioss_ElementPermutation.h:131
Represents an element topology.
Definition Ioss_ElementTopology.h:68
static void factory()
Definition Ioss_ElementPermutation.C:325
HexPermutation()
Definition Ioss_ElementPermutation.C:327
LinePermutation()
Definition Ioss_ElementPermutation.C:245
static void factory()
Definition Ioss_ElementPermutation.C:243
static void factory()
Definition Ioss_ElementPermutation.C:230
NullPermutation()
Definition Ioss_ElementPermutation.C:232
PyramidPermutation()
Definition Ioss_ElementPermutation.C:305
static void factory()
Definition Ioss_ElementPermutation.C:303
QuadPermutation()
Definition Ioss_ElementPermutation.C:269
static void factory()
Definition Ioss_ElementPermutation.C:267
SpherePermutation()
Definition Ioss_ElementPermutation.C:237
static void factory()
Definition Ioss_ElementPermutation.C:235
SpringPermutation()
Definition Ioss_ElementPermutation.C:253
static void factory()
Definition Ioss_ElementPermutation.C:251
static std::string get_name(unsigned n)
Definition Ioss_ElementPermutation.C:346
static void make_super(const std::string &type)
Definition Ioss_ElementPermutation.C:348
static std::vector< std::vector< Permutation > > get_super_permutations(unsigned n)
Definition Ioss_ElementPermutation.C:381
static void factory()
Definition Ioss_ElementPermutation.C:359
SuperPermutation()
Definition Ioss_ElementPermutation.C:370
static void factory()
Definition Ioss_ElementPermutation.C:283
TetPermutation()
Definition Ioss_ElementPermutation.C:285
static void factory()
Definition Ioss_ElementPermutation.C:259
TriPermutation()
Definition Ioss_ElementPermutation.C:261
WedgePermutation()
Definition Ioss_ElementPermutation.C:313
static void factory()
Definition Ioss_ElementPermutation.C:311
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
static constexpr Permutation InvalidPermutation
Definition Ioss_ElementPermutation.h:30
ElementPermutationMap::value_type EPM_VP
Definition Ioss_ElementPermutation.h:33
static constexpr Ordinal InvalidOrdinal
Definition Ioss_ElementPermutation.h:29
uint32_t Permutation
Definition Ioss_ElementPermutation.h:27
Ioss::NameList NameList
Definition Ioss_ChangeSetFactory.h:25
uint16_t Ordinal
Definition Ioss_ElementPermutation.h:26
std::map< std::string, ElementPermutation *, std::less<> > ElementPermutationMap
Definition Ioss_ElementPermutation.h:32