36 #ifndef NEKMESHUTILS_MESHELEMENTS_PRISM
37 #define NEKMESHUTILS_MESHELEMENTS_PRISM
44 namespace NekMeshUtils
55 std::vector<NodeSharedPtr> pNodeList,
56 std::vector<int> pTagList)
59 boost::shared_ptr<Element>(
new Prism(pConf, pNodeList, pTagList));
60 std::vector<FaceSharedPtr> faces = e->GetFaceList();
61 for (
int i = 0; i < faces.size(); ++i)
63 faces[i]->m_elLink.push_back(std::pair<ElementSharedPtr, int>(e, i));
71 std::vector<NodeSharedPtr> pNodeList,
72 std::vector<int> pTagList);
Basic information about an element.
unsigned int m_orientation
static LibUtilities::ShapeType m_type
Element type.
A 3-dimensional five-faced element (2 triangles, 3 quadrilaterals).
virtual NEKMESHUTILS_EXPORT void Complete(int order)
virtual NEKMESHUTILS_EXPORT SpatialDomains::GeometrySharedPtr GetGeom(int coordDim)
Generate a Nektar++ geometry object for this element.
void OrientPrism()
Orient prism to align degenerate vertices.
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.
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()
boost::shared_ptr< Geometry > GeometrySharedPtr
Base class for element definitions.