ftp.nice.ch/pub/next/tools/screen/backspace/old/PlanetView.N.bs.tar.gz#/PlanetView/PlanetView.h

This is PlanetView.h in view mode; [Download] [Up]

#import "BackView.h"
#import <dpsclient/event.h>

// Constants
#define PLANETS	20	/* number of planets */
#define MAXPLANETS 30	// maximum number of planets
#define SPACEDIST 2	// # of pixels = 1 unit of space distance
#define DEFAULTGRAV 1	/* Default gravity for new planet*/
#define PI 3.14159

/* Macros */
#define deltaX(a,b) ((myplanets[b].x - myplanets[a].x)/SPACEDIST)	/* addressing into dynamic array */
#define deltaY(a,b) ((myplanets[b].y - myplanets[a].y)/SPACEDIST)	/* addressing into dynamic array */
#define RAND(v)	((random() % v) - (v/2)) /* random number around 0 */
#define SQR(v)	(v*v) /* fast square */

typedef struct
	{
	NXCoord	x, y;		/* planet positions x[planet] NXcoord is a float*/
	NXColor	planetcolor;	// planet color
	float	gravity;	/* planet gravity gravity[planet] */
	float	xv, yv;		/* planet velocities xv[planet] */
	} aplanet;


@interface PlanetView : BackView
{
/* animation related */
int	numplanets;		/* number of planets */
aplanet *myplanets;
int	winNum;			/* who am I?	 */
NXCoord	curX, curY;		/* where am I?  */
int	cursortime;		/* How long have I followed the cursor */
int	numPlanets, planetNumber;	/*How many, which am I looking at*/
id	myPrefWindow;		// Preferances Window
id	numplanetForm;
id	numplanetSlider;
id	cursorGravity;
id	planetnumForm;
id	planetnumSlider;
id	planetSpecs;
id	planetgravitySlider;
id	planetColor;
}

- showPanel;
- setNumberPlanets: sender;
- setPlanetNumber: sender;
- setPlanetSpex: sender;
- setPlanetGravity: sender;
- setCursorhasGravity: sender;
- merge: (int) i: (int) j;
- oneStep;
- newPlanet: (aplanet *) newplanet: (float) width: (float) height;
- doBOOM: sender;
- blowPlanet: (int) planetNum;
@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.