home *** CD-ROM | disk | FTP | other *** search
/ Education Sampler 1992 [NeXTSTEP] / Education_1992_Sampler.iso / Programming / Source / plot3d / DensView.h next >
Text File  |  1992-08-17  |  1KB  |  39 lines

  1. /* DensView.h  Copyright 1992 Steve Ludtke */
  2. /* This object does a density plot of a 3d data set */
  3.  
  4. /* Connect "delegate" to an object that can recieve "zoomTo:xmin :ymin :xmax */
  5. /* :ymax   messages (or leave it disconnected). Send setData::::: messages   */
  6. /* to pass data and render image. Send display messages to redisplay rendered*/
  7. /* image. */
  8.  
  9. #import <appkit/View.h>
  10.  
  11. @interface DensView:View
  12. {
  13. id delegate;    /* who to send -zoomTo messages to */
  14. id image;    /* image used to store the density plot */
  15. NXPoint point;    /* origin of image in view */
  16. NXSize size;    /* size of image */
  17. float *data;    /* points to array of Z values to plot */
  18. char *buf;    /* postscript command buffer */
  19. int bufs;    /* current size of buffer */
  20. int nx,ny;    /* number of data points = nx*ny */
  21. float minZ,maxZ;/* used to determine max and min brightness */
  22. }
  23.  
  24. /* initialization */
  25. -initFrame:(NXRect *)myrect;
  26. /* composites the image to the screen */
  27. -drawSelf:(NXRect *)rects :(int)rectCount;
  28. /* resize the view */
  29. -superviewSizeChanged:(const NXSize *)oldsize;
  30. /* allows user to select zoom area */
  31. -mouseDown:(NXEvent *)oevent;
  32. -(int)acceptsFirstMouse;
  33.  
  34. /* This routine passes the actual data to be plotted to the DensView */
  35. /* It also does all of the actual drawing (into an Image) */
  36. -setData:(int)Nx :(int)Ny :(float *)Data :(float)MinZ :(float)MaxZ;
  37. @end
  38.  
  39.