home *** CD-ROM | disk | FTP | other *** search
/ Nebula / nebula.bin / SourceCode / Classes / ContourView / ContourView.h < prev    next >
Text File  |  1992-12-03  |  4KB  |  100 lines

  1. /* ContourView.h -- header file for ContourView class
  2.  * Start 92-05-18
  3.  * Izumi Ohzawa
  4. */
  5.  
  6. #import <objc/objc.h>        /* for BOOL values YES, NO */
  7. #import <appkit/View.h>
  8. #import <appkit/color.h>
  9. #import <dpsclient/dpsfriends.h>
  10. #import "contour.h"
  11.  
  12. @interface ContourView:View
  13. {
  14.     // storage for scaling factors
  15.     float pXmin, pXmax;    // X bounds of view in points
  16.     float pYmin, pYmax; // Y bounds of view in points
  17.     float ppxu;        // pixels(points) per unit of X
  18.     float ppyu;        // pixels(points) per unit of Y
  19.     float xdmin, xdmax;    // min, max values of X data
  20.     float ydmin, ydmax; // min, max values of Y data
  21.     float fdmin, fdmax;    // min, max values of Value
  22.  
  23.     int   nclevels;            // # of contour levels
  24.     CntrAttribute *cA;            // Array of Contour attribute structures
  25.     int numContours;            /* number of contours in contourList */
  26.     ContourPath *contourList;        /* contour path list */
  27.     ContourPath **SortedCntrPtr;    /* sorted index: array of pointers to contourList */
  28.  
  29.     // grid and value data storage
  30.     int   ndata;    // total number of data points = jdim*kdim
  31.     int   nx;        // expanded  (nx1+N6)
  32.     int   ny;        //         (ny1+N6)
  33.     int   nx1;        // non-expanded
  34.     int   ny1;
  35.     float *xd;        // x coordinate array for grid points
  36.     float *yd;        // y coordinate array for gird points
  37.     float *fd;        // value at grid point (x[i], y[i]), i=(0 .. ndata-1)
  38.     int   bipolar;    // =1 if data are pos/neg, =0 if monopolar
  39.     float basevalue;    // value to set to margin regions of expanded array for contour closure
  40.  
  41.     // Flags
  42.     int   ClearFlag;
  43.     BOOL  debug;
  44.     BOOL  doFill;
  45.     BOOL  frameON;    // Draw bounds frame
  46.     float frameLineWidth;
  47.     int   minNumPoints;    // minimum mumber of points for a contour
  48.  
  49.     // Attributes of contour lines and fills
  50.     NXColor  positiveColor;    // color of maximum positive (or max monopolar)
  51.     NXColor  negativeColor;    // color of extreme negative
  52.     NXColor  backgroundColor;   // color of background
  53.     NXColor  contourLineColor;  // color of contour lines
  54.     NXColor  frameColor;    // color of frame rectangle (when enabled)
  55.     float    minorContourLineWidth;    // linewidth of contour lines
  56.     float    majorContourLineWidth;    // major contour's line width
  57. }
  58.  
  59. - initFrame:(NXRect *)nf;
  60. - free;
  61. - (BOOL)acceptsFirstMouse;
  62. - (BOOL)acceptsFirstResponder;
  63. - setScaleXY:(float)xmin :(float)xmax :(float)ymin :(float)ymax;
  64. - findMinMax:(float *)x :(int)npts :(float *)vmin :(float *)vmax;
  65. - setDebugEnable:(BOOL)de;
  66. - setFillEnable:(BOOL)fe;
  67. - setNumberOfContourLevels:(int)nl;
  68. - setMinMaxOfContourLevels:(float)min :(float)max;
  69. - setContourAttributeArray:(CntrAttribute *)caa :(int)nl;
  70. - setDefaultContourAttributes;
  71. - setContourLineColor:(NXColor)clc;
  72. - setFrameColor:(NXColor)fc;
  73. - setBackgroundColor:(NXColor)bc;
  74. - setFillColors:(NXColor)pe :(NXColor)ne;
  75. - setCartesianGridData:(float *)f :(float)xmin :(float)xmax
  76.                   :(float)ymin :(float)ymax
  77.                   ofSize:(int)nnx :(int)nny
  78.                   withInterpolationTo:(int)n1x :(int)n1y;
  79. - setGridAndValueData:(float *)x :(float *)y :(float *)f ofSize:(int)nnx :(int)nny;
  80. - setFrameEnable:(BOOL)fflag lineWidth:(float)fw;
  81. - setContourLineWidthMinor:(float)clw andMajor:(float)clwm;
  82. - setMinNumberOfPointsPerContour:(int)mnp;
  83. - clear:sender;
  84. - copy:sender;
  85. - copyPScode:sender;
  86. - plotContour:(ContourPath *)cntr :(DPSContext)cContext;
  87. - findInsideHighLow:(ContourPath *)cntr;
  88. - (BOOL)pointInDomain:(float)xx :(float)yy;
  89. - freeContourList;
  90.  
  91. // Call back method messaged from computeContour() function.
  92. - accumContour:(int)icont :(int)np :(float *)xc :(float *)yc;
  93.  
  94.  
  95. @end
  96.  
  97.  
  98.  
  99.  
  100.