80 double r =
m_config[
"r"].as<
double>();
81 double xc =
m_config[
"xc"].as<
double>();
82 double yc =
m_config[
"yc"].as<
double>();
83 double t1 = atan2(n1->m_y - yc, n1->m_x - xc);
84 double t2 = atan2(n2->m_y - yc, n2->m_x - xc);
88 if (t1 < -M_PI / 2.0 && t2 > 0.0)
92 if (t2 < -M_PI / 2.0 && t1 > 0.0)
97 dt = (t2 - t1) / (nq - 1);
98 dz = (n2->m_z - n1->m_z) / (nq - 1);
100 edge->m_edgeNodes.resize(nq - 2);
101 for (
int i = 1; i < nq - 1; ++i)
104 0, xc + r * cos(t1 + i * dt),
105 yc + r * sin(t1 + i * dt), n1->m_z + i * dz));
void v_GenerateEdgeNodes(NekMeshUtils::EdgeSharedPtr edge)
virtual ~ProcessCyl()
Destructor.
std::shared_ptr< Edge > EdgeSharedPtr
Shared pointer to an edge.
std::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.
std::shared_ptr< Node > NodeSharedPtr
1D Evenly-spaced points using Lagrange polynomial
std::pair< ModuleType, std::string > ModuleKey
Represents a command-line configuration option.
std::map< std::string, ConfigOption > m_config
List of configuration values.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
std::pair< ModuleType, std::string > ModuleKey
ModuleFactory & GetModuleFactory()