7 #ifndef PARAMETERS_H_INCLUDED
8 #define PARAMETERS_H_INCLUDED
37 typedef std::vector<std::pair<std::string, std::string>>
exports;
38 typedef std::vector<std::pair<int, std::string>> varconfig;
56 std::string directory;
57 std::string templateregex;
58 std::string filenameregex;
59 varconfig loglvlspecialisation;
67 using outputtemplate::outputtemplate;
69 std::string TemplateLogging(
int lvl,
bool withPath =
true, std::string pattern =
"")
const;
124 void PrepareForUse();
139 void PrepareForUse();
161 void PrepareForUse();
179 void PrepareForUse();
188 std::string snakemeshname;
189 std::string volumeshname;
190 std::string snakefile;
191 std::string casename;
194 void PrepareForUse();
207 std::string pathoutdir;
208 std::string pathpattern;
209 std::string basenamepattern;
210 std::string basenameoutdir;
223 void PrepareForUse();
232 bool appcasename2outdir;
237 void PrepareForUse();
259 double rsvsmath_automatic_eps_edge;
260 double rsvsmath_automatic_eps_surf;
261 double rsvsmath_automatic_eps_volu;
262 double rsvsmath_automatic_eps_centre;
263 double rsvsmath_automatic_eps_centre2;
274 double limitlagrangian;
276 bool surfcentrejacobian;
277 bool surfcentrehessian;
278 bool snaxDistanceLimit_conserveShape;
279 std::string smoothstepmethod;
297 void PrepareForUse();
305 void read(
const std::string &fileName,
parameters &p);
306 void readflat(
const std::string &fileName,
parameters &p);
307 void write(
const std::string &fileName,
const parameters &p);
308 void writeflat(
const std::string &fileName,
const parameters &p);
309 int updatefromstring(
const std::vector<std::string> &flatjsonKeyVal,
parameters &p,
310 const std::string &&sep = std::string(
":"));
328 int symmetry_makefillactive();
Class for development parameters.
Class for control of rsvs epsilon.
Class containing all parameter settings for file operations.
Class for parameters of the grid generation.
std::string activegrid
The type of grid to use either "voxel" or "voronoi" .
std::array< realbounds, 3 > physdomain
Physical domain size for export.
std::array< realbounds, 3 > domain
Domain size in internal coordinates.
Class containing the input configuration these are files to load.
Class containing the output configuration these are files to store and where to store them.
Template for generating the correct processing file for the outputs.
Root class for all the parameters.
Parameters related to the Velocity calculation and VOS steps.
filltype< double > cstfill
Fill the VOS values with a constant value.
int solveralgorithm
Algorithm used by Eigen to solve the SQP system.
filltype< std::string > filefill
Fill the VOS values from file filefill.fill.
filltype< std::string > makefill
Fill the VOS values from a run time function accessible from makefill.fill.
Parameters controlling tuning parameters for the stepping of the restricted surface.
double snaxtimestep
maximum snake time step length
int initboundary
Initialisation boundary (either 0 (outer border), 1 (inner border))
int maxsteps
maximum number of steps
double multiarrivaltolerance
Distance along edge at which converging snaxels are considered arrived.
double snaxdiststep
maximum snaxel distance movement
double arrivaltolerance
Distance along edge at which a vertex is considered arrived regardless of "d" and "v".
double spawnposition
Position of spawn.
Class for handling of voronoi VOS meshing parameters.
double distancebox
Distance at which to build the bounding box of the mesh.
double snakecoarseness
The coarseneness level of the snaking mesh that will be generated.
int vorosnakelayers
The number of layers making up the snaking mesh inside each VOS cell [6 6 6] is roughly equal to 2.
std::vector< double > inputpoints
Vector of input points, 4 datums per point.
std::string pointfile
A string pointing to a file containing the set of inputpoints.
Parameters controlling cartesian grid properties.
std::array< int, 3 > gridsizesnake
Size of the Snaking grid on which the snake is defined.
std::array< int, 3 > gridsizebackground
Size of the Background grid on which the VOS is defined.
Namespace containing the parameter classes used to control execution of the 3D-RSVS program.
std::array< double, 2 > realbounds
Collects a lower and an upper bound.
std::vector< std::pair< std::string, std::string > > exports
Collects the export settings which is a vector of pairs of strings.
The input type of fill information.