/* Greydon Foil 3.10.04 */ /* terrain.h */ #ifndef __gfoilhw5_h #define __gfoilhw5_h typedef struct grid { int numCols; int numRows; float xllcorner; float yllcorner; float cellsize; float nodataVal; char* name; float** values; /* col * row */ float largestHeight; float smallestHeight; } Grid; Grid* readGrid(char* filename); Grid* allocateMemory(Grid* inGrid); void flowDir(void); void writeGrid(Grid* inGrid, char* filename); void initAccValues(void); Grid* flowAcc(void); float getAccValue(int i, int j); float sumAccValues(int i, int j); void idleAnim(void); Grid* freeMem(Grid* inGrid); void gotoMainInputLoop(void); void disAnim(void); void findCurrentCarZ(void); void drawCar(void); void display3d(void); void main_menu(int value); void keypress3d(unsigned char key, int x, int y); void keypress2d(unsigned char key, int x, int y); void specialKey(int key, int x, int y); void renderScene(void); void renderSceneAnim(void); void printInfo(Grid* inGrid); void colorFunction(float height); void initView(); void display2d(void); #endif