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:57
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:16
Definition Ioss_ElementPermutation.h:60
IOSS_NODISCARD bool operator!=(const Ioss::ElementPermutation &rhs) const
Definition Ioss_ElementPermutation.C:221
IOSS_NODISCARD bool equal(const Ioss::ElementPermutation &rhs) const
Definition Ioss_ElementPermutation.C:226
IOSS_NODISCARD unsigned num_permutations() const
Definition Ioss_ElementPermutation.C:93
IOSS_NODISCARD bool equal_(const Ioss::ElementPermutation &rhs, bool quiet) const
Definition Ioss_ElementPermutation.C:170
IOSS_NODISCARD bool is_positive_polarity(Permutation permutation) const
Definition Ioss_ElementPermutation.C:100
IOSS_NODISCARD unsigned num_positive_permutations() const
Definition Ioss_ElementPermutation.C:95
IOSS_NODISCARD bool valid_permutation(Permutation permutation) const
Definition Ioss_ElementPermutation.C:105
IOSS_NODISCARD const std::string & type() const
Definition Ioss_ElementPermutation.C:91
ElementPermutation(std::string type, bool delete_me=false)
Definition Ioss_ElementPermutation.C:32
Permutation m_numPositivePermutations
Definition Ioss_ElementPermutation.h:129
IOSS_NODISCARD std::vector< Ordinal > permutation_indices(Permutation permutation) const
Definition Ioss_ElementPermutation.C:126
std::string m_type
Definition Ioss_ElementPermutation.h:127
IOSS_NODISCARD bool operator==(const Ioss::ElementPermutation &rhs) const
Definition Ioss_ElementPermutation.C:216
static IOSS_NODISCARD ElementPermutation * factory(const std::string &type)
Definition Ioss_ElementPermutation.C:43
IOSS_NODISCARD Permutation num_permutation_nodes() const
Definition Ioss_ElementPermutation.C:133
static EPRegistry & registry()
Definition Ioss_ElementPermutation.C:37
void set_permutation(Permutation numPermutationNodes_, Permutation numPermutations_, Permutation numPositivePermutations_, const std::vector< std::vector< Permutation > > &permutationNodeOrdinals_)
Definition Ioss_ElementPermutation.C:135
Permutation m_numPermutationNodes
Definition Ioss_ElementPermutation.h:130
bool fill_permutation_indices(Permutation permutation, std::vector< Ordinal > &nodeOrdinalVector) const
Definition Ioss_ElementPermutation.C:110
static int describe(NameList *names)
Get the names of element permutations known to Ioss.
Definition Ioss_ElementPermutation.C:81
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:73
static void factory()
Definition Ioss_ElementPermutation.C:324
HexPermutation()
Definition Ioss_ElementPermutation.C:326
LinePermutation()
Definition Ioss_ElementPermutation.C:244
static void factory()
Definition Ioss_ElementPermutation.C:242
static void factory()
Definition Ioss_ElementPermutation.C:229
NullPermutation()
Definition Ioss_ElementPermutation.C:231
PyramidPermutation()
Definition Ioss_ElementPermutation.C:304
static void factory()
Definition Ioss_ElementPermutation.C:302
QuadPermutation()
Definition Ioss_ElementPermutation.C:268
static void factory()
Definition Ioss_ElementPermutation.C:266
SpherePermutation()
Definition Ioss_ElementPermutation.C:236
static void factory()
Definition Ioss_ElementPermutation.C:234
SpringPermutation()
Definition Ioss_ElementPermutation.C:252
static void factory()
Definition Ioss_ElementPermutation.C:250
static std::string get_name(unsigned n)
Definition Ioss_ElementPermutation.C:345
static void make_super(const std::string &type)
Definition Ioss_ElementPermutation.C:347
static std::vector< std::vector< Permutation > > get_super_permutations(unsigned n)
Definition Ioss_ElementPermutation.C:380
static void factory()
Definition Ioss_ElementPermutation.C:358
SuperPermutation()
Definition Ioss_ElementPermutation.C:369
static void factory()
Definition Ioss_ElementPermutation.C:282
TetPermutation()
Definition Ioss_ElementPermutation.C:284
static void factory()
Definition Ioss_ElementPermutation.C:258
TriPermutation()
Definition Ioss_ElementPermutation.C:260
WedgePermutation()
Definition Ioss_ElementPermutation.C:312
static void factory()
Definition Ioss_ElementPermutation.C:310
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