aboutsummaryrefslogtreecommitdiff
path: root/pkg/images/tv/wcslab/wcs_desc.h
blob: 4f6b2a30f37cc59d9ce6372bb04088b01881bdad (plain) (blame)
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
# WCS_DESC - The definition of the WCSLAB descriptor memory structure.
#
# Description
#   This include file defines the memory structures and macros needed to
#   access elements of a WCSLAB descriptor.  The descriptor provides all
#   the necessary elements for the routine wcslab to produce a labeled
#   graph.
#
# History
#   9May91 - Created the descriptor.  Jonathan D. Eisenhamer, STScI.
#  15May91 - Modified the descriptor to contain only pointers to arrays.
#            Two routines, wcs_create and wcs_destroy are required to
#            create the arrays that are pointed to in the descriptor. 
#            Also seperated the include file from the wcslab.h file. jde
#  12Jun91 - Rewrote some of the labelling parameters. jde
#  20Jun91 - Redesigned much of the parameters. jde
#---------------------------------------------------------------------------

# Value of opposite axis that polar labels should appear along.
define WL_POLAR_LABEL_POSITION   Memd[P2D($1)]

# The rotation between the Logical and World coordinate systems.
define WL_ROTA                   Memd[P2D($1+2)]

# Size of the axis titles.
define WL_AXIS_TITLE_SIZE        Memr[P2R($1+4)]

# The offset required to properly calculate positions in the image display.
define WL_IMAGE_X_OFF            Memr[P2R($1+5)]
define WL_IMAGE_Y_OFF            Memr[P2R($1+6)]

# Size of the grid labels.
define WL_LABEL_SIZE             Memr[P2R($1+7)]

# Major tick mark size.
define WL_MAJ_TICK_SIZE          Memr[P2R($1+8)]

# Minor tick mark size.
define WL_MIN_TICK_SIZE          Memr[P2R($1+9)]

# Magnification of the text size for the title.
define WL_TITLE_SIZE             Memr[P2R($1+10)]

# The side in polar/near-polar plots not to put Axis 1 labels.
define WL_BAD_LABEL_SIDE         Memi[$1+11]

# The type of graph that will be produced.  The possible value are:
#
#   UNKNOWN    -> Graph type will be determined
#   NORMAL     -> Approximate a cartesian grid
#   POLAR      -> Graph center on a pole
#   NEAR_POLAR -> Graph very close to a pole

define WL_GRAPH_TYPE             Memi[$1+12]

# Number of segments each line should be broken into to plot it.
define WL_LINE_SEGMENTS          Memi[$1+13]

# The grid line type for major grids.  The possible values are to standard 
# IRAF GIO polyline types.
define WL_MAJ_LINE_TYPE          Memi[$1+14]

# The grid line type for minor grids.  The possible values are to standard 
# IRAF GIO polyline types.
define WL_MIN_LINE_TYPE          Memi[$1+15]

# The number of label points.
define WL_N_LABELS               Memi[$1+16]

# The graphic WCS that is set to NDC units.
define WL_NDC_WCS                Memi[$1+17]

# The graphic WCS used to plot the grid lines.
define WL_PLOT_WCS               Memi[$1+18]

# The direction of the latitude labelling on polar graphs. Possible values are:
#
#   BOTTOM -> Towards the bottom of the graph.
#   TOP -> Towards the top of the graph.
#   RIGHT -> Towards the right of the graph.
#   LEFT -> Towards the left of the graph.

define WL_POLAR_LABEL_DIRECTION  Memi[$1+19]

# The possible axis types.  The possible values are:
#
#   RA_DEC_TAN - The tangential display in right ascension and declination.
#   LINEAR     - General linear systems.

define WL_SYSTEM_TYPE            Memi[$1+20]

# Define which side of the graph will have the title.
define WL_TITLE_SIDE             Memi[$1+21]

# True if the axis mapping has reversed the order of the axis relative
# to the logical system.
define WL_AXIS_FLIP              Memi[$1+22]

# TRUE if the labels should always be printed in full form.
define WL_ALWAYS_FULL_LABEL      Memi[$1+23]

# TRUE if the grid labels should rotate with the grid lines.
define WL_LABEL_ROTATE           Memi[$1+26]

# True if coordinate labels are to be written.
define WL_LABON                  Memi[$1+27]

# True if we are to write labels outside the window borders.  Else, write 
# them inside.
define WL_LABOUT                 Memi[$1+28]

# True if we are to draw the major grid lines.
define WL_MAJ_GRIDON             Memi[$1+29]

# True if we are to draw the minor grid lines.
define WL_MIN_GRIDON             Memi[$1+30]

