36#ifndef NEKTAR_SPATIALDOMAINS_QUADGEOM_H
37#define NEKTAR_SPATIALDOMAINS_QUADGEOM_H
62 const int id, std::array<SegGeom *, kNverts> edges,
72 std::array<PointGeom *, 4> face1, std::array<PointGeom *, 4> face2,
73 bool doRot =
false,
int dir = 0,
NekDouble angle = 0.0,
84 const int facedir)
const override;
#define SPATIAL_DOMAINS_EXPORT
std::array< PointGeom *, kNverts > m_verts
void v_Reset(CurveMap &curvedEdges, CurveMap &curvedFaces) override
Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated Geo...
static const std::string XMLElementType
static StdRegions::Orientation GetFaceOrientation(const QuadGeom &face1, const QuadGeom &face2, bool doRot=false, int dir=0, NekDouble angle=0.0, NekDouble tol=1e-8)
Get the orientation of face1.
std::array< StdRegions::Orientation, kNedges > m_eorient
static const int kNfacets
NekDouble v_GetCoord(const int i, const Array< OneD, const NekDouble > &Lcoord) override
Given local collapsed coordinate Lcoord, return the value of physical coordinate in direction i.
void PreSolveStraightEdge()
int v_GetNumVerts() const final
Get the number of vertices of this object.
QuadGeom(const int id, std::array< SegGeom *, kNverts > edges, const CurveSharedPtr curve=CurveSharedPtr())
void v_GenGeomFactors() override
PointGeom * v_GetVertex(const int i) const final
Returns vertex i of this object.
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.
std::array< SegGeom *, kNedges > m_edges
void v_FillGeom() override
Geometry1D * v_GetEdge(const int i) const final
Returns edge i of this object.
int v_GetNumEdges() const final
Get the number of edges of this object.
~QuadGeom() override=default
int v_GetDir(const int faceidx, const int facedir) const override
Returns the element coordinate direction corresponding to a given face coordinate direction.
int v_AllLeftCheck(const Array< OneD, const NekDouble > &gloCoord) override
std::shared_ptr< Curve > CurveSharedPtr
std::unordered_map< int, CurveSharedPtr > CurveMap