36 #ifndef FIELDUTILS_PROCESSISOCONTOUR
37 #define FIELDUTILS_PROCESSISOCONTOUR
39 #include "../Module.h"
42 #include <boost/geometry.hpp>
43 #include <boost/geometry/geometries/point.hpp>
44 #include <boost/geometry/geometries/box.hpp>
45 #include <boost/geometry/index/rtree.hpp>
47 namespace bg = boost::geometry;
48 namespace bgi = boost::geometry::index;
62 void GlobalCondense(vector<boost::shared_ptr<Iso> > &iso,
bool verbose);
63 void SeparateRegions(vector<boost::shared_ptr<Iso> > &iso,
int minsize,
bool verbose);
91 m_x[loc] = intfields[0][j];
92 m_y[loc] = intfields[1][j];
93 m_z[loc] = intfields[2][j];
95 for(
int i = 0; i < intfields.num_elements()-3; ++i)
97 m_fields[i][loc] = intfields[i+3][j];
153 if(size >
m_x.size())
155 m_x.resize(size+100);
156 m_y.resize(size+100);
157 m_z.resize(size+100);;
158 for(
int i = 0; i <
m_fields.size(); ++i)
176 for(
int i = 0; i <
m_fields.size(); ++i)
252 virtual void Process(po::variables_map &vm);
vector< NekDouble > m_fields
void SetX(int loc, NekDouble val)
NekDouble GetFields(const int i, const int j)
static boost::shared_ptr< DataType > AllocateSharedPtr()
Allocate a shared pointer from the memory pool.
pair< ModuleType, string > ModuleKey
void ResetFieldPts(vector< IsoSharedPtr > &iso)
void SetupIsoFromFieldPts(vector< IsoSharedPtr > &isovec)
void ResizeFields(int size)
vector< vector< NekDouble > > m_fields
void SetFields(const int loc, const Array< OneD, Array< OneD, NekDouble > > &intfields, const int j)
virtual ~ProcessIsoContour()
boost::shared_ptr< Iso > IsoSharedPtr
This processing module interpolates one field to another.
boost::shared_ptr< Field > FieldSharedPtr
void GlobalCondense(vector< boost::shared_ptr< Iso > > &iso, bool verbose)
friend bool operator!=(const IsoVertex &x, const IsoVertex &y)
void Smooth(int n_iter, NekDouble lambda, NekDouble mu)
static ModuleKey className
void SetVId(int i, int j)
virtual void Process(po::variables_map &vm)
Write mesh to output file.
void SetZ(int loc, NekDouble val)
static boost::shared_ptr< Module > create(FieldSharedPtr f)
Creates an instance of this class.
void ResizeVId(int nconn)
const NekDouble SQ_PNT_TOL
friend bool operator==(const IsoVertex &x, const IsoVertex &y)
void SeparateRegions(vector< boost::shared_ptr< Iso > > &iso, int minsize, bool verbose)
void SetY(int loc, NekDouble val)
This processing module extracts an isocontour.
vector< IsoSharedPtr > ExtractContour(const int fieldid, const NekDouble val)