home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / VPR_DATA / DOGA / SOURCES / PASM.LZH / SUFLIB.H < prev    next >
C/C++ Source or Header  |  1995-12-06  |  1KB  |  64 lines

  1. #ifndef _SUFLIB_
  2. #define _SUFLIB_
  3. #include "token.h"
  4.  
  5. #define POLY_SEPARATER -1
  6. /*readsuf.h*/
  7. class Object {
  8. public:
  9.     char    name[16];
  10.     char    *filename;
  11.     int        maxx, minx;
  12.     int        maxy, miny;
  13.     int        maxz, minz;
  14.     int        *point_x;
  15.     int        *point_y;
  16.     int        *point_z;
  17.     int        *line_1;
  18.     int        *line_2;
  19.     int        points;
  20.     int        lines;
  21.  
  22.     int        *polypoint;
  23.     int     *poly;
  24.     int        polypoints, polys;
  25.  
  26.     int        polygons;
  27.  
  28.     Object(TokenReader*);
  29.     Object();
  30.     ~Object();
  31.     int Succeed(void);
  32.     Object *Copy(void);
  33.     void Delete(void);
  34.     static void UsePoly(void);
  35.     static int IsPoly(void);
  36. private:
  37. //    static int usepoly = FALSE;
  38.     int copy;
  39.     int allocpoints, alloclines, allocpolys, allocpolypoints;
  40.     void lineset( int, int );
  41.     void polypointset(int);
  42.     void polyset(int);
  43.     int point( int, int, int );
  44.     void readpoly(TokenReader*);
  45. };
  46.  
  47.  
  48. static const int MaxObject = 32;
  49. class SufFile {
  50. private:
  51. //    static SufFile *top = NULL;
  52.     SufFile *next;
  53. public:
  54.     char    filename[128];
  55.     Object *object[MaxObject];
  56.  
  57.     static Object *OpenObject(char *fname, char *oname = NULL);
  58.     static SufFile *OpenSuf( char *fname );
  59.     SufFile(char *filename);
  60.     ~SufFile();
  61. };
  62.  
  63. #endif
  64.