]> git.treefish.org Git - phys/latlib.git/blob - cubelooks.h
...
[phys/latlib.git] / cubelooks.h
1 #ifndef CUBELOOKS_H
2 #define CUBELOOKS_H
3
4 #include <pthread.h>
5 #include <vector>
6 #include <GL/glut.h>
7 #include <GL/glx.h>
8 #include <GL/gl.h>
9 #include <X11/Xlib.h>
10 #include <X11/Xutil.h>
11
12
13 using namespace std;
14
15 class cubelooks
16 {
17  public:
18   class cube {
19   public:
20     cube(int l);
21     void draw();
22     int id;
23     float az, alt;
24     float zoom;
25   private:
26     void drawAll();
27     void drawBox();
28     static int allid;
29     float *plaq;
30     float *link;
31     int l;
32   };
33
34   struct env {
35     int *argc;
36     char **argv;
37     int layout[2];
38     double aspect;
39     vector<cube> cubes;
40     int w, h;
41     GLXDrawable gDrawable;
42     Display *gDisplay;
43     GLXContext gContext;
44   };
45
46   cubelooks(const int& xcubes, const int& ycubes, const int& l, int *argc, char **argv);
47
48  private:
49   pthread_t glThreadId;
50   static bool initDone;
51   static GLXDrawable gDrawable;
52   static Display *gDisplay;
53 };
54
55 #endif