This is PControl.h in view mode; [Download] [Up]
/* PControl.h Copyright 1992 Steve Ludtke */
/* This object is basically just a switchboard for messages from various */
/* controls <-> views. It helps to simplify the Plot3DView object */
#import <objc/Object.h>
#import "Plot3DView.h"
#import <appkit/color.h>
#define ANIM_spin 1
#define ANIM_t 2
@interface PControl:Object
{
id minX; /* min/max coords for currently displayed region */
id maxX;
id minY;
id maxY;
id minZ;
id maxZ;
id dminZ;
id dmaxZ;
id dzSwitch;
id symsel; /* Symbol selector Matrix */
id color1; /* colors for mapping */
id color2;
id color3;
id color4;
id color5;
id alpha;
id colortype; /* type of mapping to use */
id colorsel; /* matrix of toggles */
id ffSel; /* formula/file switch */
id varSli; /* variable slider matrix */
id varText; /* varibale text matrix */
id varMin; /* variable min. matrix */
id varMax; /* variable max. matrix */
id equation; /* ScrollView containing the equation */
id d3View; /* Points to the Plot3DView object */
id dView; /* Points to the DensView object */
id gridx; /* Selector for # points (x & y) */
id gridy;
id camera; /* renderman camera */
id errMsg; /* error/message panel objects */
id errTitle;
id errPan;
id I_BOX; /* display box for inspectors */
id I_lim; /* Limits inspector */
id I_dis; /* display options inspector */
id I_pho; /* photorealistic inspector */
id autoCont; /* auto contour switch */
id levels; /* contour level matrix */
id animFlag; /* animation flags */
id animFrames; /* #frames in anim */
id demAsp; /* DEM file fixed aspect ratio flag */
int curPref; /* Current data set displayed in the inspector */
SetPref *pref; /* Data set preferences (& data pointers) */
char *bpath; /* points to the path for the .app bundle */
float sMM[4]; /* storage for store & recall */
}
/* Initialization */
-init;
/* Display preferences for selected data set. [[sender selectedCell] tag] */
/* is used to decide which set to display */
-disPref:sender;
/* Store preferences for current data set (OK button) */
-stoPref:sender;
/* Read a data file into a data set */
-readFile:sender;
/* Read a scatter data file into a data set */
-readSFile:sender;
/* Read a processed DEM file into a data set */
-readDEM:sender;
/* Return a data set to equation mode */
-clearFile:sender;
/* Takes PControl min/max values and sends them to the Plot3DView */
-setMinMax:sender;
/* Store current x/y min/max for later recall */
-stoMM:sender;
/* recall x/y min/max */
-rclMM:sender;
/* called by the Plot3DView to allow min/max Z values to be overrided */
/* and/or displayed */
-minmaxZ:(float *)minZ :(float *)maxZ;
/* zooms out by a fixed factor */
-zoomOut:sender;
/* zooms in by a fixed factor */
-zoomIn:sender;
/* This routine is called by the Plot3DView once after all the objects */
/* have been initialized. It passes the preferences array.*/
-startup:(SetPref *)Pref;
/* sets the PControl's max/min values */
-setMM:(float)minX :(float)maxX :(float)minY :(float)maxY;
/* variable slider changed */
-setVarS:sender;
/* variable text changed */
-setVarT:sender;
/* new var min/max */
-setVarMinMax:sender;
/* receives the zoomTo messages from the DensView. Note that passed */
/* min/max values are from 0.0 to 1.0, not acutal units */
-zoomTo:(float)minx :(float)miny :(float)maxx :(float)maxy;
/* update density plot , tick origin and spacing*/
-updDen:(RtPoint)TickO :(RtPoint)TickS;
/* save contour/density plot to ~/plot3d.tiff */
-dumpContour;
/* save an ascii data file of the data */
-saveData:sender;
/* new inspector */
-newInsp:sender;
/* Start rendering an animation */
-makeAnim:sender;
-error:(char *)msg;
-message:(char *)s1 :(char *)s2;
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.