3DGBAS.H
上传用户:wtrl82617
上传日期:2007-01-07
资源大小:187k
文件大小:2k
源码类别:

界面编程

开发平台:

DOS

  1. #ifndef __GRAPHBAS_H
  2. #define __GRAPHBAS_H
  3. #include "yyxwin.h"
  4. #define POINTNUM 22
  5. #define SURFACENUM 10
  6. #define PI 3.1415926
  7. typedef class graphbas_class Tgraphbas;
  8. class graphbas_class:public Twin {
  9. public:
  10.   float rho, theta, phi,d;
  11.   float X,Y,Z; // of viewport;
  12.   float s1,c1,s2,c2;
  13.   int cx,cy;
  14.   float sv[POINTNUM][2];  // Point 's Projection Point;; 2 Dimension
  15.   int n[SURFACENUM][3];   // Direction Vector  of every surface
  16.   int showornot[POINTNUM];
  17. public:
  18. graphbas_class::graphbas_class (int ID,char *title,byte type,byte hotkey,
  19.  int left, int top, int width, int height );
  20. virtual ~graphbas_class ();
  21. virtual BOOL func_canclose();
  22. virtual void setup_window ();
  23. virtual int draw_win_contents();
  24. virtual int key_pressed_handler  ( int key_scan_num );
  25. virtual int msg_handler (MSG& message );
  26. void  calc();
  27. void show_surface (int sur);
  28. void draw_all_surface(int color);
  29. };
  30. #ifdef __YYXMAIN
  31.   float v[POINTNUM][3] = {
  32. {5,7,-5},{5,7,5},{5,-7,5},{5,-7,-5},{-5,7,-5},
  33. {-5,-7,-5},{-5,-7,5},{-5,7,5},{0,7,8},{0,-7,8},
  34. {5,-1,-4},{5,1,-4},{5,-1,0}, {5,1,0},
  35. {5,-4,0}, {5,-3,0}, {5,-4,1}, {5,-3,1},
  36. {5, 3,0}, {5, 4,0}, {5, 3,1}, {5, 4,1},
  37.   }; // Point Array  3 Dimension
  38.   int nps[SURFACENUM]={5,6,5,6,5,5, 5,5,5,5}; //How many points per surface
  39.   int s[SURFACENUM][6]={ {1,2,3,4,1,0}, {1,5,8,9,2,1}, {5,6,7,8,5,0},
  40. {4,3,10,7,6,4}, {3,2,9,10,3,0}, {7,10,9,8,7,0}, {1,4,6,5,1,0},
  41. {11,12,14,13,11,0},
  42. {15,16,18,17,15,0},
  43. {19,20,22,21,19,0}
  44. };  // Every Surface's Points -- Right Rounded, clock wised
  45. #else
  46. extern float v[POINTNUM][3];
  47. extern int nps[SURFACENUM];
  48. extern int s[SURFACENUM][6];
  49. #endif
  50. #endif