ftp.nice.ch/pub/next/graphics/3d/NXplot3d.3.2.NIHS.bs.tar.gz#/NXplot3d.3.2/Source/PControl.h

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.