35 #ifndef FIELDUTILS_PROCESSISOCONTOUR
36 #define FIELDUTILS_PROCESSISOCONTOUR
38 #include "../Module.h"
50 void GlobalCondense(std::vector<std::shared_ptr<Iso> > &iso,
bool verbose);
51 void SeparateRegions(std::vector<std::shared_ptr<Iso> > &iso,
int minsize,
bool verbose);
79 m_x[
loc] = intfields[0][j];
80 m_y[
loc] = intfields[1][j];
81 m_z[
loc] = intfields[2][j];
83 for(
int i = 0; i < intfields.size()-3; ++i)
141 if(size >
m_x.size())
143 m_x.resize(size+100);
144 m_y.resize(size+100);
145 m_z.resize(size+100);;
146 for(
int i = 0; i <
m_fields.size(); ++i)
164 for(
int i = 0; i <
m_fields.size(); ++i)
178 std::vector<NekDouble>
m_x;
179 std::vector<NekDouble>
m_y;
180 std::vector<NekDouble>
m_z;
240 virtual void Process(po::variables_map &vm);
244 return "ProcessIsoContour";
249 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)
std::vector< NekDouble > m_fields
friend bool operator!=(const IsoVertex &x, const IsoVertex &y)
friend bool operator==(const IsoVertex &x, const IsoVertex &y)
This processing module extracts an isocontour.
std::vector< IsoSharedPtr > ExtractContour(const int fieldid, const NekDouble val)
virtual ModulePriority GetModulePriority()
void SetupIsoFromFieldPts(std::vector< IsoSharedPtr > &isovec)
static std::shared_ptr< Module > create(FieldSharedPtr f)
Creates an instance of this class.
static ModuleKey className
virtual void Process(po::variables_map &vm)
Write mesh to output file.
void ResetFieldPts(std::vector< IsoSharedPtr > &iso)
virtual std::string GetModuleDescription()
virtual std::string GetModuleName()
virtual ~ProcessIsoContour()
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
The above copyright notice and this permission notice shall be included.