35#ifndef FIELDUTILS_PROCESSISOCONTOUR
36#define FIELDUTILS_PROCESSISOCONTOUR
48 void GlobalCondense(std::vector<std::shared_ptr<Iso>> &iso,
bool verbose);
49 void SeparateRegions(std::vector<std::shared_ptr<Iso>> &iso,
int minsize,
78 m_x[
loc] = intfields[0][j];
79 m_y[
loc] = intfields[1][j];
80 m_z[
loc] = intfields[2][j];
82 for (
int i = 0; i < intfields.size() - 3; ++i)
140 if (size >
m_x.size())
142 m_x.resize(size + 100);
143 m_y.resize(size + 100);
144 m_z.resize(size + 100);
146 for (
int i = 0; i <
m_fields.size(); ++i)
163 for (
int i = 0; i <
m_fields.size(); ++i)
177 std::vector<NekDouble>
m_x;
178 std::vector<NekDouble>
m_y;
179 std::vector<NekDouble>
m_z;
238 void v_Process(po::variables_map &vm)
override;
242 return "ProcessIsoContour";
247 return "Extracting contour";
void SeparateRegions(std::vector< std::shared_ptr< Iso > > &iso, int minsize, bool verbose)
void SetFields(const int loc, const Array< OneD, Array< OneD, NekDouble > > &intfields, const int j)
void SetX(int loc, NekDouble val)
void ResizeVId(int nconn)
void SetVId(int i, int j)
void SetY(int loc, NekDouble val)
std::vector< NekDouble > m_z
void GlobalCondense(std::vector< std::shared_ptr< Iso > > &iso, bool verbose)
std::vector< std::vector< NekDouble > > m_fields
NekDouble GetFields(const int i, const int j)
void SetZ(int loc, NekDouble val)
std::vector< NekDouble > m_y
void ResizeFields(int size)
std::vector< NekDouble > m_x
void Smooth(int n_iter, NekDouble lambda, NekDouble mu)
friend bool operator!=(const IsoVertex &x, const IsoVertex &y)
friend bool operator==(const IsoVertex &x, const IsoVertex &y)
std::vector< NekDouble > m_fields
This processing module extracts an isocontour.
std::vector< IsoSharedPtr > ExtractContour(const int fieldid, const NekDouble val)
std::string v_GetModuleDescription() override
void SetupIsoFromFieldPts(std::vector< IsoSharedPtr > &isovec)
static ModuleKey className
ModulePriority v_GetModulePriority() override
~ProcessIsoContour() override
void ResetFieldPts(std::vector< IsoSharedPtr > &iso)
std::string v_GetModuleName() override
static std::shared_ptr< Module > create(FieldSharedPtr f)
Creates an instance of this class.
void v_Process(po::variables_map &vm) override
Write mesh to output file.
Abstract base class for processing modules.
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
std::shared_ptr< Field > FieldSharedPtr
std::pair< ModuleType, std::string > ModuleKey
std::shared_ptr< Iso > IsoSharedPtr