File: Options.h

package info (click to toggle)
xplanet 0.94-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,624 kB
  • ctags: 1,191
  • sloc: cpp: 9,466; ansic: 6,375; sh: 2,065; makefile: 380; perl: 55
file content (146 lines) | stat: -rw-r--r-- 4,329 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/****************************************************************************
    Xplanet 0.94 - render an image of a planet into an X window
    Copyright (C) 2002 Hari Nair <hari@alumni.caltech.edu>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
****************************************************************************/

#ifndef OPTIONS_H
#define OPTIONS_H

#include <list>
#include <string>
using namespace std;

#include <sys/time.h>

#include "checkfuncs.h"

#ifdef HAVE_LIBX11

#include <X11/Xlib.h>
#include <X11/Xutil.h>

#else

#include "ParseGeom.h"
typedef unsigned long Window;

#endif /* HAVE_LIBX11 */

#include "keywords.h"

class Options 
{
 public:
    string          background;
    int             blend;
    body_name       body;
    bool            center;
    int             centx;
    int             centy;
    string          cloud;
    double          cloud_gamma;
    bool            cloud_shade;
    int             cloud_threshold;
    string          color;
    string          day;
    int             debug;
    double          dellat;
    double          dellon;
    string          dem;
    double          demscale;
    int             display;
    string          font;
    list<string>    fontdir;
    int             fontsize;
    int             fullscreen;
    int             fuzz;
    bool            gmtlabel;
    list<string>    greatarcfile;
    int             grid1;
    int             grid2;
    bool            label;
    string          label_format;
    int             label_mask;
    bool            label_name;
    bool            label_rot;
    int             label_x;
    int             label_y;
    double          localtime;
    bool            mapbounds;
    double          map_ulx, map_uly, map_lrx, map_lry;
    list<string>    mapdir;
    string          markerbounds;
    list<string>    markerfile;
    bool            markers;
    bool            print_coords;
    int             projection;
    string          night;
    int             north;
    string          output;
    int             position;
    int             quality;
    double          radius;
    double          range;
    double          rotate;
    list<string>    satellitefile;
    int             sattrackid;
    double          shade;
    int             size;
    double          spacing;
    string          specular_file;
    int             ssec;
    double          starfreq;
    int             swap;
    int             terminator;
    bool            transpng;
    bool            truetype;
    struct timeval  time;
    string          title;
    int             trans;
    bool            vroot;
    unsigned int    window_width;
    unsigned int    window_height;
    int             window_x;
    int             window_y;
    int             window_mask;
    Window          XID;

    Options();
    void processArgs(int argc, char **argv, int &glutargc, char **glutargv);

    double getObsLat() { return(obslat); }
    void setObsLat(const double lat) { obslat = lat; }
    double getObsLon() { return(obslon); }
    void setObsLon(const double lon) { obslon = lon; }

    void setBody();
    void setPosition();

 private:
    void show_help();

    double          obslat, obslon;
}; 

const char* const body_string[RANDOMBODY] = {"mercury", "venus", "earth",
                                             "moon", "mars", "jupiter", 
                                             "io", "europa", "ganymede",
                                             "callisto", "saturn", "titan",
                                             "uranus", "neptune", "pluto"};
extern Options opts;

#endif