Sindbad~EG File Manager
#define MAX_SESSIONID 33
#include <sys/types.h>
#include <time.h>
#define MAXBODIES 12
#define MAXSTEPS 100000
typedef struct body3
{
double mass;
int bodynumber;
int color; // use RGB macro to specify
double r; // pixel coordinates of radius to use drawing it
double x0,y0; // initial position (world coordinates)
double p0,q0; // initial velocity (not momentum despite p,q)
} body;
typedef struct docdata3
{
char sessionId[MAX_SESSIONID]; // key for hashing this structure
UT_hash_handle hh; // makes this structure hashable
time_t lastMessageTime;
int pxmin, pxmax, pymin, pymax; // pixel coordinates of the viewport
double tmin, tmax; // first and last t-values
double xmin,xmax,ymin,ymax; // world coordinates
unsigned border, background; // colors in RGB for the viewport
unsigned nbodies; // number of bodies
char integrationMethod[32]; // "rk4" or "leapfrog", later maybe others
int graphpaper; // index of graph paper if we decide to support this
body bodies[MAXBODIES]; //zero-based, it's an array
} DOCDATA3;
typedef DOCDATA3 *PDOCDATA3;
void init_docData3(PDOCDATA3 pDocData, char *sessionId, char*param);
int sendDocument3(PDOCDATA3);
int process_message3(PDOCDATA3 pDocData, char *message, char *param, char *outbuffer, int OUTBUFFER_SIZE);
int drawSolution(PDOCDATA3 pDocData);
void drawAxes(PDOCDATA3 pDocData);
void computeSolution(PDOCDATA3 pDocData);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists