29 #ifndef NEMOSYS_SURFACEPACKMESHDRIVER_H_ 30 #define NEMOSYS_SURFACEPACKMESHDRIVER_H_ 32 #include "nemosys_export.h" 47 Files(std::string rocpackFile, std::string outputMeshFile);
48 std::string rocpackFile{};
49 std::string outputMeshFile{};
50 JSONCONS_TYPE_TRAITS_FRIEND
55 enum class NEMOSYS_EXPORT PhysGrpOpts {
NONE,
MULTI,
TWO, PER_SHAPE };
58 std::array<double, 3> initial{};
59 std::array<double, 3> length{};
67 bool createCohesive{
false};
71 bool enablePatches{
false};
75 bool setPeriodicGeo{
false};
79 jsoncons::optional<CustomDomain> customDomain{};
83 std::array<double, 3> transferMesh{};
90 struct NEMOSYS_EXPORT
Opts {
92 explicit Opts(jsoncons::optional<Periodic3DOpts> periodic3DOpts);
96 jsoncons::optional<double> meshSize{};
100 int meshAlgorithm{1};
104 jsoncons::optional<double> scaleValue{};
108 bool removeBoundaryPacks{
false};
112 bool enableDefaultOut{
false};
116 bool preserveSize{
false};
120 jsoncons::optional<int> refineLevel{};
124 jsoncons::optional<double> upperThreshold{};
128 jsoncons::optional<double> lowerThreshold{};
135 JSONCONS_TYPE_TRAITS_FRIEND
139 static constexpr
const char *type =
"surface";
140 static constexpr
const char *engine =
"packmesh";
145 const Files &getFiles()
const;
146 void setFiles(
Files files);
147 const Opts &getOpts()
const;
148 void setOpts(
Opts opts);
149 void execute()
const override;
151 JSONCONS_TYPE_TRAITS_FRIEND
163 #endif // NEMOSYS_SURFACEPACKMESHDRIVER_H_ jsoncons::optional< Periodic3DOpts > periodic3DOpts
If periodic3D has value, then options for the 3D mesh.
This class drives the flow of pack meshing by using parameters provided by users. ...