Orbiter 2022
Combinatorial Objects
orthogonal_space_activity_description.cpp
Go to the documentation of this file.
1/*
2 * orthogonal_space_activity_description.cpp
3 *
4 * Created on: Jan 12, 2021
5 * Author: betten
6 */
7
8
9
10
11#include "orbiter.h"
12
13using namespace std;
14
15namespace orbiter {
16namespace layer5_applications {
17namespace orthogonal_geometry_applications {
18
19
21{
22
23 f_input = FALSE;
24 Data = NULL;
25
28
32
37
39 //fname_base_out;
40
42
44 //std::string unrank_line_through_two_points_p1;
45 //std::string unrank_line_through_two_points_p2;
46
49
50 f_perp = FALSE;
51 //std::string perp_text;
52
55 //std::string set_stabilizer_fname_mask;
57 //std::string set_stabilizer_column_label;
58 //std::string set_stabilizer_fname_out;
59
60
62
63
64}
65
67{
68
69}
70
71
73 int argc, std::string *argv,
74 int verbose_level)
75{
76 int f_v = (verbose_level >= 1);
77 int i;
79
80 if (f_v) {
81 cout << "orthogonal_space_activity_description::read_arguments" << endl;
82 }
83 for (i = 0; i < argc; i++) {
84
85 if (ST.stringcmp(argv[i], "-input") == 0) {
86 f_input = TRUE;
88 if (f_v) {
89 cout << "-input" << endl;
90 }
91 i += Data->read_arguments(argc - (i + 1),
92 argv + i + 1, verbose_level);
93 if (f_v) {
94 cout << "orthogonal_space_activity_description::read_arguments finished reading -input" << endl;
95 cout << "i = " << i << endl;
96 cout << "argc = " << argc << endl;
97 if (i < argc) {
98 cout << "next argument is " << argv[i] << endl;
99 }
100 }
101 }
102 else if (ST.stringcmp(argv[i], "-create_BLT_set") == 0) {
105 if (f_v) {
106 cout << "-create_BLT_set" << endl;
107 }
108 i += BLT_Set_create_description->read_arguments(argc - (i + 1),
109 argv + i + 1, verbose_level);
110 if (f_v) {
111 cout << "orthogonal_space_activity_description::read_arguments finished reading -create_BLT_set" << endl;
112 cout << "i = " << i << endl;
113 cout << "argc = " << argc << endl;
114 if (i < argc) {
115 cout << "next argument is " << argv[i] << endl;
116 }
117 }
118 }
119 else if (ST.stringcmp(argv[i], "-BLT_set_starter") == 0) {
121 BLT_set_starter_size = ST.strtoi(argv[++i]);
122
124
125 i += BLT_set_starter_control->read_arguments(argc - (i + 1),
126 argv + i + 1, verbose_level);
127
128 if (f_v) {
129 cout << "i = " << i << endl;
130 cout << "argc = " << argc << endl;
131 if (i < argc) {
132 cout << "next argument is " << argv[i] << endl;
133 }
134
135
136 cout << "-BLT_set_starter " << BLT_set_starter_size << endl;
137 }
138 }
139 else if (ST.stringcmp(argv[i], "-BLT_set_graphs") == 0) {
141 BLT_set_graphs_starter_size = ST.strtoi(argv[++i]);
142 BLT_set_graphs_r = ST.strtoi(argv[++i]);
143 BLT_set_graphs_m = ST.strtoi(argv[++i]);
144 if (f_v) {
145 cout << "-BLT_set_graphs " << BLT_set_graphs_starter_size << " " << BLT_set_graphs_r << " " << BLT_set_graphs_m << endl;
146 }
147 }
148 else if (ST.stringcmp(argv[i], "-fname_base_out") == 0) {
150 fname_base_out.assign(argv[++i]);
151 if (f_v) {
152 cout << "-fname_base_out " << fname_base_out << endl;
153 }
154 }
155 else if (ST.stringcmp(argv[i], "-cheat_sheet_orthogonal") == 0) {
157 if (f_v) {
158 cout << "-cheat_sheet_orthogonal "<< endl;
159 }
160 }
161 else if (ST.stringcmp(argv[i], "-unrank_line_through_two_points") == 0) {
163 unrank_line_through_two_points_p1.assign(argv[++i]);
164 unrank_line_through_two_points_p2.assign(argv[++i]);
165 if (f_v) {
166 cout << "-unrank_line_through_two_points " << unrank_line_through_two_points_p1
167 << " " << unrank_line_through_two_points_p2 << endl;
168 }
169 }
170 else if (ST.stringcmp(argv[i], "-lines_on_point") == 0) {
172 lines_on_point_rank = ST.strtoi(argv[++i]);
173 if (f_v) {
174 cout << "-lines_on_point " << lines_on_point_rank << endl;
175 }
176 }
177
178 else if (ST.stringcmp(argv[i], "-perp") == 0) {
179 f_perp = TRUE;
180 perp_text.assign(argv[++i]);
181 if (f_v) {
182 cout << "-perp " << perp_text << endl;
183 }
184 }
185
186 else if (ST.stringcmp(argv[i], "-set_stabilizer") == 0) {
189 set_stabilizer_fname_mask.assign(argv[++i]);
190 set_stabilizer_nb = ST.strtoi(argv[++i]);
191 set_stabilizer_column_label.assign(argv[++i]);
192 set_stabilizer_fname_out.assign(argv[++i]);
193 if (f_v) {
194 cout << "-set_stabilizer "
197 << set_stabilizer_nb << " "
200 << endl;
201 }
202 }
203 else if (ST.stringcmp(argv[i], "-export_point_line_incidence_matrix") == 0) {
205 if (f_v) {
206 cout << "-export_point_line_incidence_matrix " << endl;
207 }
208 }
209
210 else if (ST.stringcmp(argv[i], "-end") == 0) {
211 if (f_v) {
212 cout << "-end" << endl;
213 }
214 break;
215 }
216 else {
217 cout << "orthogonal_space_activity_description::read_arguments "
218 "unrecognized option " << argv[i] << endl;
219 exit(1);
220 }
221 if (f_v) {
222 cout << "orthogonal_space_activity_description::read_arguments looping, i=" << i << endl;
223 }
224 } // next i
225
226 if (f_v) {
227 cout << "orthogonal_space_activity_description::read_arguments done" << endl;
228 }
229 return i + 1;
230}
231
232
234{
235 if (f_input) {
236 cout << "-input" << endl;
237 }
238 if (f_create_BLT_set) {
239 cout << "-create_BLT_set ";
241 }
242 if (f_BLT_set_starter) {
243 cout << "-BLT_set_starter " << BLT_set_starter_size << endl;
244 }
245 if (f_BLT_set_graphs) {
246 cout << "-BLT_set_graphs " << BLT_set_graphs_starter_size << " " << BLT_set_graphs_r << " " << BLT_set_graphs_m << endl;
247 }
248 if (f_fname_base_out) {
249 cout << "-fname_base_out " << fname_base_out << endl;
250 }
253 cout << "-cheat_sheet_orthogonal "<< endl;
254 }
256 cout << "-unrank_line_through_two_points " << unrank_line_through_two_points_p1
257 << " " << unrank_line_through_two_points_p2 << endl;
258 }
259 if (f_lines_on_point) {
260 cout << "-lines_on_point " << lines_on_point_rank << endl;
261 }
262
263 if (f_perp) {
264 cout << "-perp " << perp_text << endl;
265 }
266
267 if (f_set_stabilizer) {
268 cout << "-set_stabilizer "
271 << set_stabilizer_nb << " "
274 << endl;
275 }
277 cout << "-export_point_line_incidence_matrix " << endl;
278 }
279}
280
281
282
283}}}
284
description of input data for classification of geometric objects from the command line
functions related to strings and character arrays
to control the behavior of the poset classification algorithm
#define NEW_OBJECT(type)
Definition: foundations.h:638
#define TRUE
Definition: foundations.h:231
#define FALSE
Definition: foundations.h:234
the orbiter library for the classification of combinatorial objects