public:
culooks (const char* name, const int& xcubes, const int& ycubes, const int& l, int *argc, char **argv);
+ void setLink (const int& cubeid, const int& posdir,
+ const float& red, const float& green, const float& blue, const float& alpha);
+ void setPlaq (const int& cubeid, const int& posdir,
+ const float& red, const float& green, const float& blue, const float& alpha);
+ void swapBuffers();
+ void hidePlaqs(const int& cubeid);
+ void hidePlaqs();
+ void hideLinks(const int& cubeid);
+ void hideLinks();
+ void setBgColor(const float& red, const float& green, const float& blue, const float& alpha);
+ void setWireColor(const float& r, const float& g, const float& b, const float& a);
+ void setFrameWidth(float width);
+ void setLinkWidth(float width);
private:
+
+ struct comarg {
+ int *argc;
+ char **argv;
+ };
+
+ static comarg comArg;
class cube {
public:
- cube(int l);
+ cube (int l);
void draw();
int id;
float az, alt;
+ float azRotSpeed;
float zoom;
+ void setLink (const int& posdir,
+ const float& red, const float& green, const float& blue, const float& alpha);
+ void setPlaq (const int& posdir,
+ const float& red, const float& green, const float& blue, const float& alpha);
+ void swapLinkBuffer();
+ void swapPlaqBuffer();
+ void hidePlaqs();
+ void hideLinks();
+ void setWireColor(const float& r, const float& g, const float& b, const float& a);
+ void setFrameWidth(float width);
+ void setLinkWidth(float width);
private:
+ float wireColor[4];
void drawAll();
void drawBox();
- static int allid;
+ static void drawFrame();
float *plaq;
float *link;
+ float *plaqbuf[2];
+ float *linkbuf[2];
int l;
+ int plaqbuf_active;
+ int linkbuf_active;
+ static int allid;
+ bool hideplaquettes;
+ bool hidelinks;
+ float framewidth;
+ float linkwidth;
};
struct window {
int gwinid;
bool initialized;
string name;
+ float bgcolor[4];
+ bool redisplay;
};
class drawing
static void reshapeFunc(int w, int h);
static void displayFunc();
static void initWindow(int winid);
- static void idleFunc_master();
+ static void idleFunc();
public:
static void* glutThread(void *leer);
};