Nektar++
|
Represents a face comprised of three or more edges. More...
#include <Face.h>
Public Member Functions | |
NEKMESHUTILS_EXPORT | Face (std::vector< NodeSharedPtr > pVertexList, std::vector< NodeSharedPtr > pFaceNodes, std::vector< EdgeSharedPtr > pEdgeList, LibUtilities::PointsType pCurveType) |
Create a new face. More... | |
NEKMESHUTILS_EXPORT | Face (const Face &pSrc) |
Copy an existing face. More... | |
NEKMESHUTILS_EXPORT | ~Face () |
NEKMESHUTILS_EXPORT bool | operator== (Face &pSrc) |
Equality is defined by matching all vertices. More... | |
NEKMESHUTILS_EXPORT unsigned int | GetNodeCount () const |
Returns the total number of nodes (vertices, edge nodes and face nodes). More... | |
NEKMESHUTILS_EXPORT void | GetCurvedNodes (std::vector< NodeSharedPtr > &nodeList) |
Assemble a list of nodes on curved face. More... | |
NEKMESHUTILS_EXPORT std::string | GetXmlCurveString () |
Generates a string listing the coordinates of all nodes associated with this face. More... | |
void | MakeOrder (int order, SpatialDomains::GeometrySharedPtr geom, LibUtilities::PointsType pType, int coordDim, int &id) |
Make this face an order order face. More... | |
NEKMESHUTILS_EXPORT SpatialDomains::Geometry2DSharedPtr | GetGeom (int coordDim) |
Generate either SpatialDomains::TriGeom or SpatialDomains::QuadGeom for this element. More... | |
Public Attributes | |
unsigned int | m_id |
ID of the face. More... | |
std::vector< NodeSharedPtr > | m_vertexList |
List of vertex nodes. More... | |
std::vector< EdgeSharedPtr > | m_edgeList |
List of corresponding edges. More... | |
std::vector< NodeSharedPtr > | m_faceNodes |
List of face-interior nodes defining the shape of the face. More... | |
LibUtilities::PointsType | m_curveType |
Distribution of points in this face. More... | |
std::vector< std::pair < ElementSharedPtr, int > > | m_elLink |
Element(s) which are linked to this face. More... | |
SpatialDomains::Geometry2DSharedPtr | m_geom |
Nektar++ representation of geometry. More... | |
CADObjectSharedPtr | m_parentCAD |
Represents a face comprised of three or more edges.
A face is defined by a list of vertices, a list of edges joining these vertices, and a list of control nodes within the interior of the face, defining the shape of the face.
|
inline |
Create a new face.
Definition at line 65 of file Face.h.
|
inline |
Copy an existing face.
Definition at line 73 of file Face.h.
|
inline |
void Nektar::NekMeshUtils::Face::GetCurvedNodes | ( | std::vector< NodeSharedPtr > & | nodeList | ) |
Assemble a list of nodes on curved face.
Definition at line 47 of file Face.cpp.
References ASSERTL0, Nektar::LibUtilities::eNodalTriElec, Nektar::LibUtilities::eNodalTriEvenlySpaced, Nektar::LibUtilities::eNodalTriFekete, GetNodeCount(), m_curveType, m_edgeList, m_faceNodes, and m_vertexList.
Referenced by GetXmlCurveString().
SpatialDomains::Geometry2DSharedPtr Nektar::NekMeshUtils::Face::GetGeom | ( | int | coordDim | ) |
Generate either SpatialDomains::TriGeom or SpatialDomains::QuadGeom for this element.
Definition at line 282 of file Face.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::StdRegions::eBackwards, Nektar::StdRegions::eForwards, GetNodeCount(), m_curveType, m_edgeList, m_faceNodes, m_id, and m_vertexList.
|
inline |
Returns the total number of nodes (vertices, edge nodes and face nodes).
Definition at line 100 of file Face.h.
References m_edgeList, m_faceNodes, and m_vertexList.
Referenced by GetCurvedNodes(), and GetGeom().
std::string Nektar::NekMeshUtils::Face::GetXmlCurveString | ( | ) |
Generates a string listing the coordinates of all nodes associated with this face.
Definition at line 136 of file Face.cpp.
References GetCurvedNodes().
void Nektar::NekMeshUtils::Face::MakeOrder | ( | int | order, |
SpatialDomains::GeometrySharedPtr | geom, | ||
LibUtilities::PointsType | pType, | ||
int | coordDim, | ||
int & | id | ||
) |
Make this face an order order
face.
Definition at line 156 of file Face.cpp.
References ASSERTL0, ASSERTL1, Nektar::LibUtilities::PointsKey::GetPointsDim(), m_curveType, m_faceNodes, m_parentCAD, m_vertexList, class_topology::Node, and Nektar::LibUtilities::PointsManager().
|
inline |
Equality is defined by matching all vertices.
Definition at line 83 of file Face.h.
References Nektar::StdRegions::find(), Nektar::iterator, and m_vertexList.
LibUtilities::PointsType Nektar::NekMeshUtils::Face::m_curveType |
Distribution of points in this face.
Definition at line 139 of file Face.h.
Referenced by GetCurvedNodes(), GetGeom(), and MakeOrder().
std::vector<EdgeSharedPtr> Nektar::NekMeshUtils::Face::m_edgeList |
List of corresponding edges.
Definition at line 135 of file Face.h.
Referenced by GetCurvedNodes(), GetGeom(), and GetNodeCount().
std::vector<std::pair<ElementSharedPtr, int> > Nektar::NekMeshUtils::Face::m_elLink |
Element(s) which are linked to this face.
std::vector<NodeSharedPtr> Nektar::NekMeshUtils::Face::m_faceNodes |
List of face-interior nodes defining the shape of the face.
Definition at line 137 of file Face.h.
Referenced by GetCurvedNodes(), GetGeom(), GetNodeCount(), and MakeOrder().
SpatialDomains::Geometry2DSharedPtr Nektar::NekMeshUtils::Face::m_geom |
unsigned int Nektar::NekMeshUtils::Face::m_id |
CADObjectSharedPtr Nektar::NekMeshUtils::Face::m_parentCAD |
Definition at line 145 of file Face.h.
Referenced by MakeOrder().
std::vector<NodeSharedPtr> Nektar::NekMeshUtils::Face::m_vertexList |
List of vertex nodes.
Definition at line 133 of file Face.h.
Referenced by GetCurvedNodes(), GetGeom(), GetNodeCount(), MakeOrder(), and operator==().