diff options
Diffstat (limited to 'src/doc/ps/3DBuildA.ps')
-rw-r--r-- | src/doc/ps/3DBuildA.ps | 444 |
1 files changed, 444 insertions, 0 deletions
diff --git a/src/doc/ps/3DBuildA.ps b/src/doc/ps/3DBuildA.ps new file mode 100644 index 00000000..cd42f38d --- /dev/null +++ b/src/doc/ps/3DBuildA.ps @@ -0,0 +1,444 @@ +%!PS-Adobe-2.0 +%%DocumentFonts: Times-Roman +%%Creator: Axiom +%%CreationDate: today +%%Pages: 1 +%%processing (hard) limit: 250 pts or 500 values for the operand stack. +%%EndComments + +%------------------------------- prologue -------------------------------% +%-------------------------- support procedures --------------------------% + +%--------- first create user dictionary with 100 entries max ------------% +% (number can be changed to accomodate definitions) % + +100 dict begin %% using 100 entries in top level dictionary + +/FontHeight 12 def + +/inch + { 72 mul } + def + +% yVal and hVal are necessary because the Xwindow display origin +% is at the upper left corner, while the postscript display +% origin is at the lower left hand corner. + +/yVal %% get Y value -- make upper left corner origin + { maxY sub abs } %% maxY is viewWindow height + def + +/hVal %% get H value -- used for displaying title text + { maxH sub abs } %% maxH is viewWindow height+titleWindow height + def + +% loads in the font + +/loadFont + { /Times-Roman findfont FontHeight scalefont setfont } + def + +% draws a rectangle with input operand: +% height +% width +% notice that this function does not "draw" or ink the rectangle. +/drawRect + { 1 index 1 add 0 rlineto %% draw first side + 0 exch 1 add neg rlineto %% draw second side + 1 add neg 0 rlineto %% draw third side + closepath } %% draw fourth side + def + +% create a rectangle with input operand in the view window: +% y +% x +% height +% width +% notice that this function does not "draw" or ink the rectangle. +/rectangle + { yVal moveto %% set currentpoint for line + drawRect } %% draws the rectangle + def + +% These are global variables that every draw procedure uses +% THe operand should be as follows: +% viewWindow width +% viewWindow height +% title height +/setDim + { /maxX exch def %% width of display + /maxY exch def %% height of display + /titleH exch def %% height of title + /maxH maxY titleH add def %% height of display + title + } def + +%-------------------------- major procedures --------------------------% + +/title %% draws a rectangle around the title of picture + { gsave + newpath + moveto %% lower left of title + titleH 1 add 0 exch rlineto %% draw first side + 1 add 0 rlineto %% draw second side + 1 add neg 0 exch rlineto + begin installGC stroke end %% draw third side + grestore } + def + +/drawFrame %% draw display frame + { gsave + newpath + maxX maxY 0 0 rectangle + begin installGC stroke end + grestore } + def + +% updates the foreground color of existing graphics-context dictionary: +% foreground color +% dictionary name +/setForeground + { /FGcolor exch put } + def + +% updates the background color of existing graphics-context dictionary: +% background color +% dictionary name +/setBackground + { /BGcolor exch put } + def + +% updates the line width, line style, cap style, join style of +% existing graphics-context dictionary: +% dictionary name +% join style +% cap style +% line width +/setLineAttributes + { begin + /JoinStyle exch def + /CapStyle exch def + /LineWidth exch def + end } + def + +% creates a graphics context dictionary with the following information: +% /dictionary name +% foreground color +% background color +% line width +% cap style +% join style +% this creates different graphical contexts for different drawing functions. +/makeDict + { 5 dict 2 copy def begin pop %% with dict name on top of stack + /FGcolor exch def %% define drawing attributes + /BGcolor exch def %% not heavily used + /LineWidth exch def + /CapStyle exch def + /JoinStyle exch def + end } + def + +% makes the current dictionary attributes effective +% this function takes the values in the current dictionary to set the context +% these are the values currently being used: foreground, cap, join, and width +/installGC + { + FGcolor currentgray ne + {FGcolor setgray} if %% foreground color + CapStyle currentlinecap ne + {CapStyle setlinecap} if %% cap style + JoinStyle currentlinejoin ne + {JoinStyle setlinejoin} if %% join style + LineWidth currentlinewidth ne + {LineWidth setlinewidth} if } %% line width + def + +% operand stack configuration in order to use psDrawLine: +% psDrawLine +% y0 +% x0 +% y1 +% x1 +% graphics-context dictionary +% this draws a line from (x0, y0) to (x1, y1). + +/psDrawLine + { gsave + newpath + yVal moveto + yVal lineto + begin installGC stroke end + grestore } + def + +% operand stack configuration in order to use psDrawStr: +% psDrawStr +% y +% x +% string +% graphics-context dictionary +% this function draws a text string at (x,y). + +/psDrawStr + { gsave + newpath + loadFont + yVal moveto + exch begin installGC show end + grestore } + def + +%-------------------------- script --------------------------% + +% 1 inch 1 inch translate + + mark %% mark bottom of our stack + + 0 0 1 + 1072693248 0 /globalGC1 makeDict + 0 0 1 + 1072693248 0 /globalGC2 makeDict + 0 0 1 + 1072693248 0 /trashGC makeDict + 0 0 1 + 1072693248 0 /componentGC makeDict + 0 0 1 + 1072693248 0 /opaqueGC makeDict + 0 0 1 + 1072693248 0 /renderGC makeDict + 0 0 1 + 1072693248 0 /globGC makeDict + 0 0 1 + 1072693248 0 /anotherGC makeDict + 1 0 1 + 1072693248 0 /renderGC makeDict + + gsave % save graphics state for clipping path + + 1.000000 1.000000 scale + + 24 303 300 setDim + maxX maxY 0 0 rectangle clip % set clip path + + globalGC1 0.000000 setForeground + globGC 0.000000 setForeground + globalGC1 8 262 257 94 psDrawLine + globGC (X) 3 267 psDrawStr + globalGC1 107.000000 setForeground + globGC 107.000000 setForeground + globalGC1 0.000000 setForeground + globGC 0.000000 setForeground + globalGC1 283 262 33 94 psDrawLine + globGC (Y) 288 267 psDrawStr + globalGC1 107.000000 setForeground + globGC 107.000000 setForeground + globalGC1 0.000000 setForeground + globGC 0.000000 setForeground + globalGC1 145 18 145 283 psDrawLine + globGC (Z) 150 13 psDrawStr + globalGC1 107.000000 setForeground + globGC 107.000000 setForeground + 0 0 0 componentGC setLineAttributes + componentGC 0.000000 setForeground + componentGC 0.000000 setForeground + componentGC 162 163 162 169 psDrawLine + componentGC 0.000000 setForeground + componentGC 167 167 162 163 psDrawLine + componentGC 0.000000 setForeground + componentGC 168 125 167 167 psDrawLine + componentGC 0.000000 setForeground + componentGC 162 121 168 125 psDrawLine + componentGC 0.000000 setForeground + componentGC 163 115 162 121 psDrawLine + componentGC 0.000000 setForeground + componentGC 180 126 163 115 psDrawLine + componentGC 0.000000 setForeground + componentGC 180 132 180 126 psDrawLine + componentGC 0.000000 setForeground + componentGC 174 129 180 132 psDrawLine + componentGC 0.000000 setForeground + componentGC 173 171 174 129 psDrawLine + componentGC 0.000000 setForeground + componentGC 178 174 173 171 psDrawLine + componentGC 0.000000 setForeground + componentGC 178 180 178 174 psDrawLine + componentGC 0.000000 setForeground + componentGC 162 169 178 180 psDrawLine + componentGC 0.000000 setForeground + componentGC 99 140 101 182 psDrawLine + componentGC 0.000000 setForeground + componentGC 104 130 99 140 psDrawLine + componentGC 0.000000 setForeground + componentGC 122 119 104 130 psDrawLine + componentGC 0.000000 setForeground + componentGC 128 121 122 119 psDrawLine + componentGC 0.000000 setForeground + componentGC 128 128 128 121 psDrawLine + componentGC 0.000000 setForeground + componentGC 123 131 128 128 psDrawLine + componentGC 0.000000 setForeground + componentGC 122 128 123 131 psDrawLine + componentGC 0.000000 setForeground + componentGC 119 127 122 128 psDrawLine + componentGC 0.000000 setForeground + componentGC 108 134 119 127 psDrawLine + componentGC 0.000000 setForeground + componentGC 105 139 108 134 psDrawLine + componentGC 0.000000 setForeground + componentGC 106 175 105 139 psDrawLine + componentGC 0.000000 setForeground + componentGC 101 182 106 175 psDrawLine + componentGC 0.000000 setForeground + componentGC 109 176 106 175 psDrawLine + componentGC 0.000000 setForeground + componentGC 121 169 109 176 psDrawLine + componentGC 0.000000 setForeground + componentGC 123 164 121 169 psDrawLine + componentGC 0.000000 setForeground + componentGC 123 149 123 164 psDrawLine + componentGC 0.000000 setForeground + componentGC 117 153 123 149 psDrawLine + componentGC 0.000000 setForeground + componentGC 117 147 117 153 psDrawLine + componentGC 0.000000 setForeground + componentGC 129 140 117 147 psDrawLine + componentGC 0.000000 setForeground + componentGC 129 163 129 140 psDrawLine + componentGC 0.000000 setForeground + componentGC 124 173 129 163 psDrawLine + componentGC 0.000000 setForeground + componentGC 107 184 124 173 psDrawLine + componentGC 0.000000 setForeground + componentGC 101 182 107 184 psDrawLine + componentGC 0.000000 setForeground + componentGC 106 175 101 182 psDrawLine + componentGC 0.000000 setForeground + componentGC 186 130 184 184 psDrawLine + componentGC 0.000000 setForeground + componentGC 211 145 186 130 psDrawLine + componentGC 0.000000 setForeground + componentGC 217 155 211 145 psDrawLine + componentGC 0.000000 setForeground + componentGC 215 174 217 155 psDrawLine + componentGC 0.000000 setForeground + componentGC 212 175 215 174 psDrawLine + componentGC 0.000000 setForeground + componentGC 215 180 212 175 psDrawLine + componentGC 0.000000 setForeground + componentGC 213 198 215 180 psDrawLine + componentGC 0.000000 setForeground + componentGC 207 199 213 198 psDrawLine + componentGC 0.000000 setForeground + componentGC 190 188 207 199 psDrawLine + componentGC 0.000000 setForeground + componentGC 190 182 190 188 psDrawLine + componentGC 0.000000 setForeground + componentGC 190 188 190 182 psDrawLine + componentGC 0.000000 setForeground + componentGC 184 184 190 188 psDrawLine + componentGC 0.000000 setForeground + componentGC 208 191 205 192 psDrawLine + componentGC 0.000000 setForeground + componentGC 209 179 208 191 psDrawLine + componentGC 0.000000 setForeground + componentGC 206 174 209 179 psDrawLine + componentGC 0.000000 setForeground + componentGC 191 164 206 174 psDrawLine + componentGC 0.000000 setForeground + componentGC 191 158 191 164 psDrawLine + componentGC 0.000000 setForeground + componentGC 206 168 191 158 psDrawLine + componentGC 0.000000 setForeground + componentGC 209 167 206 168 psDrawLine + componentGC 0.000000 setForeground + componentGC 210 155 209 167 psDrawLine + componentGC 0.000000 setForeground + componentGC 207 149 210 155 psDrawLine + componentGC 0.000000 setForeground + componentGC 192 140 207 149 psDrawLine + componentGC 0.000000 setForeground + componentGC 190 188 192 140 psDrawLine + componentGC 0.000000 setForeground + componentGC 190 182 190 188 psDrawLine + componentGC 0.000000 setForeground + componentGC 205 192 190 182 psDrawLine + componentGC 0.000000 setForeground + componentGC 60 157 66 211 psDrawLine + componentGC 0.000000 setForeground + componentGC 67 153 60 157 psDrawLine + componentGC 0.000000 setForeground + componentGC 95 192 67 153 psDrawLine + componentGC 0.000000 setForeground + componentGC 89 196 95 192 psDrawLine + componentGC 0.000000 setForeground + componentGC 80 184 89 196 psDrawLine + componentGC 0.000000 setForeground + componentGC 70 190 80 184 psDrawLine + componentGC 0.000000 setForeground + componentGC 70 184 70 190 psDrawLine + componentGC 0.000000 setForeground + componentGC 76 180 70 184 psDrawLine + componentGC 0.000000 setForeground + componentGC 68 169 76 180 psDrawLine + componentGC 0.000000 setForeground + componentGC 72 207 68 169 psDrawLine + componentGC 0.000000 setForeground + componentGC 66 211 72 207 psDrawLine + componentGC 0.000000 setForeground + componentGC 230 157 225 211 psDrawLine + componentGC 0.000000 setForeground + componentGC 237 161 230 157 psDrawLine + componentGC 0.000000 setForeground + componentGC 246 206 237 161 psDrawLine + componentGC 0.000000 setForeground + componentGC 263 177 246 206 psDrawLine + componentGC 0.000000 setForeground + componentGC 270 182 263 177 psDrawLine + componentGC 0.000000 setForeground + componentGC 263 236 270 182 psDrawLine + componentGC 0.000000 setForeground + componentGC 256 232 263 236 psDrawLine + componentGC 0.000000 setForeground + componentGC 260 199 256 232 psDrawLine + componentGC 0.000000 setForeground + componentGC 248 217 260 199 psDrawLine + componentGC 0.000000 setForeground + componentGC 241 213 248 217 psDrawLine + componentGC 0.000000 setForeground + componentGC 234 183 241 213 psDrawLine + componentGC 0.000000 setForeground + componentGC 231 215 234 183 psDrawLine + componentGC 0.000000 setForeground + componentGC 225 211 231 215 psDrawLine + componentGC 0.000000 setForeground + componentGC 20 182 28 236 psDrawLine + componentGC 0.000000 setForeground + componentGC 28 177 20 182 psDrawLine + componentGC 0.000000 setForeground + componentGC 52 205 28 177 psDrawLine + componentGC 0.000000 setForeground + componentGC 47 165 52 205 psDrawLine + componentGC 0.000000 setForeground + componentGC 54 161 47 165 psDrawLine + componentGC 0.000000 setForeground + componentGC 59 215 54 161 psDrawLine + componentGC 0.000000 setForeground + componentGC 53 220 59 215 psDrawLine + componentGC 0.000000 setForeground + componentGC 29 193 53 220 psDrawLine + componentGC 0.000000 setForeground + componentGC 34 232 29 193 psDrawLine + componentGC 0.000000 setForeground + componentGC 28 236 34 232 psDrawLine + + grestore % restore graphics state + + + cleartomark %% clearing operand stack + +end %% pops mainDict from dictionary stack + +showpage + +%-------------------------- end --------------------------% |