This is TwoDView.h in view mode; [Download] [Up]
/* Generated by Interface Builder */ #include <math.h> #include <stdio.h> #include <sys/file.h> #import <dpsclient/wraps.h> #import <streams/streams.h> #import <appkit/Matrix.h> #import <appkit/Form.h> #import <appkit/Button.h> #import <appkit/NXColorWell.h> #import <appkit/TextField.h> #import <appkit/Slider.h> #import <appkit/color.h> #import <appkit/nextstd.h> #import <appkit/Pasteboard.h> #import <appkit/SavePanel.h> #import <appkit/Panel.h> #import <appkit/NXBitmapImageRep.h> #include "headers.h" /* for Voronoi */ typedef enum { OP_PRIM_MST,OP_KRUSKAL_MST,OP_JARVIS_HULL, OP_GRAHAM_HULL, OP_VORONOI_DIAGRAM,OP_DELAUNAY_TRIANGULATION, OP_GABRIEL_GRAPH, OP_RELATIVE_NEIGHBORHOOD_GRAPH} op; typedef enum { DISP_PTS_ONLY, DISP_PTS_RESULTS } displayFlagType; /* handy macros */ #define X(i) data[(i)*2] #define Y(i) data[(i)*2+1] /* when we want to refer to a 2D point by `name' (in cost function calls) */ #define XY(i) &data[(i)*2] /* extern */ extern long random(); extern void srandom(int); @interface TwoDView: View { float *data; /* data[i*2+j], j=0,1, i=1..numPoints (dynamic) */ int numPoints; op operation; displayFlagType displayFlag; BOOL instanceMode; int autoUpdate; float width; id numPointsForm; id bgColorWell; id fgColorWell; id highColorWell; id lineWidthText; id lineWidthSlider; id statusText; /* storange must be allocated for some output data structures. Specifically, we need to allocate an array of indices for the MST edges ((numPoints-1)*2 integers), an array of (numPoints) integers for the convex hull edges (worst case). We don't need any visible storage for the voronoi/Delaunay data structure because the libvoronoi routines allocate memory for that stuff internally. */ BOOL mstExists; int *mst_edge; BOOL chExists; int *ch_vertex; int nch_vertices; BOOL vorExists; /* voronoi OK => Delaunay OK */ BOOL dtExists; int *dt_edge; int ndt_edge; BOOL ggExists; int *gg_edge; int ngg_edge; BOOL rngExists; int *rng_edge; int nrng_edge; } + newFrame:(NXRect *)frameRect; - setFgColorWell:sender; - setBgColorWell:sender; - setHighColorWell:sender; - setAutoUpdate:sender; - setOperation:sender; - random:sender; - animThenDisp:sender; - disp:sender; - (BOOL)acceptsFirstResponder; - mouseDown:(NXEvent *)theEvent; - free; - doPrimMST; - doKruskalMST; - doJarvisHull; - doGrahamHull; - erase; - drawEdge:(float)x1:(float)y1:(float)x2:(float)y2; - drawDT; - drawGG; - drawRNG; - drawSelf:(NXRect *)rects:(int) rectCount; - doVoronoiDiagram; - doDelaunayTriangulation; - doGabrielGraph; - doRelativeNeighborhoodGraph; -saveTIFF:sender; -saveEPS:sender; -openData:sender; -saveData:sender; -close:sender; -copy:sender; -lineWidthChanged:sender; -(BOOL)acceptsFirstMouse; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.