X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/d65d20475798a9e7614e61c46c68a2b77760d4c2..f9812559e766a409abfbd2d3bae519298339ab65:/culooks.h?ds=sidebyside diff --git a/culooks.h b/culooks.h index 76f0919..fe6ca11 100644 --- a/culooks.h +++ b/culooks.h @@ -17,23 +17,51 @@ class culooks 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); private: + + struct comarg { + int *argc; + char **argv; + }; class cube { public: - cube(int l); + cube (int l); void draw(); int id; float az, alt; 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(); private: 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; }; struct window { @@ -44,6 +72,8 @@ class culooks int gwinid; bool initialized; string name; + float bgcolor[4]; + bool redisplay; }; class drawing @@ -57,7 +87,7 @@ class culooks 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); };