]> git.treefish.org Git - phys/latlib.git/commitdiff
...
authorAlex Schmidt <alex@treefish.org>
Tue, 19 Feb 2013 09:24:22 +0000 (10:24 +0100)
committerAlex Schmidt <alex@treefish.org>
Tue, 19 Feb 2013 09:24:22 +0000 (10:24 +0100)
CMakeLists.txt
culooks.cpp
culooks.h

index 5cbe4e56f45b56c2df116bf972ad8ae99aadd86a..96f472a7c085b2663df0b57ee2a2e990c8600266 100644 (file)
@@ -14,7 +14,7 @@ add_library(lat_progress progress.cpp)
 find_package(OpenGL REQUIRED)
 find_package(GLUT REQUIRED)
 include_directories( ${OPENGL_INCLUDE_DIRS}  ${GLUT_INCLUDE_DIRS} ../ )
-add_library(lat_culooks culooks.cpp)
+add_library(lat_culooks culooks.cpp culooks_cube.cpp)
 target_link_libraries(lat_culooks ${OPENGL_LIBRARIES} ${GLUT_LIBRARY})
 
 add_executable(neigh_test neigh_test.cpp)
index 8c41d236ad96aaa340629fb1e5d7bd9b5a355c44..cb5eda7ffde80f186a1600be00e50d32ba8aeac4 100644 (file)
@@ -1,5 +1,12 @@
 #include "culooks.h"
 
+#include <vector>
+#include <GL/glut.h>
+#include <GL/glx.h>
+#include <GL/gl.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
 #include <iostream>
 #include <math.h>
 
@@ -8,94 +15,8 @@ pthread_t culooks::glThreadId;
 
 int culooks::windowid = 0;
 
-int culooks::cube::allid = 0;
-
 using namespace std;
 
-void culooks::cube::draw()
-{
-  glMatrixMode(GL_MODELVIEW);
-  glPushMatrix();
-
-  //cout << zoom << endl;
-
-  glScalef(zoom, zoom, zoom);
-  glRotatef(az, 0, 1, 0);
-  glRotatef(alt, 1, 0, 0);
-
-  /*
-  glBegin(GL_QUADS);
-  glVertex2f(-1, -1); glVertex2f(1, -1); glVertex2f(1, 1); glVertex2f(-1, 1);
-  glEnd();
-  */
-
-  //drawBox();
-  drawAll();
-
-  glPopMatrix();
-}
-
-void culooks::cube::drawAll()
-{
-  glMatrixMode(GL_MODELVIEW);
-  glPushMatrix();
-
-  glTranslatef(-1,-1,-1);
-
-  for (int iz=0; iz<l; iz++) {
-    for (int iy=0; iy<l; iy++) {
-      for (int ix=0; ix<l; ix++) {
-       glPushMatrix();
-       glTranslatef(2.0*ix/l,2.0*iy/l,2.0*iz/l);
-       glScalef(2.0/l,2.0/l,2.0/l);
-
-       /* draw links */
-       glBegin(GL_LINES);
-       glColor4f(link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 0],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 1],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 2],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 3]);
-       glVertex3f(0,0,0); glVertex3f(1,0,0);
-       glColor4f(link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 0],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 1],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 2],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 3]);
-       glVertex3f(0,0,0); glVertex3f(0,1,0);
-       glColor4f(link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 0],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 1],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 2],
-                 link[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 3]);
-       glVertex3f(0,0,0); glVertex3f(0,0,1);
-       glEnd();
-
-       /* draw plaquettes */
-       glColor4f(1,1,1,0.5);
-       glBegin(GL_QUADS);
-       glColor4f(plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 0],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 1],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 2],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 2*4 + 3]);
-       glVertex3f(0, 0, 0); glVertex3f(1, 0, 0); glVertex3f(1, 1, 0); glVertex3f(0, 1, 0);
-       glColor4f(plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 0],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 1],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 2],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 1*4 + 3]);
-       glVertex3f(0, 0, 0); glVertex3f(1, 0, 0); glVertex3f(1, 0, 1); glVertex3f(0, 0, 1);
-       glColor4f(plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 0],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 1],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 2],
-                 plaq[iz*l*l*3*4 + iy*l*3*4 + ix*3*4 + 0*4 + 3]);
-       glVertex3f(0, 0, 0); glVertex3f(0, 1, 0); glVertex3f(0, 1, 1); glVertex3f(0, 0, 1);
-       glEnd();
-
-       glPopMatrix();
-      }
-    }
-  }
-    
-  glPopMatrix();
-}
-
 namespace mygl 
 {
   int rotcube[3];
@@ -295,19 +216,3 @@ culooks::culooks (const char* name, const int& xcubes, const int& ycubes, const
   windowid++;
 }
 
-culooks::cube::cube(int _l)
-{
-  l = _l;
-  link = new float[l*l*l*3 * 4];
-  plaq = new float[l*l*l*3 * 4];
-  az = 30;
-  alt = -20;
-  zoom = 0.6;
-  id = allid;
-  allid++;
-
-  for (int i=0; i<l*l*l*3; i++) {
-    link[i*4+0]=1; link[i*4+3]=0.6;
-    plaq[i*4+1]=1; plaq[i*4+3]=0.2;
-  }
-}
index 45fa31990118bcafbf930ea17328e4ef228e5a77..32e36a814872ca585ec9f7ad7ecec9de6889dc76 100644 (file)
--- a/culooks.h
+++ b/culooks.h
 #include <X11/Xutil.h>
 #include <string>
 
+#include "culooks_cube.h"
+
 using namespace std;
 
 class culooks
 {
  public:
-  class cube {
-  public:
-    cube(int l);
-    void draw();
-    int id;
-    float az, alt;
-    float zoom;
-  private:
-    void drawAll();
-    void drawBox();
-    static int allid;
-    float *plaq;
-    float *link;
-    int l;
-  };
-  
   struct window {
     int layout[2];
     double aspect;