1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // CommandlineOptions.hh
4 //
5 //    produced: 04 Oct 1999 jr
6 // last change: 04 Oct 1999 jr
7 //
8 ////////////////////////////////////////////////////////////////////////////////
9 #ifndef COMMANDLINEOPTIONS_HH
10 #define COMMANDLINEOPTIONS_HH
11 
12 #include <stdlib.h>
13 #include <cstring>
14 
15 #include "Global.hh"
16 //#include "Poly.h"
17 
18 class CommandlineOptions {
19 private:
20   static bool      _verbose;
21   static bool      _debug;
22   static bool      _memopt;
23   static bool      _check;
24   static bool      _simple;
25   static bool      _neighborcount;
26   static bool      _input_chiro;
27   static bool      _fine_only;
28   static bool      _reduce_points;
29   static bool      _dont_add_points;
30   static bool      _dont_change_card;
31   static bool      _output_triangs;
32   static bool      _output_flips;
33   static bool      _compute_all;
34   static bool      _preprocess;
35   static bool      _check_regular;
36   static bool      _check_nonregular;
37   static bool      _check_sometimes;
38   static bool      _ignore_symmetries;
39   static bool      _symmetries_are_affine;
40   static bool      _output_heights;
41   static bool      _use_soplex;
42   static bool      _dump_status;
43   static bool      _read_status;
44   static size_type _report_frequency;
45   static size_type _sometimes_frequency;
46   static size_type _chirocache;
47   static size_type _localcache;
48   static size_type _no_of_simplices;
49   static size_type _dump_frequency;
50   static int       _dump_rotations;
51   static const char* _dump_file;
52   static const char* _read_file;
53   // Polymake object:
54   // static polymake::Poly _polymakeobj;
55 public:
CommandlineOptions()56   CommandlineOptions() {}
CommandlineOptions(const CommandlineOptions &)57   CommandlineOptions(const CommandlineOptions&) {}
58 public:
59   // initialization:
60   static void init(const int argc, const char** argv);
61   // accessors:
verbose()62   inline static bool      verbose()                 { return _verbose; }
debug()63   inline static bool      debug()                   { return _debug; }
memopt()64   inline static bool      memopt()                  { return _memopt; }
check()65   inline static bool      check()                   { return _check; }
simple()66   inline static bool      simple()                  { return _simple; }
neighborcount()67   inline static bool      neighborcount()           { return _neighborcount; }
input_chiro()68   inline static bool      input_chiro()             { return _input_chiro; }
fine_only()69   inline static bool      fine_only()               { return _fine_only; }
reduce_points()70   inline static bool      reduce_points()           { return _reduce_points; }
dont_add_points()71   inline static bool      dont_add_points()         { return _dont_add_points; }
dont_change_card()72   inline static bool      dont_change_card()        { return _dont_change_card; }
compute_all()73   inline static bool      compute_all()             { return _compute_all; }
preprocess()74   inline static bool      preprocess()              { return _preprocess; }
output_triangs()75   inline static bool      output_triangs()          { return _output_triangs; }
output_flips()76   inline static bool      output_flips()            { return _output_flips; }
check_regular()77   inline static bool      check_regular()           { return _check_regular; }
check_nonregular()78   inline static bool      check_nonregular()        { return _check_nonregular; }
check_sometimes()79   inline static bool      check_sometimes()         { return _check_sometimes; }
ignore_symmetries()80   inline static bool      ignore_symmetries()       { return _ignore_symmetries; }
symmetries_are_affine()81   inline static bool      symmetries_are_affine()   { return _symmetries_are_affine; }
output_heights()82   inline static bool      output_heights()          { return _output_heights; }
use_soplex()83   inline static bool      use_soplex()              { return _use_soplex; }
dump_status()84   inline static bool      dump_status()             { return _dump_status; }
read_status()85   inline static bool      read_status()             { return _read_status; }
report_frequency()86   inline static size_type report_frequency()        { return _report_frequency; }
sometimes_frequency()87   inline static size_type sometimes_frequency()     { return _sometimes_frequency; }
chirocache()88   inline static size_type chirocache()              { return _chirocache; }
localcache()89   inline static size_type localcache()              { return _localcache; }
no_of_simplices()90   inline static size_type no_of_simplices()         { return _no_of_simplices; }
dump_frequency()91   inline static size_type dump_frequency()          { return _dump_frequency; }
dump_rotations()92   inline static int       dump_rotations()          { return _dump_rotations; }
93 
dump_file()94   inline static const char* dump_file()               { return _dump_file; }
read_file()95   inline static const char* read_file()               { return _read_file; }
96 
97   // Polymake object:
98   // inline static polymake::Poly& polymakeobj { return _polymakeobj; }
99 };
100 
101 #endif
102 
103 // eof CommandlineOptions.hh
104