60 ConfigOption(
false,
"-1",
"Tag identifying surface to process.");
73 int surfTag =
m_config[
"surf"].as<
int>();
74 int prismedge[2][3] = {{0, 5, 4}, {2, 6, 7}};
75 int dim =
m_mesh->m_expDim;
77 for (
int i = 0; i <
m_mesh->m_element[dim].size(); ++i)
80 int nSurf = dim == 3 ? el->GetFaceCount() : el->GetEdgeCount();
82 for (
int j = 0; j < nSurf; ++j)
84 int bl = el->GetBoundaryLink(j);
91 vector<int> tags = bEl->GetTagList();
93 if (
find(tags.begin(), tags.end(), surfTag) == tags.end())
110 "Curved edge needs to be on prism triangular face");
112 for (
int k = 0; k < 3; ++k)
115 el->GetEdge(prismedge[(j - 1) / 2][k]);
122 ASSERTL0(0,
"Dimension not supported");
#define ASSERTL0(condition, msg)
void GenerateEdgeNodes(NekMeshUtils::EdgeSharedPtr edge)
virtual void Process()
Write mesh to output file.
virtual ~ProcessCurvedEdges()
Destructor.
MeshSharedPtr m_mesh
Mesh object.
Represents a command-line configuration option.
std::map< std::string, ConfigOption > m_config
List of configuration values.
boost::shared_ptr< Edge > EdgeSharedPtr
Shared pointer to an edge.
boost::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.
Abstract base class for processing modules.
InputIterator find(InputIterator first, InputIterator last, InputIterator startingpoint, const EqualityComparable &value)
boost::shared_ptr< Element > ElementSharedPtr