29 #ifndef NEMOSYS_OMEGAHREFINEDRIVER_H_ 30 #define NEMOSYS_OMEGAHREFINEDRIVER_H_ 34 #include <Omega_h_defines.hpp> 45 Transfer(std::string arrayName, Omega_h_Transfer method);
46 std::string arrayName{};
47 Omega_h_Transfer method{};
48 jsoncons::optional<std::string> integralName{};
49 JSONCONS_TYPE_TRAITS_FRIEND
56 JSONCONS_TYPE_TRAITS_FRIEND
58 VarCompare() =
default;
60 struct NEMOSYS_EXPORT
Opts {
62 explicit Opts(std::vector<NEM::SRV::omegahRefineMetricSource>
sources);
64 bool reconstructGeo{
false};
66 jsoncons::optional<bool> Verbose{};
67 std::vector<NEM::SRV::omegahRefineMetricSource> MetricSources{};
68 jsoncons::optional<bool> ShouldLimitLengths{};
69 jsoncons::optional<Omega_h::Real> MaxLength{};
70 jsoncons::optional<Omega_h::Real> MinLength{};
71 jsoncons::optional<bool> ShouldLimitGradation{};
72 jsoncons::optional<Omega_h::Real> MaxGradationRate{};
73 jsoncons::optional<Omega_h::Real> GradationConvergenceTolerance{};
74 jsoncons::optional<bool> ShouldLimitElementCount{};
75 jsoncons::optional<Omega_h::Real> MaxElementCount{};
76 jsoncons::optional<Omega_h::Real> MinElementCount{};
77 jsoncons::optional<Omega_h::Real> ElementCountOverRelaxation{};
78 jsoncons::optional<Omega_h::Int> NsmoothingSteps{};
80 jsoncons::optional<Omega_h::Real> MinLengthDesired{};
81 jsoncons::optional<Omega_h::Real> MaxLengthDesired{};
82 jsoncons::optional<Omega_h::Real> MaxLengthAllowed{};
83 jsoncons::optional<Omega_h::Real> MinQualityAllowed{};
84 jsoncons::optional<Omega_h::Real> MinQualityDesired{};
85 jsoncons::optional<Omega_h::Int> NsliverLayers{};
86 jsoncons::optional<std::string> Verbosity{};
87 jsoncons::optional<Omega_h::Real> LengthHistogramMin{};
88 jsoncons::optional<Omega_h::Real> LengthHistogramMax{};
89 jsoncons::optional<Omega_h::Int> NlengthHistogramBins{};
90 jsoncons::optional<Omega_h::Int> NqualityHistogramBins{};
91 jsoncons::optional<bool> ShouldRefine{};
92 jsoncons::optional<bool> ShouldCoarsen{};
93 jsoncons::optional<bool> ShouldSwap{};
94 jsoncons::optional<bool> ShouldCoarsenSlivers{};
95 jsoncons::optional<bool> ShouldPreventCoarsenFlip{};
99 JSONCONS_TYPE_TRAITS_FRIEND
102 static constexpr
const char *method =
"Omega_h";
106 const Opts &getOpts()
const;
107 void setOpts(
Opts opts);
108 void execute()
const override;
110 JSONCONS_TYPE_TRAITS_FRIEND
121 #endif // NEMOSYS_OMEGAHREFINEDRIVER_H_
std::vector< VarCompare > TransferOptsIntegralDiffuse
std::vector< Transfer > TransferOpts
Store variables to create Omega_h's VarCompareOpts object used to define integral diffuse map during ...
std::array< vtkIdType, 2 > sources