Wildmeshing Toolkit
Loading...
Searching...
No Matches
qslim_spec.hpp
1#pragma once
2#include <nlohmann/json.hpp>
3namespace {
4
5nlohmann::json qslim_spec = R"(
6[
7 {
8 "pointer": "/",
9 "type": "object",
10 "required": ["application", "input"],
11 "optional": [
12 "output",
13 "num_threads",
14 "eps_rel",
15 "target_rel",
16 "target_abs",
17 "log_file",
18 "report",
19 "throw_on_fail"
20 ]
21 },
22 {
23 "pointer": "/application",
24 "type": "string",
25 "options": ["qslim"],
26 "doc": "Application name must be qslim."
27 },
28 {
29 "pointer": "/input",
30 "type": "string",
31 "doc": "Triangular input mesh."
32 },
33 {
34 "pointer": "/output",
35 "type": "string",
36 "default": "out.obj",
37 "doc": "Output file name."
38 },
39 {
40 "pointer": "/num_threads",
41 "type": "int",
42 "default": 0,
43 "doc": "Number of threads used by the application"
44 },
45 {
46 "pointer": "/eps_rel",
47 "type": "float",
48 "default": -1,
49 "doc": "Envelope thickness relative to the bounding box"
50 },
51 {
52 "pointer": "/target_rel",
53 "type": "float",
54 "default": 0.1,
55 "doc": "Target number of vertices relative to the number of input vertices."
56 },
57 {
58 "pointer": "/target_abs",
59 "type": "float",
60 "default": -1,
61 "doc": "Absolute target number of vertices."
62 },
63 {
64 "pointer": "/log_file",
65 "type": "string",
66 "default": "",
67 "doc": "Logs are not just printed on the terminal but also saved in this file."
68 },
69 {
70 "pointer": "/report",
71 "type": "string",
72 "default": "",
73 "doc": "A JSON file that stores information about the result and the method execution, e.g., runtime."
74 },
75 {
76 "pointer": "/throw_on_fail",
77 "type": "bool",
78 "default": false,
79 "doc": "Throw exception if the output does not fulfil the desired criteria. No output will be generated."
80 }
81]
82)"_json;
83
84}