]> git.treefish.org Git - phys/latlib.git/commitdiff
...
authorAlexander B. Schmidt <alex@treefish.org>
Fri, 22 Feb 2013 21:05:58 +0000 (22:05 +0100)
committerAlexander B. Schmidt <alex@treefish.org>
Fri, 22 Feb 2013 21:05:58 +0000 (22:05 +0100)
culooks.cpp
culooks.h
culooks_cube.cpp
culooks_drawing.cpp

index 0d0ebf2200fdc0ff4a3b324dd3fdca21f9e31b31..6e7fded3e92532c154037631e999a7f49b461e50 100644 (file)
@@ -42,7 +42,7 @@ culooks::culooks (const char* name, const int& xcubes, const int& ycubes, const
 
   Win->initialized = false;
 
-  Win->linewidth = 1;
+  //Win->linewidth = 1;
 
   Windows.push_back( pair<int,culooks::window*>(0, Win) );
 
@@ -107,7 +107,14 @@ void culooks::setWireColor(const float& r, const float& g, const float& b, const
     Windows[mywid].second->cubes[icube].setWireColor(r, g, b, a);
 }
 
-void culooks::setLineWidth(float width)
+void culooks::setFrameWidth(float width)
 {
-  Windows[mywid].second->linewidth = width;
+  for (int icube=0; icube<Windows[mywid].second->cubes.size(); icube++)
+    Windows[mywid].second->cubes[icube].setFrameWidth(width);
+}
+
+void culooks::setLinkWidth(float width)
+{
+  for (int icube=0; icube<Windows[mywid].second->cubes.size(); icube++)
+    Windows[mywid].second->cubes[icube].setLinkWidth(width);
 }
index 34466c1ba0373f0f5ba2dde75307e878e85b1c4d..66b33206b7a5bc96b7016b8059a024701ee9af44 100644 (file)
--- a/culooks.h
+++ b/culooks.h
@@ -28,7 +28,8 @@ class culooks
   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 setLineWidth(float width);
+  void setFrameWidth(float width);
+  void setLinkWidth(float width);
 
  private:
 
@@ -56,6 +57,8 @@ class culooks
     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();
@@ -71,6 +74,8 @@ class culooks
     static int allid;
     bool hideplaquettes;
     bool hidelinks;
+    float framewidth;
+    float linkwidth;
   };
   
   struct window {
@@ -83,7 +88,6 @@ class culooks
     string name;
     float bgcolor[4];
     bool redisplay;
-    float linewidth;
   };
 
   class drawing 
index 2bf8804cd07202e2674d7b9097fe00badf5d5dcc..890ff166697c5168e56355a71ba7494f00187a03 100644 (file)
@@ -62,6 +62,7 @@ void culooks::cube::draw()
   glRotatef(az, 0, 1, 0);
   glRotatef(alt, 1, 0, 0);
   glColor4f(wireColor[0], wireColor[1], wireColor[2], wireColor[3]);
+  glLineWidth(framewidth);
   glutWireCube(2);
   glPopMatrix();
 
@@ -92,6 +93,8 @@ void culooks::cube::drawAll()
        glTranslatef(2.0*ix/l,2.0*iy/l,2.0*iz/l);
        glScalef(2.0/l,2.0/l,2.0/l);
 
+       glLineWidth(linkwidth);
+
        /* draw links */
        if (!hidelinks) {
          glBegin(GL_LINES);
@@ -113,6 +116,8 @@ void culooks::cube::drawAll()
          glEnd();
        }
 
+       glLineWidth(1);
+
        /* draw plaquettes */
        if (!hideplaquettes) {
          glBegin(GL_QUADS);
@@ -180,3 +185,11 @@ void culooks::cube::setWireColor(const float& r, const float& g, const float& b,
   wireColor[2] = b;
   wireColor[3] = a;
 }
+
+void culooks::cube::setFrameWidth(float width) {
+  framewidth = width;
+}
+
+void culooks::cube::setLinkWidth(float width) {
+  linkwidth = width;
+}
index cab01b584d8eb5d90102a90623652085431eccd4..65c7644f61671f500750e18b2a9fa730989b9d1e 100644 (file)
@@ -94,8 +94,6 @@ void culooks::drawing::displayFunc()
 {
   culooks::window *Win = getWin();
 
-  glLineWidth(Win->linewidth);
-
   glClearColor(Win->bgcolor[0], Win->bgcolor[1], Win->bgcolor[2], Win->bgcolor[3]);
   glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);