-
Notifications
You must be signed in to change notification settings - Fork 0
/
Nektarpp.h
44 lines (41 loc) · 1.33 KB
/
Nektarpp.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef NEKTARPP_H
#define NEKTARPP_H
#include "MeshRegion.h"
#include "tinyxml2.h"
#include <string>
class NektarppXml : public MeshRegion {
public:
NektarppXml(std::string filename, std::string regionname = "xmlRegion_",
double tolerance = 1e-6);
void LoadXml(int nlayers, std::vector<double> targz, double offset0 = 0.,
double offset1 = 0., bool mapping = false, int exclude = -1);
void UpdateXml();
void OutXml(std::string name);
void UpdateXmlComposite();
void UpdateXmlDomainExpansion();
void LoadWallmapping(std::string filename);
void DeformPts(void *func);
tinyxml2::XMLDocument m_doc;
protected:
void LoadDim();
void LoadModifyPts(int nlayers, std::vector<double> targz,
double offset0 = 0., double offset1 = 0.,
bool mapping = false, int exclude = -1);
void LoadEdge();
void LoadFace();
void LoadCell();
void LoadComposite();
void LoadModifyCurved(int nlayers, std::vector<double> targz);
void LoadModifyCurved(void *func);
void UpdateXmlPts();
void UpdateXmlEdge();
void UpdateXmlFace();
void UpdateXmlCell();
bool IsWallpoint(std::vector<double> &p, int &id);
std::string m_edgeTag;
std::string m_faceTag;
std::string m_bndTye;
std::vector<std::vector<double>> m_wallpoints;
std::map<int, int> m_wallmapping;
};
#endif