36 #ifndef NEKMESHUTILS_MESHELEMENTS_PRISM
37 #define NEKMESHUTILS_MESHELEMENTS_PRISM
44 namespace NekMeshUtils
55 std::vector<NodeSharedPtr> pNodeList,
56 std::vector<int> pTagList)
58 return boost::shared_ptr<Element>(
59 new Prism(pConf, pNodeList, pTagList));
65 std::vector<NodeSharedPtr> pNodeList,
66 std::vector<int> pTagList);
75 std::vector<NodeSharedPtr> &nodeList)
const;
84 bool justConfig =
false);
Basic information about an element.
virtual NEKMESHUTILS_EXPORT int GetFaceVertex(int i, int j)
Returns the local index of vertex j of face i.
unsigned int m_orientation
static LibUtilities::ShapeType m_type
Element type.
A 3-dimensional five-faced element (2 triangles, 3 quadrilaterals).
static int m_faceIds[5][4]
Vertex IDs that make up prism faces.
virtual NEKMESHUTILS_EXPORT SpatialDomains::GeometrySharedPtr GetGeom(int coordDim)
Generate a Nektar++ geometry object for this element.
void OrientPrism()
Orient prism to align degenerate vertices.
virtual NEKMESHUTILS_EXPORT void GetCurvedNodes(std::vector< NodeSharedPtr > &nodeList) const
get list of volume interior nodes
virtual NEKMESHUTILS_EXPORT StdRegions::Orientation GetEdgeOrient(int edgeId, EdgeSharedPtr edge)
Get the edge orientation of edge with respect to the local element, which lies at edge index edgeId...
static ElementSharedPtr create(ElmtConfig pConf, std::vector< NodeSharedPtr > pNodeList, std::vector< int > pTagList)
Creates an instance of this class.
static NEKMESHUTILS_EXPORT unsigned int GetNumNodes(ElmtConfig pConf)
Return the number of nodes defining a prism.
boost::shared_ptr< Edge > EdgeSharedPtr
Shared pointer to an edge.
NEKMESHUTILS_EXPORT Prism(ElmtConfig pConf, std::vector< NodeSharedPtr > pNodeList, std::vector< int > pTagList)
Create a prism element.
#define NEKMESHUTILS_EXPORT
boost::shared_ptr< Element > ElementSharedPtr
virtual NEKMESHUTILS_EXPORT ~Prism()
virtual NEKMESHUTILS_EXPORT void MakeOrder(int order, SpatialDomains::GeometrySharedPtr geom, LibUtilities::PointsType pType, int coordDim, int &id, bool justConfig=false)
Insert interior (i.e. volume) points into this element to make the geometry an order order representa...
boost::shared_ptr< Geometry > GeometrySharedPtr
Base class for element definitions.