35#ifndef NEKTAR_SPATIALDOMAINS_HEXGEOM_H
36#define NEKTAR_SPATIALDOMAINS_HEXGEOM_H
58 std::array<QuadGeom *, kNfaces> faces);
67 int v_GetDir(
const int faceidx,
const int facedir)
const override;
#define SPATIAL_DOMAINS_EXPORT
int v_GetNumEdges() const final
Get the number of edges of this object.
int v_GetDir(const int faceidx, const int facedir) const override
Returns the element coordinate direction corresponding to a given face coordinate direction.
static const unsigned int EdgeFaceConnectivity[12][2]
std::array< QuadGeom *, kNfaces > m_faces
StdRegions::Orientation v_GetForient(const int i) const final
Returns the orientation of face i with respect to the ordering of faces in the standard element.
std::array< StdRegions::Orientation, kNedges > m_eorient
int v_GetNumVerts() const final
Get the number of vertices of this object.
void SetUpFaceOrientation()
static const unsigned int VertexEdgeConnectivity[8][3]
static const unsigned int VertexFaceConnectivity[8][3]
void v_FillGeom() override
Put all quadrature information into face/edge structure and backward transform.
static const int kNfacets
PointGeom * v_GetVertex(const int i) const final
Returns vertex i of this object.
static const std::string XMLElementType
std::array< StdRegions::Orientation, kNfaces > m_forient
void v_Reset(CurveMap &curvedEdges, CurveMap &curvedFaces) override
Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated Geo...
StdRegions::Orientation v_GetEorient(const int i) const final
Returns the orientation of edge i with respect to the ordering of edges in the standard element.
void SetUpEdgeOrientation()
std::array< SegGeom *, kNedges > m_edges
int v_GetNumFaces() const final
Get the number of faces of this object.
void SetUpLocalVertices()
void v_GenGeomFactors() override
std::array< PointGeom *, kNverts > m_verts
int v_GetEdgeNormalToFaceVert(const int i, const int j) const override
Returns the standard lement edge IDs that are normal to a given face vertex.
int v_GetEdgeFaceMap(const int i, const int j) const override
Returns the standard element edge IDs that are connected to a given face.
static const int kNqfaces
Geometry2D * v_GetFace(const int i) const final
Returns face i of this object.
~HexGeom() override=default
int v_GetVertexEdgeMap(const int i, const int j) const override
Returns the standard element edge IDs that are connected to a given vertex.
static const unsigned int EdgeNormalToFaceVert[6][4]
Geometry1D * v_GetEdge(const int i) const final
Returns edge i of this object.
int v_GetVertexFaceMap(const int i, const int j) const override
Returns the standard element face IDs that are connected to a given vertex.
void SetUpXmap()
Set up the m_xmap object by determining the order of each direction from derived faces.
static const int kNtfaces
std::unordered_map< int, CurveSharedPtr > CurveMap