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