1#ifndef COORDINATECHANGE_HH
2#define COORDINATECHANGE_HH
5#include <unordered_map>
92 return GeoToCon_[faceIndex];
100 std::size_t operator()(
const std::pair<Z2,Z4>& key)
const {
101 return key.first*4+key.second;
106 const static std::array< std::unordered_map< std::pair<Z2,Z4>, std::pair<uint,uint>,
QuadHash >,6 > TopToGeo_;
108 const static std::array< std::unordered_map< std::pair<Z2,Z4>, std::pair<uint,uint>,
QuadHash >,6 > TopToCon_ ;
110 const static std::array< std::pair<uint,uint>,6 > GeoToCon_;
128 return GeoToCon_[edgeIndex];
133 const static std::array<uint,12> GeoToCon_;
182 return GeoToCon_[edgeIndex];
189 std::size_t operator()(
const Z2& key)
const {
195 const static std::array< std::unordered_map< Z2, uint, EdgeHash >, 4 > TopToGeo_;
197 const static std::array< std::unordered_map< Z2, uint, EdgeHash >, 4 > TopToCon_;
199 const static std::array<uint,4> GeoToCon_;
static uint GeoToCon(uint edgeIndex)
static uint TopToCon(uint edgeIndex, Z2 topologicalOrientation)
static uint TopToGeo(uint edgeIndex, Z2 topologicalOrientation)
static uint GeoToCon(uint edgeIndex)
Coordinate changes for edge elements.
static std::pair< uint, uint > TopToCon(uint faceIndex, std::pair< Z2, Z4 > topologicalOrientation)
static std::pair< uint, uint > TopToGeo(uint faceIndex, std::pair< Z2, Z4 > topologicalOrientation)
static std::pair< uint, uint > GeoToCon(uint faceIndex)
Coordinate changes for quadrilateral elements.
Set< F > makeSet(uint n, const F &first,...)