# True if the graph parameters should be written back out to the 
# parameter file.
define WL_REMEMBER               Memi[$1+31]

# TRUE if tick marks should point into the graph.
define WL_TICK_IN                Memi[$1+32]

# Titles to label each axis.
define WL_AXIS_TITLE_PTR         Memi[$1+33]
define WL_AXIS_TITLE             Memc[WL_AXIS_TITLE_PTR($1)+(($2-1)*SZ_LINE)] 

# The sides the axis titles will appear.
define WL_AXIS_TITLE_SIDE_PTR    Memi[$1+34]
define WL_AXIS_TITLE_SIDE        Memi[WL_AXIS_TITLE_SIDE_PTR($1)+$2-1]

# Beginning values to start labeling the axes.
define WL_BEGIN_PTR              Memi[$1+35]
define WL_BEGIN                  Memd[WL_BEGIN_PTR($1)+$2-1]

# The name of the graphics device.
#define WL_DEVICE_PTR             Memi[$1+36]
#define WL_DEVICE                 Memc[WL_DEVICE_PTR($1)]

# Value to stop labeling the axes.
define WL_END_PTR                Memi[$1+37]
define WL_END                    Memd[WL_END_PTR($1)+$2-1]

# The graphics descriptor.
define WL_GP                     Memi[$1+38]

# The angle of text at this label point.
define WL_LABEL_ANGLE_PTR        Memi[$1+40]
define WL_LABEL_ANGLE            Memd[WL_LABEL_ANGLE_PTR($1)+$2-1]

# Which axis the label represents.
define WL_LABEL_AXIS_PTR         Memi[$1+41]
define WL_LABEL_AXIS             Memi[WL_LABEL_AXIS_PTR($1)+$2-1]

# The positions of tick mark/grid labels.
define WL_LABEL_POSITION_PTR     Memi[$1+42]
define WL_LABEL_POSITION         Memd[WL_LABEL_POSITION_PTR($1)+$2-1+(($3-1)*MAX_LABEL_POINTS)]
#
# NOTE:  If the axis are transposed, the positions represented here are
#        the corrected, transposed values.

# The sides the labels for each axis should appear on.
define WL_LABEL_SIDE_PTR         Memi[$1+43]
define WL_LABEL_SIDE             Memb[WL_LABEL_SIDE_PTR($1)+$2-1+(($3-1)*N_SIDES)]

# The value of the label.
define WL_LABEL_VALUE_PTR        Memi[$1+44]
define WL_LABEL_VALUE            Memd[WL_LABEL_VALUE_PTR($1)+$2-1]

# The center of the transformations in the logical system.  
define WL_LOGICAL_CENTER_PTR     Memi[$1+45]
define WL_LOGICAL_CENTER         Memd[WL_LOGICAL_CENTER_PTR($1)+$2-1]

# The coordinate transformation from Logical to World.
define WL_LWCT                   Memi[$1+46]

# Major grid intervals for the axis.
define WL_MAJ_I_PTR              Memi[$1+47]
define WL_MAJOR_INTERVAL         Memd[WL_MAJ_I_PTR($1)+$2-1]

# The minor intervals for the axis.
define WL_MIN_I_PTR              Memi[$1+48]
define WL_MINOR_INTERVAL         Memi[WL_MIN_I_PTR($1)+$2-1]

# Remember the extent of the labels around the plot box.
define WL_NV_PTR                 Memi[$1+49]
define WL_NEW_VIEW               Memr[WL_NV_PTR($1)+$2-1]

# The MWL structure.
define WL_MW                     Memi[$1+50]

# The values of the sides of the screen.  The indexes are defined as follows:
#
#   TOP -> Y-axis value at the top of display.
#   BOTTOM -> Y-axis value at bottom of display
#   RIGHT  -> X-axis value at right of display.
#   LEFT   -> X-axis value at left of display.
#
define WL_SCREEN_BOUNDARY_PTR    Memi[$1+51]
define WL_SCREEN_BOUNDARY        Memd[WL_SCREEN_BOUNDARY_PTR($1)+$2-1]

# The title that will be placed on the plot.
define WL_TITLE_PTR              Memi[$1+52]
define WL_TITLE                  Memc[WL_TITLE_PTR($1)]

# The coordinate transformation from World to Logical.
define WL_WLCT                   Memi[$1+53]

# The center of the transformations in the world system.
define WL_WORLD_CENTER_PTR       Memi[$1+54]
define WL_WORLD_CENTER           Memd[WL_WORLD_CENTER_PTR($1)+$2-1]

# The length of this structure.
define WL_LEN                    55+1

#---------------------------------------------------------------------------
# End of wcs_desc
#---------------------------------------------------------------------------