35 #ifndef UTILITIES_NEKMESH_PROCESSJAC 36 #define UTILITIES_NEKMESH_PROCESSJAC 40 #include "../InputModules/InputPly.h" 71 std::vector<NekMeshUtils::Node> &Q,
73 std::vector<NekDouble> &blend);
76 std::map<int,NekMeshUtils::NodeSharedPtr> &surfverts);
void UnitCrossProd(NekMeshUtils::Node &a, NekMeshUtils::Node &b, NekMeshUtils::Node &c)
NekDouble CrossProdMag(NekMeshUtils::Node &a, NekMeshUtils::Node &b)
Calculate the magnitude of the cross product .
void FindNormalFromPlyFile(NekMeshUtils::MeshSharedPtr &plymesh, std::map< int, NekMeshUtils::NodeSharedPtr > &surfverts)
virtual ~ProcessSpherigon()
Destructor.
ProcessSpherigon(NekMeshUtils::MeshSharedPtr m)
Default constructor.
void SuperBlend(std::vector< NekDouble > &r, std::vector< NekMeshUtils::Node > &Q, NekMeshUtils::Node &P, std::vector< NekDouble > &blend)
Calculate the blending function for spherigon implementation.
void GenerateNormals(std::vector< NekMeshUtils::ElementSharedPtr > &el, NekMeshUtils::MeshSharedPtr &mesh)
Generate a set of approximate vertex normals to a surface represented by line segments in 2D and a hy...
std::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.
Represents a point in the domain.
virtual void Process()
Write mesh to output file.
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
static NekMeshUtils::ModuleKey className
static std::shared_ptr< Module > create(NekMeshUtils::MeshSharedPtr m)
Creates an instance of this class.
Abstract base class for processing modules.
NekDouble Blend(NekDouble r)
Calculate the blending function for spherigon implementation.
std::pair< ModuleType, std::string > ModuleKey