home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Graphics / Misc / NeXTcontour_1.7 / Source / NeXTcontour.nib / data.nib (.txt) < prev   
Encoding:
NeXT TypedStream Data  |  1995-06-12  |  64.2 KB  |  1,144 lines

  1. typedstream
  2. IBObjectData
  3. Object
  4. CustomObject
  5. Application
  6. FormCell
  7. ActionCell
  8.     Helvetica
  9. Matrix
  10. Control
  11.     Responder
  12. @:@iiii
  13. ff@@#::s
  14. Field:
  15. Button
  16. ButtonCell
  17. reset  min/max
  18. min/max
  19. Function min/max
  20. reset All Data
  21. Light Gray
  22. NXImage
  23. NXradio
  24. NXradioH
  25.     Dark Gray
  26. Black
  27. Radio
  28. NXColorWell
  29.     TextField
  30. TextFieldCell
  31. Choose
  32. Color
  33. Grid Line Color
  34. Slider
  35. SliderCell
  36. dddf@d@
  37. Grid Line Thickness
  38. Grid Line Styles
  39. XY Projection
  40. YX Projection
  41. XZ Projection
  42. ZX Projection
  43. YZ  Projection
  44. ZY Projection
  45. Comput.  Space
  46. + View Point 
  47. - View Point 
  48. Viewing Transformations
  49. [15@]
  50. reset  Function Subsets
  51. j plane
  52. k plane
  53. l plane
  54. Animate F 3D
  55. Function Subsets
  56. Equate Subsets
  57. Grid Subsets
  58. reset  Grid Subsets
  59. Animate G 3D
  60. Set Defaults
  61. Set Defaults: 
  62. Writes the new 
  63. preferences to
  64.  the user defaults 
  65. and resets the 
  66. local session 
  67. configuration.
  68. NeXTcontour 
  69. Helvetica-BoldOblique
  70. Sound
  71. NeXTcontour
  72. Title
  73. [11@]
  74. 3D Data
  75. 2D Data
  76. Color 
  77. Black/White
  78. "Number of Functions To Be Read In:
  79. AeroDynamics
  80. General
  81. Black on White 
  82. Color
  83. Data Dimension Choice
  84. Data Form Choice
  85. Plot Color Choice
  86. Print Color Choice
  87. Data  File Format Choice
  88. Binary
  89. Ascii
  90. MenuCell
  91. Heavier
  92. Font Panel...
  93. Larger
  94. Smaller
  95. Lighter
  96. Italic
  97. Superscript
  98.     Subscript
  99. Unscript
  100.     Underline
  101. RA 2-D/ 3D contour package .
  102.           Thomas H. Pulliam
  103. pulliam@rft29.nas.nasa.gov
  104. $July 1993,  Public Domain Free Ware 
  105. Tom_Face_small
  106. Version 1.7
  107. ScrollView
  108. ClipView
  109. ciifffcfffs
  110. [34122c]{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;\f1\fmodern Courier;\f2\ftech Symbol;}
  111. \margl40
  112. \margr40
  113. {\colortbl;\red0\green0\blue0;}
  114. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\b0\i0\ulnone\fs24\fc0\cf0 \
  115.      
  116. \fs32       
  117. \b                
  118. \fs48 NeXTcontour  V 1.7  (7/93)\
  119. \f1\fs24 \
  120. \f0\b0\fs32 A contour plotting program on the NeXT which attempts to emulate PLOT3D \
  121. ( Pieter Buning's plotting package for Computational Fluid Dynamics).\
  122. \b\fs36 Introduction:\
  123. \b0\fs32 \
  124. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 NeXTcontour is intended for use in plotting contours of functions from either \
  125. 2D (two-dimensional) or 3D (three-dimensional) data sets.  The program allows 2D or 3D data consisting of a grid file(a structured - single block set of coordinate lines) and a solution file (typically data from a CFD computation, but any number of 2D or 3D variables of data at the grid points is acceptable).  The grid can be an arbitrary curvilinear coordinate system as long as the data is ordered in a lexicographical fashion.  Various functions of the data can be plotted and subsets of the data can be chosen.  In 3D, the grid and contour data can be viewed in computational space (uniform coordinate index space) or in a projection onto the base x-y, x-z or y-z constant planes.  A simple min/max viewing capability exists along with a zooming function.  Grid/contour  line thickness, color and contour line styles are selectable.  In 3D, animation of coordinate families is possible.  Hardcopy output is handled either through the print panel or by selecting "save EPS file" (produces an encapsulated PostScript file).\
  126. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0 \
  127. This program uses the standard NeXT type interface.  \
  128. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 New Features:  (Aug. 91)\
  129. Added services capability so that nxyplot (a line plotting package which can be obtained off the net , sonata.cc.purdue.edu : /pub/next/2.0-release/nxyplot1.6.tar.Z)\
  130. can be used to plot line data set up using the Line Data panel.\
  131. Added Line Data panel which allows user to subset to a coordinate line and plot the function data verses x,y,z,or arclength.  See below.\
  132. Added new function Cp (for aerodynamic users).\
  133. Added simple color option for contours.\
  134. Added preferences for user setting on startup. See description below.\
  135. New Features:  (Sept. 91)\
  136. Modified data interface to read in either aerodynamic data (PLOT3D style) or general data with an arbitrary number of functions.\
  137. Added Function title and modified contour level display.\
  138. New Features: (Dec 91)\
  139. Added formatted data read capability.  (Note: there is no error checking when formatted data is read.)  Added more error checking in the subsets interface.  \
  140. New Features: (Jan 92)\
  141. Added List Data for formatted output of raw data in a text window.  Put in print\
  142. color option for default black/white printing and color setting.  Added new \
  143. preference items.   \
  144. New Features: (June 92)\
  145. Fixed up  and added animate grids.\
  146. Fixes (July 1992)\
  147. Fixed a memory malloc leak.  Big time mistake (hope nobodys mad at me).\
  148. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0 \
  149. \b\fs36 Menu items and keyboard equivalences:
  150. \b0\fs32 \
  151. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 \
  152. key        function               description\
  153. -----      -------------------   --------------------------------------------------------------\
  154. \b Info >
  155. \b0 \
  156.             Info Panel             Brings up info panel.\
  157. \b  ?
  158. \b0          help                      this help \
  159.             Preferences         Brings up preferences panel to set startup \
  160.                                          configuration.\
  161.                                          Just reset some of the switches and push  
  162. \b set defaults
  163. \b0 .\
  164.                                          The new setting are written to the users defaults on the \
  165.                                          system (use 
  166. \b dread
  167. \b0  to check settings) and local setting \
  168.                                          are changed to conform with the new configuration.  \
  169.                                          Users can override the local setting, unless otherwise \
  170.                                          noted. \
  171. \b File >
  172. \b0 \
  173. \b0          open grid             opens a binary grid file using the 
  174. \b open panel
  175. \b0 \
  176. \b0         open solution       opens a binary solution file using the 
  177. \b open panel\
  178. \b0  
  179. \b0          save EPS file       encapsulated PostScript file of view using 
  180. \b save panel\
  181. \b0 \
  182. \b Edit >
  183. \b0   Standard NeXT edit commands.  Useful in type in boxes.\
  184. \b0   \
  185. \b List Data > \
  186. \b0 Allows users to output into text windows the raw floating point values of various\
  187. quantities from the current data.  These options can be used more than once to \
  188. produce side by side windows for comparisions or multiple looks into the raw data.\
  189. \b0         List the grid data values using the grid subset information in a text window.\
  190. \b0         List the solution (i.e. the raw input data)  values using the function subset \
  191.              information in a text window\
  192. \b0         List the current function values using the function subset information in a \
  193.             text window\
  194. \b Color Options >
  195. \b0 \
  196. \b0          Color Panel        Bring up NeXTcontour 
  197. \b color panel 
  198. \b0 for background and\
  199.                                        foreground color settings.\
  200.             Colors.....            NeXT color panel pallet\
  201. \b Font >
  202. \b0  Standard NeXT Font commands.\
  203. \b  t 
  204. \b0          font panel            open font panel for modifying title fonts\
  205. \b0         
  206. \b Line Data 
  207. \b0 panel     open or makes key line data panel.  See description of \
  208.                                           Line Data below.\
  209. \b Windows>
  210. \b0                       The usual NeXT windows function.  Arrange infront, \
  211.                                         minaturize window and close  window (
  212. \b0 ).  Also,\
  213. \b0          main window        opens or makes key main window if currently closed\
  214. \b0         control panel        opens or makes key control panel if currently closed\
  215. \b0         subset panel         opens or makes key subset panel if currently closed\
  216. \b0          level panel           opens or makes key level panel if currently closed\
  217. \b0         
  218. \b  Print 
  219. \b0 panel            uses print panel to save or print current view\
  220.                                          
  221. \b Note!!  
  222. \b0 Print Panel has extra button:\
  223.                                          
  224. \b Black on White
  225. \b0  -- 
  226. \b Color\
  227.                                         
  228. \b0  On printing to a non color printer better quality is \
  229.                                          achieved with a black on white output.  Color settings\
  230.                                          are  a white background and a black foreground.  \
  231.                                          Uses black contour lines and the current gray scale \
  232.                                          setting for grid line color. \
  233.                                         The default option on print is therefore
  234. \b  Black on White \
  235.                                          
  236. \b0 and can be overwritten to 
  237. \b Color 
  238. \b0 which gives you exactly \
  239.                                          the color or gray scale image you see on the screen.\
  240.                                          To easily get the black on white image on the screen \
  241.                                          to see what will be printed use the button 
  242. \b  Preview
  243. \b0  \
  244.                                          provided on the 
  245. \b Control Panel
  246. \b0 .  
  247. \b Preferences 
  248. \b0 can be\
  249.                                          used to set this switch automatically on startup.\
  250. \b services  >                    
  251. \b0 Programs which provide services can be used on data \
  252.                                         stored in the 
  253. \b pasteboard
  254. \b0 . In particular, 
  255. \b nxyplot
  256. \b0  which \
  257.                                         plots x against y line data can be used.\
  258. \b0  
  259. \b0          hide                      \
  260. \b0          quit\
  261. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0 \
  262. \b Reading Grid and Data 
  263. \b0 (I use the data and solution interchangingly):  \
  264. Input grid/solution files are usually binary.  Formatted reads are now available, but slow and big.  For binary reads there is a fair amount of error checking used to compare the file sizes with expected sizes.  
  265. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 You must first read in a grid.
  266. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0   The program reads in the first line of integers which is the grid size and computes the expected binary file size and compares this with the file size on the system.  If an error occurs the "
  267. \b Alert Panel
  268. \b0 " comes up and ask for a response.  If the data file is wrong you can "
  269. \b Abort
  270. \b0 ", "
  271. \b Continue
  272. \b0 " at your own risk, or "
  273. \b Try Again
  274. \b0 " which brings one back to the Open File Panel.  This same type of error checking is used for the data file with the additional information as to the number of functions being read and the type  (Aerodynamic or general) of data read in (see 
  275. \b Control Panel 
  276. \b0 explanation of 
  277. \b number of functions read in 
  278. \b0 and the data types
  279. \b  Aerodynamic 
  280. \b0 or
  281. \b  General
  282. \b0 ).  Error checking is turned off for formatted reads.\
  283. \b File formats:
  284. \b0 \
  285. \b\i  
  286. \b0\i0   
  287. \b 2D
  288. \b0 :    \
  289.             Grid::\
  290.             (int)  jmax, kmax                       : index sizes of data\
  291.             for (i = 0; i < jmax*kmax; i++) (float)x[i]          : x coordinate\
  292.             for (i = 0; i < jmax*kmax; i++) (float)y[i]          : y coordinate\
  293.           AeroDynamic Solution Data::\
  294.             (int)  jmax, kmax                       : index sizes of data\
  295.             (float) a,b,c,d                             : 4 floats (CFD :fsmach,alpha,re,time)\
  296.             for (i = 0; i < jmax*kmax; i++) (float)rho[i]      : variable #1\
  297.             for (i = 0; i < jmax*kmax; i++) (float)rhou[i]    : variable #2\
  298.             for (i = 0; i < jmax*kmax; i++) (float)rhov[i]    : variable #3\
  299.             for (i = 0; i < jmax*kmax; i++) (float)e[i]         : variable #4\
  300.          General Solution  Data::\
  301.             (int)  jmax, kmax                       : index sizes of data\
  302.            for (n=1; n<= number_of_functions_read_in;  n++)\{\
  303.         for (i = 0; i < jmax*kmax; i++) (float)function[i]      : variable #n\}\
  304. \b 3D
  305. \b0 :    \
  306.             Grid::\
  307.             (int)  jmax, kmax,lmax                       : index sizes of data\
  308.             for (i = 0; i < jmax*kmax*lmax; i++) (float)x[i]          : x coordinate\
  309.             for (i = 0; i < jmax*kmax*lmax; i++) (float)y[i]          : y coordinate\
  310.             for (i = 0; i < jmax*kmax*lmax; i++) (float)z[i]          : z coordinate\
  311.          AeroDynamic Solution Data::\
  312.             (int)  jmax, kmax,lmax                  : index sizes of data\
  313.             (float) a,b,c,d                                 : 4 floats (CFD :fsmach,alpha,re,time)\
  314.             for (i = 0; i < jmax*kmax*lmax; i++) (float)rho[i]      : variable #1\
  315.             for (i = 0; i < jmax*kmax*lmax; i++) (float)rhou[i]    : variable #2\
  316.             for (i = 0; i < jmax*kmax*lmax; i++) (float)rhov[i]    : variable #3\
  317.             for (i = 0; i < jmax*kmax*lmax; i++) (float)rhow[i]   : variable #4\
  318.             for (i = 0; i < jmax*kmax*lmax; i++) (float)e[i]         : variable #5\
  319.         General Solution Data::\
  320.             (int)  jmax, kmax,lmax                  : index sizes of data\
  321.            for (n=1; n<= number_of_functions_read_in;  n++)\{\
  322.               for (i = 0; i < jmax*kmax*lmax; i++) (float)function[i]      : variable #n\}\
  323.             The CFD variables rho (density), rhou (u- momentum), \
  324.              rhov (v- momentum), rhow (w- momentum in 3D) and e (energy)\
  325.              can be replace with any function on the grid.  \
  326. \b   
  327. \fs36   Control panel:\
  328. \b0\fs32 \
  329. \b Functions
  330. \b0 :   Up to 12 functions are possible.  Modify the source code for more.\
  331.     For AeroDynamic Applications\
  332.         Density : Q1    ->  rho (
  333. \f2 r
  334. \f0 ) or the first variable.   
  335. \i Default
  336. \i0 .\
  337. \f2          
  338. \f0 Q2                     ->  (
  339. \f2 r
  340. \f0 u)  = rhou  or the second variable\
  341. \f2          
  342. \f0 Q3                     ->  (
  343. \f2 r
  344. \f0 v)  = rhov or the third variable\
  345. \f2          
  346. \f0 Q4                     ->  (
  347. \f2 r
  348. \f0 w)  = rhow or the fourth variable  (3D only)\
  349. \f2          
  350. \f0 e : Q5                 ->  e  =  total energy or the fourth 2D (fifth 3D) variable\
  351.          Mach Number  ->  M = sqrt (u
  352. \up12 2
  353. \up0  + v
  354. \up12 2
  355. \up0 ) / sqrt (
  356. \f2 g
  357. \f0  p / 
  358. \f2 r)           
  359. \f0 2D or \
  360.                                         M = sqrt (u
  361. \up12 2
  362. \up0  + v
  363. \up12 2 
  364. \up0 + w
  365. \up12 2
  366. \up0 ) / sqrt (
  367. \f2 g
  368. \f0  p / 
  369. \f2 r)   
  370. \f0 3D\
  371.          Pressure           ->  p = (
  372. \f2  g - 1) ( 
  373. \f0 e
  374. \f2  - 0.5 r (
  375. \f0 u
  376. \up12 2 
  377. \up0 + v
  378. \up12 2
  379. \up0 ) )          2D or \
  380.                                        p = (
  381. \f2  g - 1) ( 
  382. \f0 e
  383. \f2  - 0.5 r (
  384. \f0 u
  385. \up12 2 
  386. \up0 + v
  387. \up12 2 
  388. \up0 + w
  389. \up12 2
  390. \up0 ) )  3D\
  391.         Cp                      ->   Cp = 2 (
  392. \f2 g 
  393. \f0 p - 1) / (
  394. \f2 g  
  395. \f0 fsmach
  396. \up12 2
  397. \up0 )\
  398.          U- velocity        ->  u = (
  399. \f2 r
  400. \f0 u) / 
  401. \f2 r
  402. \f0 \
  403.          V- velocity        ->  v = (
  404. \f2 r
  405. \f0 v) / 
  406. \f2 r
  407. \f0 \
  408.          W- velocity       ->  w = (
  409. \f2 r
  410. \f0 w) / 
  411. \f2 r               (3
  412. \f0 D only
  413. \f2 )\
  414. \f0           Inactive\
  415. \b0    For General Applications\
  416.     Only the 
  417. \b number_of_functions_read_in
  418. \b0  are available on Functions Matrix\
  419. \b Type In Box:
  420. \b0    \
  421.          Number of Functions  Read In :  \
  422.         Specify the number of functions to be read in.\
  423.         Default for 2D Aero Data is 4.\
  424.         Default for 3D Aero Data is 5.\
  425.                      The user can specify any number here.  If the data is 
  426. \b Aerodynamic
  427. \b0                \
  428.                       an 
  429. \b Alert Panel 
  430. \b0 will appear if in 2D the number is not 4 and 3D the \
  431.                       number is not 5. One can have the number of functions read in reset \
  432.                       to the appropriate values or continue at your own risk.\
  433. \i     
  434. \b Warning:
  435. \b0   Be careful that this number agrees with your data file! Although the code is robust enough to read in less or more data then is available, a typical error response is garbage plots.  
  436. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 I cannot be responsible for possible infinite loop hangups if one violates the function count.
  437. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0 .\
  438. \i0   \
  439. \b Buttons:\
  440. \b0 \
  441.           
  442. \b Binary Data
  443. \b0        :  Read in binary data file.   
  444. \i Default
  445. \i0 .\
  446.           
  447. \b Formatted Data 
  448. \b0 :  Read in a formatted file.  Be careful !\
  449.           
  450. \b 3D Data
  451. \b0        :  3D grids and data read in.   
  452. \i Default
  453. \i0 .\
  454.          
  455. \b  2D Data 
  456. \b0       :  2D grids and data read in.\
  457.           
  458. \b 3D Grid
  459. \b0       :  3D grids read in requardless of Data setting.  
  460. \i Default
  461. \i0 .\
  462.          
  463. \b  2D Grid 
  464. \b0      :  2D grids read in requardless of Data setting.\
  465.                                 This option gives the user the ability to read in a 2D grid\
  466.                                  with a 
  467. \b 3D Data
  468. \b0  file.  This saves memory and allows for\
  469.                                  larger data sets.  Only use this when the 2D grid is consistent\
  470.                                  with the original 3D grid plane in the l direction.\
  471.                                  For example: The 3D grid is made up of stacked 2D grids\
  472.                                  and one is only concerned with one view.  Or even a better\
  473.                                  example: Generate time movies of a 2D flow by stacking \
  474.                                  planes of 2D data in the third direction (l) and display using \
  475.                                  
  476. \b 2D Grid
  477. \b0  and 
  478. \b Animate F 3D
  479. \b0 .  Subsets will be equivalanced.\
  480.                                 
  481. \i  Note: This is a not so debugged option, use with caution!
  482. \i0 \
  483.            
  484. \b AeroDynamic 
  485. \b0 :  Sets AeroDynamics as default discipline. 
  486. \i Default
  487. \i0 .\
  488. \b General 
  489. \b0          :  General discipline.\
  490.           
  491. \b Plot Grid and/or Plot Function 
  492. \b0 :  Must be selected to get images.\
  493.          
  494. \b  Aspect Ratio = 1
  495. \b0  :  Refers to setting    
  496. \i Default
  497. \i0 .\
  498.                                         Depending on the bound sizes of your view window\
  499.                                         the maximum viewing box  is created where \
  500.                                         pixels per xunit (ppxunit) = pixels per yunit (ppyunit)\
  501.                                         The initial values of \
  502.                                         ppxunit = 0.88*bounds.size.width/(xmax-xmin);\
  503.                                         ppyunit = 0.88*bounds.size.height/(ymax-ymin);\
  504.                                         then a size comparision is made to determine which \
  505.                                         unit is used to maximize the viewing box.\
  506.            
  507. \b Variable Aspect Ratio
  508. \b0  : Allows ppxunit and ppyunit to be independent\
  509.                                                    with ppxunit and ppyunit defined above.\
  510.           
  511. \b  Clear Plot:
  512. \b0   Default has plot image cleared before next draw.
  513. \i   Default.
  514. \i0 \
  515.            
  516. \b OverLay Plot
  517. \b0 : Allows images to be accumulated.  (no clear) \
  518.                                     Note the image you see on the screen will not be what you\
  519.                                     get printed.  I am just writting the new plot over the old one\
  520.                                     without the clear.  When you ask for a print the code       \
  521.                                     captures the last PostScript command set and only prints                               that last image.\
  522.            
  523. \b Preview: 
  524. \b0 A switch to preview in the plotting view exactly what you would\
  525.                            get by using the 
  526. \b Print Panel
  527. \b0 .  When this switch is hit, the view \
  528.                            replots looking at the 
  529. \b Print Panel
  530. \b0  for the current print color setting \
  531.                            and produces a plot with that setting. Subsequent plots with \
  532.                            this switch selected will always look at the Print panel Setttings.\
  533.                            Unselecting this switch reverts to the current active color settings.\
  534.     \
  535.            
  536. \b Zoom
  537. \b0 :  Enable zoom control with left mouse button and sweeping \
  538.                           a zoom box out in the view window.  Reset min/max for view.\
  539.             
  540. \b Previous View
  541. \b0 :  Uses last min/max for current image.\
  542. \b\i   \
  543. \b0\i0        
  544. \b      Full Screen:
  545. \b0   Sets screen size and location for a full screen view.
  546. \i0 \
  547.             
  548. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\b\fc1\cf1 Original Screen Size
  549. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\b0\fc0\cf0 : Reset screen size and location to last user resized\
  550.                                                  values.\
  551. \b\i \
  552.           
  553. \fs48  
  554. \i0 Plot
  555. \fs32 :
  556. \i    
  557. \b0\i0 The most important button!!  Initiates plot.  Displays \
  558.                                
  559. \fs48  
  560. \b "Reading"
  561. \b0\fs32  while reading and \
  562.                                 
  563. \b\fs48 "Plotting"
  564. \b0\fs32  while plotting.  \
  565. \b\i \
  566. \i0 \
  567.   Why the Beep?:\
  568. \b0        Brings up a panel to explain why you got a beep.\
  569. \b  \
  570. \fs36  Fine Tuning  panel:\
  571. \b0\fs32        A panel with fine tuning type in boxes and switches for titles.
  572. \b\fs36 \
  573. \b0\fs32 \
  574. \b  Switches and Type in Box:           \
  575. \b0   \
  576. \b        Main Title
  577. \b0 :  Choose your own.\
  578.        
  579. \b Function Title
  580. \b0 :  Choose one for lable over contour levels when selected.\
  581.        
  582. \b Change Title Font:
  583. \b0   Enable font panel changes for titles.             \
  584. \b0      
  585. \b x-y labels:  
  586. \b0 Default x-y labels on.\
  587.        
  588. \b units label:
  589. \b0   Pus min/max numbers and tic marks on axis.\
  590.        
  591. \b Contour Values:
  592. \b0  Put min/max/inc contour levels in upper right hand corner.\
  593.        
  594. \b Change Label Font:
  595. \b0   Enable font panel changes for Labels.   \
  596. \b  \
  597. \fs36  Contour Levels  panel:
  598. \fs32 \
  599. \b0             
  600. \b Automatic Levels
  601. \b0 :  Choose the min/max contour levels from the function\
  602.                                              min/max and use "Number of Contours" to \
  603.                                             compute evenly spaced levels.  
  604. \i   Default.
  605. \i0 \
  606.             
  607. \b Manual Levels
  608. \b0 :      Use "Contour Min", "Contour Max" and \
  609.                                             "Contour Inc" from the panel to compute levels.\
  610.                                             \
  611.             
  612. \b Number of Contours
  613. \b0 :  Number of evenly spaced levels.  \
  614.             
  615. \b Contour Min
  616. \b0 :   Minimum Contour for "Manual Levels" and set to \
  617.                                      "Function Min" for "Automatic Levels"                           \
  618.            
  619. \b  Contour Max
  620. \b0 :   Maximum Contour for "Manual Levels" and set to \
  621.                                      "Function Max" for "Automatic Levels"    \
  622.             
  623. \b Contour Inc
  624. \b0  :    Contour Increment  for "Manual Levels" and set to \
  625.                                      "Function Inc" for "Automatic Levels"\
  626. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1                                       If set to 0 : For "Manual Levels" uses  "Contour Min",\
  627.                                                        "Contour Max" to compute  "Number of                                           \
  628.                                                         Contours" evenly  spaced levels.  \
  629. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0 \
  630.              
  631. \b All Solid Contours
  632. \b0 :  Line style solid for contours.  
  633. \i Default
  634. \i0 .\
  635.              
  636. \b Solid + / Dashed - 
  637. \b0 :  Uses solid line style for positive levels and \
  638.                                                 dashed for negative levels. \
  639.               
  640. \b Contour Line Thickness
  641. \b0 :  Slider for line thickness. Range 0 - 4.\
  642.                                       \
  643.               
  644. \b Contour Line Color:
  645. \b0  Light Gray, Dark Gray and Black Contour Lines.\
  646.                                               Colors is allowed for color contours.  The current \
  647.                                                map is crude.  On Black/White systems  color\
  648.                                                contours may look strange.  Also Printing color \
  649.                                                contours may be disappointing.\
  650. \b\i   \
  651. \b0\i0    
  652. \b\fs36  Subsets / Grid panel:
  653. \fs32 \
  654. \b0      The approach here is to view only two-dimensionally, even for 3D data.\
  655. Think in terms of a local coordinate sysyem x and y.  If in 2D mode the settings are fixed for jk planes and xy viewing  transformation.  In 3D mode, one needs to set the subset plane and viewing transformation.  \
  656.        
  657. \b Grid Subsets
  658. \b0 :  Type in the grid subset values for viewing.  Set  \
  659.                                 the coordinate plane (family).  The "min box" is the \
  660.                                 controlling entry.  The  "min" value for a \
  661.                                 particular plane subset  fixes the displayed plane number.\
  662.                                 The "max" value is reset to the "min" value for that plane \
  663.                                 choice.   A reset button available.\
  664.                                 The user may want to subset out data for various reasons.\
  665.                                 This action only applies to the grid.\
  666. \b   \
  667.       reset Grid  Subsets
  668. \b0 :  resets for specific plane choice the indices\
  669.       Animate G 3D
  670. \b0 :  Sweeps through a subset of planes set in "Grid Subsets"\
  671.                                  From min to max by inc.  One pass per "Plot".\
  672.         
  673. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\b\fc1\cf1 Function Subsets
  674. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\b0\fc0\cf0 :  Type in the  function subset values \
  675.                                      for viewing.  Set  the coordinate plane (family).  \
  676.                                     The  "min" value for a particular plane\
  677.                                      subset  fixes the displayed plane number.\
  678.                                      The "max" value is reset to the "min" value for that plane \
  679.                                      choice.  Reset button available.\
  680.                                      The user may want to subset out data for various reasons.\
  681.                                      This only applies to the  function for the   \
  682.                                      contouring.  That is, the view for the grid is independent of \
  683.                                      the view for the function.\
  684. \b    \
  685.      reset Function  Subsets
  686. \b0 :  resets for specific plane choice the indices\
  687.       Animate F 3D
  688. \b0 :  Sweeps through a subset of planes set in "Function Subsets"\
  689.                                  From min to max by inc.  One pass per "Plot".\
  690. \b Note:
  691. \b0   Animate only works for 3D and the function subsets and plane choice \
  692.                  take precedence over grid values.\
  693. \i0      
  694. \b Viewing Transformations:
  695. \b0   Viewing can be in XY , XZ , YZ, YX, ZX, ZY  \
  696.                                                     projection or computational space (index \
  697.                                                     coordinates).  Choosing any of these resets the \
  698.                                                     min/max and subsets. \
  699.      
  700. \b  + / - ViewPoint : 
  701. \b0  Allows for viewing the projection from the positive or negitive \
  702.                                    side of the image.  Positive side is defined as the + local \
  703.                                    z coordinate side of the image.  Imagine a right handed \
  704.                                    local coordinate system, (x to the left to right and y pointing \
  705.                                    up) then z points out of the screen, therefore the positive               \
  706.                                    viewpoint is the observer sitting at positive infinity in z.\
  707.                                    A negative viewpoint is looking from minus infinity in z.\
  708.       
  709. \b Reset All Data:
  710. \b0    Resets all subsets and min/max boxes.\
  711.      
  712. \b  Equate Subsets
  713. \b0 :  Sets Grid subsets choices and grid plane choice to function                 values and setting.  This gets done automatically if one                 chooses Animate G and Animate F simultaneously.\
  714.       
  715. \b  Function min/max:
  716. \b0    The function being plotted min/max values.\
  717. \b         min/max:
  718. \b0    The xmin, xmax, ymin, and ymax for the view.  Based on current\
  719.                            subsets, plane and projection with x and y the plotting coordinate \
  720.                            system.\
  721.        
  722. \b Grid Line Thickness:
  723. \b0   Slider for line thickness. Range 0 - 4.\
  724.                                       \
  725.        
  726. \b Grid Line Color:
  727. \b0  Light Gray, Dark Gray and Black grid lines.  A color box is  \
  728.                                  available for color systems.  If you select one of the radio \
  729.                                  button, that color gets placed into the color well for use.\
  730. ********************************************************************************************\
  731. \b An Example
  732. \b0 :  Lets say one has a 65 by 33 by 65 grid point 3D mesh and solution file.  On startup the subsets are set to \
  733.           min   max   inc\
  734.       j:    1      65      1    O    j plane\
  735.      k:    1      33      1    O   k plane\
  736.       l:    1      65      1    X    l  plane\
  737. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 If you want to plot all the data points with l=1, do nothing more.\
  738. If you want a sub region or set,  then select new values.  For example,\
  739.          min   max   inc\
  740.       j:    1      65      2    O    j plane\
  741.      k:    22    33      1    O   k plane\
  742.       l:    13    65      1    X    l plane\
  743. will plot every other point in j, 22 - 33 in k and plane 13 in l.  Note after the plot the 65 in the l plane will be set to 13.\
  744. You could also chose a different plane.  Note the Viewing transformation must   \
  745.  be set to the correct projection.\
  746.  If the k = constant plane is oriented with the XZ coordinate surfaces (set the Viewing Transformation to XZ), then\
  747.        min   max   inc\
  748.       j:    1      65      1    O    j plane\
  749.      k:    7      33      1    X   k plane\
  750.       l:    1      65      1    O    l plane\
  751.   plots the 7 th plane in k onto the XZ surface (i.e. Y = 0).\
  752. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0 \
  753. ********************************************************************************************\
  754. \b\fs36 Line Data panel:
  755. \fs32 \
  756. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\b0\fc1\cf1  You may want to take a coordinate line of data and plot the chosen  function against x, y, z, or arc length.  This panel allows you to choose the  coordinate line as a j line, k line or in 3D an l line.  As in the other subset panels the first entry in the unselected coordinates is used to specify the coordinate index. (Only one coordinate line at a time can be used.) \
  757. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0 \
  758. \b Abscissa Coordinate:
  759. \b0  The abscissa coordinate can be chosen as an x, y, z, \
  760.                                            or arc length projection. \
  761. \b reset Line Subsets:
  762. \b0  A reset button is available which resets min/max/inc for the \
  763.                                      chosen coordinate line.  \
  764. \b Line Data:
  765. \b0  Once the line subset is chosen, the user clicks Line Data to save \
  766.                       the data off into the standard  NeXT 
  767. \b pasteboard
  768. \b0 .  \
  769. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 Once data is place into the 
  770. \b pasteboard
  771. \b0  it can be provided to 
  772. \b nxyplot
  773. \b0   or other NeXT applications through services.  Only the last chosen data is available, so the procedure must be repeated for multiple line plots
  774. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0\cf0     \
  775. \b\fs36 Preferences panel:\
  776. \b0\fs32         
  777. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 Set Defaults writes the new preferences to the user defaults and
  778. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc1\cf1 \
  779.        
  780. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1  resets the local session configuration.
  781. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc1\cf1   One can set the default preference on \
  782.         startup to be \
  783.        \
  784.         
  785. \b 2D
  786. \b0  or 
  787. \b 3D
  788. \b0 ,  \
  789.         
  790. \b Aerodynamics
  791. \b0  or 
  792. \b general variables,
  793. \b0  \
  794. \b         Binary 
  795. \b0 or
  796. \b  Ascii 
  797. \b0 format on reads
  798. \b0 \
  799.         
  800. \b Color
  801. \b0  or  
  802. \b Black/White
  803. \b0 , \
  804.         
  805. \b Print Color
  806. \b0  to either  
  807. \b Black on White
  808. \b0  or 
  809. \b Color 
  810. \b0 ,and the \
  811.         
  812. \b number of functions to be read in
  813. \b0  to some value.   \
  814.         Using the 
  815. \b Set Defaults
  816. \b0  button writes the current setting to the users defaults \
  817.         database and resets the current sessions switches and values.\
  818.         Use 
  819. \b dread
  820. \b0  to check on the user defaults database settings.\
  821. \b\fs36 Bugs:
  822. \b0\fs32 \
  823. There is a fair amount of error checking going on in this code.  When an error \
  824. is encountered an 
  825. \b Alert panel 
  826. \b0 appears which explains the problem or prompts \
  827. you for a response.  In some cases, (for example, trying to plot a grid before a \
  828. grid is read in) the panel will tell you to read a grid.  In other cases, (for \
  829. example, reading a file which is not a grid or data file) the 
  830. \b Alert panel
  831. \b0  lets you\
  832. \b try again
  833. \b0  (i.e. brings up open panel again), 
  834. \b continue
  835. \b0  (i.e. go ahead and read anyway, but be careful), and  
  836. \b abort 
  837. \b0 the attempt.\
  838. The number of bugs in any program is inversely proportional to some power of the number of lines in the code and at the same time proportional to the age of the programmer to some other power.  What is left to the imagination is the values of the powers.\
  839. \fs36 Disclaimers:\
  840. \b0\fs32 \
  841. This program was developed for my own use, I intend to support it  (in my spare time).  I cheerfully accept all bug reports and suggestions for improvements or enhancements. \
  842. \fs48 Author
  843. \fs32 :\
  844.                  Tom Pulliam\
  845.                   pulliam@rft29.nas.nasa.gov\
  846. Finally, remember this is freeware  and is intended for free dissemination.\
  847. I do not accept any responsibility for its use, modification, or abuse.  As with all free software, this is not guaranteed to be worth any more than what you pay for it.  More to come later.\
  848. Thomas H. Pulliam\
  849. MS 202A-1  
  850. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc1\cf1 (415)604-6417
  851. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc1\cf1 \
  852. NASA Ames research Center\
  853. Moffett Field, CA. 94035\
  854. pulliam@rft29.nas.nasa.gov or pulliam@nas.nasa.gov
  855. NXCursor
  856. NXibeam
  857. Scroller
  858. _doScroller:
  859. @@@ffs
  860. [10@]
  861. Courier-Bold
  862. Plotting
  863. Aspect Ratio = 1
  864. Variable Aspect Ratio
  865. Previous View
  866. Why The Beep?
  867. [12@]
  868. Function 1
  869. Function 2
  870. Function 3
  871. Function 4
  872. Function 5
  873. Inactive
  874.     Functions
  875. Full Screen
  876. Original Screen Size
  877.     Preview  
  878. NXswitch
  879.     NXswitchH
  880. Fine Tuning
  881. Binary Data
  882. Ascii Formatted
  883. Clear Plot
  884. Overlay Plot
  885.     Plot Grid
  886. Plot Function
  887. 3D Grid
  888. 2D Grid
  889. Load Line Data
  890. Choose a coordinate (j,k,or,l) line and  set the index of the line in the other directions. Click "Load Line Data" to write data to Pasteboard. Then choose "plot with nxyplot" from services.
  891. nxyplot starts up automatically and plot data.
  892. X Projection
  893. Y Projection
  894. Z Projection
  895. Arc Length 
  896. Index
  897. Absissa  Coordinate 
  898. Line Subsets
  899. [14@]
  900. reset Line Subsets
  901. j line
  902. k line
  903. l line
  904. Contour Min
  905. Contour Max
  906. Contour Inc
  907. Manual Contours
  908. Automatic Levels
  909. Manual Levels
  910. All Solid Contours
  911. Solid + /  Dashed -
  912. Colors
  913. Contour Line Color
  914. Contour Line Thickness
  915. Contour Line Styles
  916. Number of Contours
  917. Auto Contours
  918. MenuTemplate
  919. *@*@ccc
  920. submenuAction:
  921. NXmenuArrow
  922. open grid file
  923. open data file
  924. save EPS file
  925. Copy Graphics
  926. Paste
  927. Delete
  928.     List Data
  929. List  Grid Data
  930. List  Solution Data
  931. List  Function Data
  932. Color Options
  933. Color Panel
  934.     Colors...
  935.     Line Data
  936. Windows
  937. Arrange in Front
  938. Miniaturize Window
  939. Main Window
  940. Controls
  941. Subsets
  942. Levels
  943. Close Window
  944. Print...
  945. Services
  946. Info Panel...
  947. Help...
  948. Preferences...
  949. Choose A Color
  950. Foreground Color
  951. Background Color
  952. WindowTemplate
  953. iiii***@s@
  954. Contour Levels
  955. Panel
  956. Main Title
  957.  x-y labels
  958. units label
  959. Change Labels Font  
  960. Contour Values 
  961. Change Title Font  
  962. Function Title
  963. Subsets / Grid
  964. Accessories
  965. Black on White
  966. Print Color Settings
  967. Black on White: for non-color printers.
  968. Color:  for color printers or  gray scale imaging on a non-color printer
  969. Window
  970. CustomView
  971. ContourView
  972. FontManager
  973. Contour
  974. inc j
  975. VersionNumber
  976. ScrollingText
  977. Form3
  978.      Inactive
  979. max j
  980.     ColorWell
  981. Field1
  982. Button1
  983. + ViewPoint 
  984. Field2
  985. Form8
  986. File's Owner
  987. Animate 3D
  988. Form5
  989. Form2
  990. Current Window Size
  991. olors
  992. !Number of Functions To Be Read In
  993. V - velocity
  994. Form1
  995. Field
  996. W - velocity
  997. Field3
  998. 3D Data1
  999. Preferences
  1000. Slider2
  1001. Form9
  1002. Font Manager
  1003. Field4
  1004. MenuItem
  1005. Mach Number
  1006. Form6
  1007. Form7
  1008. Form4
  1009. Pressure
  1010. MainMenu
  1011. [149@]
  1012. IBControlConnector
  1013. IBConnector
  1014. hide:
  1015. terminate:
  1016. orderFrontFontPanel:
  1017. modifyFont:
  1018. IBOutletConnector
  1019. canvas
  1020. functionMatrix
  1021.     zoomOnOff
  1022.     openGrid:
  1023. openSolution:
  1024. doPrinting:
  1025. contourParam
  1026. resetGridSubsets:
  1027. contourLimits
  1028. numberContours
  1029. drawGrid
  1030. drawFunction
  1031. autoContours
  1032.     clearPlot
  1033. solidContourLines
  1034. contourLineThickness
  1035. gridLineThickness
  1036. gridLineColorMatrix
  1037. theFontManager
  1038. jGridMin
  1039. jGridInc
  1040. jGridMax
  1041. kGridMin
  1042. kGridMax
  1043. kGridInc
  1044. lGridMin
  1045. lGridMax
  1046. lGridInc
  1047. chooseGridPlane
  1048. resetFunctionSubsets:
  1049. resetMinMax:
  1050. xyLimits
  1051. chooseFunctionPlane
  1052. jFunctionMin
  1053. jFunctionMax
  1054. jFunctionInc
  1055. kFunctionMin
  1056. lFunctionMin
  1057. lFunctionMax
  1058. lFunctionInc
  1059. kFunctionInc
  1060. kFunctionMax
  1061. viewingTransformations
  1062. resetGridData:
  1063. resetFunctionData:
  1064. resetProjectionData:
  1065.     resetAll:
  1066. setAspectRatio
  1067. contourLineColor
  1068. animate3DFOnOff
  1069. saveEPS:
  1070. whyTheBeep:
  1071. makeKeyAndOrderFront:
  1072. absissaCoordinate
  1073. chooseLineData
  1074. jLineMin
  1075. jLineMax
  1076. jLineInc
  1077. kLineMin
  1078. kLineMax
  1079. kLineInc
  1080. lLineMin
  1081. lLineMax
  1082. lLineInc
  1083. resetLineSubsets:
  1084. resetLineData:
  1085. writeOutLineData:
  1086. resetDefaults:
  1087. setDefault2D3D
  1088. copy:
  1089. paste:
  1090. delete:
  1091. orderFrontColorPanel:
  1092. backgroundColor
  1093. foregroundColor
  1094. setDefaultColor
  1095. gridLineColor
  1096. takeFloatValueFrom:
  1097. choose2D3DData
  1098. setDefaultNumberOfFunctions
  1099. numberOfFunctions
  1100. setDefaultDiscipline
  1101. chooseDiscipline
  1102.     helpPanel
  1103. colorPanel
  1104. levelsPanel
  1105. canvasWindow
  1106. controlsPanel
  1107. subsetsPanel
  1108. preferencesPanel
  1109. chooseDataType
  1110. previousView:
  1111.     viewPoint
  1112. superscript:
  1113. subscript:
  1114.     unscript:
  1115. underline:
  1116. modifyFontTrait:
  1117. printColor
  1118. resetGridLineColorWell:
  1119. printPreviewMode
  1120. setDefaultPrintColor
  1121. copyPScode:
  1122.     drawPlot:
  1123. printColorAccessory
  1124. listGridData:
  1125. listSolutionData:
  1126. listFunctionData:
  1127. performMiniaturize:
  1128. performClose:
  1129. arrangeInFront:
  1130. setDefaultDataForm
  1131. plotButton
  1132. functionTitle
  1133.     mainTitle
  1134. xyLabelsOn
  1135. unitsLabelOn
  1136. changeLabelFont
  1137. contourValuesOn
  1138. changeTitleFont
  1139. setWindowSize:
  1140. chooseScreenSize
  1141. animate3DGOnOff
  1142. eQuateSubsets:
  1143. choose2D3DGrid
  1144.