22 typedef std::vector<std::pair<int, int> >
vectorpair;
53 struct meshRefinement {
55 std::set<int> edgeSet;
56 std::set<int> faceSet;
57 std::set<int> volumeSet;
60 void getLocalMeshPropertiesForEntity(EntityBase *entity,
bool &localCurvatureRefinement,
int &localNumberOfStepsPerCircle,
double &localMinCurvatureRefRadius,
double &localMaximumDeviation);
61 double getMaxStepWidthForFace(TopoDS_Face &face,
bool localCurvatureRefinement,
int localNumberOfStepsPerCircle,
double localMinCurvatureRefRadius,
double localMaximumDeviation);
62 void applyVolumeMeshStepWidthToObjects(
gmsh::vectorpair &shapeTags,
double stepWidth);
63 void applyMeshStepWidthToFaces(std::list<int> &refineFaceTagList,
double stepWidth);
64 std::string getRefinementFromString(std::string &refinementString);
65 bool getPointFromRefinement(
const std::string &refinement,
double &x,
double &y,
double &z);
66 bool getFaceIdFromRefinement(
const std::string &refinement,
int &faceId);
67 void createRefinement(
double stepWidth, std::set<int> &faceSet, std::set<int> &edgeSet, std::set<int> &volumeSet);
68 void convertSet(
const std::set<int> &setData, std::vector<double> &listData);
72 double maximumEdgeLength;
73 double boundingSphereMeshStep;
74 double backgroundBaseStep;
75 double backgroundDistance;
76 int backgroundMeshRefinementField;
78 std::vector<double> faceStepWidthVector;
79 std::map<int, double> faceTagToStepSizeMap;
80 std::map<std::string, meshRefinement> meshFields;
81 std::list<std::array<double, 3>> refinementPoints;
82 std::vector<double> refinementFields2D;
Definition Application.h:25
Definition ObjectManager.h:23
Definition Properties.h:11
Definition StepWidthManager.h:26
void applyVolumeMeshStepWidthToEntity(EntityBase *entity, ObjectManager &objectManager, Properties &properties)
Definition StepWidthManager.cpp:215
void apply2DRefinementsToMesher(double refinementStep, double refinementRadius)
Definition StepWidthManager.cpp:423
StepWidthManager(Application *app)
Definition StepWidthManager.cpp:23
void applyCurvatureMeshStepWidthToEntities(void)
Definition StepWidthManager.cpp:265
void addProximityRefinementField(const std::string &expression, std::vector< double > &edgeList, std::vector< double > &faceList)
Definition StepWidthManager.cpp:560
bool hasAnyRefinementPoints(void)
Definition StepWidthManager.h:47
void applyUserDefinedRefinmentsToFacesAndPoints(double refinementStep, std::string refinementList)
Definition StepWidthManager.cpp:337
void setProximityRefinementFields(void)
Definition StepWidthManager.cpp:573
double getMaximumEdgeLength(void)
Definition StepWidthManager.h:31
void buildTagToAnnotationMap(gmsh::vectorpair &output)
Definition StepWidthManager.cpp:188
void buildIndexedFaceToStepSizeVector(EntityBase *entity, const TopoDS_Shape *shape, Properties &properties)
Definition StepWidthManager.cpp:73
void apply3DRefinementsToMesher(bool useDistanceForVolumeMeshRefinement, double refinementStep, double refinementRadius)
Definition StepWidthManager.cpp:475
~StepWidthManager()
Definition StepWidthManager.h:29
double getBoundingSphereMeshStep(void)
Definition StepWidthManager.h:32
double getBackgroundBaseStep(void)
Definition StepWidthManager.h:33
void determineBaseStepWidths(BoundingBox &boundingBox, Properties &properties)
Definition StepWidthManager.cpp:33
double getBackgroundDistance(void)
Definition StepWidthManager.h:34
The app namespace contains several functions that may be used to start processes.
Definition FaceAnnotationsManager.h:20
std::vector< std::pair< int, int > > vectorpair
Definition FaceAnnotationsManager.h:21