fenfire-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ff-cvs] libvob include/vob/lines/Lines.hxx include/vob/...


From: Matti Katila
Subject: [ff-cvs] libvob include/vob/lines/Lines.hxx include/vob/...
Date: Fri, 22 Aug 2003 09:19:54 -0400

CVSROOT:        /cvsroot/libvob
Module name:    libvob
Branch:         
Changes by:     Matti Katila <address@hidden>   03/08/22 09:19:54

Modified files:
        include/vob/lines: Lines.hxx 
        include/vob/vobs: Lines.hxx 
        src/lines      : Lines.cxx 
        vob/demo       : lines.py 

Log message:
        more lines..

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/include/vob/lines/Lines.hxx.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/include/vob/vobs/Lines.hxx.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/src/lines/Lines.cxx.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/vob/demo/lines.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text

Patches:
Index: libvob/include/vob/lines/Lines.hxx
diff -u libvob/include/vob/lines/Lines.hxx:1.5 
libvob/include/vob/lines/Lines.hxx:1.6
--- libvob/include/vob/lines/Lines.hxx:1.5      Fri Aug 22 08:33:40 2003
+++ libvob/include/vob/lines/Lines.hxx  Fri Aug 22 09:19:53 2003
@@ -47,18 +47,17 @@
     using std::endl;
     using Vob::ZPt;
 
+
     /** Very simple line from point a to b.
      */
     class SimpleLine {
         GLuint textureId;
         float linewidth;
-    private:
-        /** Draws a line from point a to b.
-         */
-        void draw(ZPt a, ZPt b);
+        vector<ZPt> points;
     public:
         SimpleLine(GLuint textId, float lineWidth, vector<ZPt> points);
         ~SimpleLine() { }
+        void draw();
     };
 
 
@@ -86,12 +85,6 @@
         int joinStyle;
         bool chain;
 
-    private:
-
-        /** Draw the continuous line on the screen.
-         */ 
-        void draw();
-
     public:
         /** ContinuousLine is line constructed from various points. 
          *  It bends in given points.
@@ -107,6 +100,10 @@
         ContinuousLine(GLuint textId, float lineWidth,
                        vector<ZPt> points, int joinStyle, bool chain);
         ~ContinuousLine() { }
+
+        /** Draw the continuous line on the screen.
+         */ 
+        void draw();
     };
 }
 
Index: libvob/include/vob/vobs/Lines.hxx
diff -u libvob/include/vob/vobs/Lines.hxx:1.4 
libvob/include/vob/vobs/Lines.hxx:1.5
--- libvob/include/vob/vobs/Lines.hxx:1.4       Fri Aug 22 08:33:40 2003
+++ libvob/include/vob/vobs/Lines.hxx   Fri Aug 22 09:19:53 2003
@@ -63,9 +63,10 @@
 
       if (pts.size() <= 2) {
        Lines::SimpleLine l = Lines::SimpleLine(texId, width, pts);
+       l.draw();
       } else {
-       Lines::ContinuousLine l = 
-         Lines::ContinuousLine(texId, width, pts, joinStyle, chain);
+       Lines::ContinuousLine l = Lines::ContinuousLine(texId, width, pts, 
joinStyle, chain);
+       l.draw();
       }
     };
 
Index: libvob/src/lines/Lines.cxx
diff -u libvob/src/lines/Lines.cxx:1.7 libvob/src/lines/Lines.cxx:1.8
--- libvob/src/lines/Lines.cxx:1.7      Fri Aug 22 08:33:40 2003
+++ libvob/src/lines/Lines.cxx  Fri Aug 22 09:19:54 2003
@@ -26,6 +26,7 @@
 
 
 #include <vob/lines/Lines.hxx>
+#include <vob/glerr.hxx>
 #include <cmath>
 
 static bool dbg = true;
@@ -44,7 +45,7 @@
          cout << "Errorr in SimpleLine - not enough points!"<< points.size() 
<<"\n";
          return;
        }
-       draw(points[0], points[1]);
+       this->points = points;
     }
 
 
@@ -76,20 +77,22 @@
      *
      *   t0 = 0.5 - (4+w)/16w
      */
+    void SimpleLine::draw() {
+        ZPt a = points[0];
+       ZPt b = points[1];
 
-    void SimpleLine::draw(ZPt a, ZPt b) {
-        if (dbg) cout << "lineWidth: " <<linewidth << "\n";
-        if (dbg) cout <<" x: "<< a.x << ", "<< b.x 
+        if (dbg) cout << "lineWidth: " <<linewidth
+                     <<" x: "<< a.x << ", "<< b.x 
                       <<" y: "<< a.y << ", "<< b.y <<"\n";
-
+       
         glPushAttrib(GL_ENABLE_BIT);
-          glDisable(GL_TEXTURE_2D);
-          glEnable(GL_TEXTURE_1D);
+          glDisable(GL_TEXTURE_1D);
+          glEnable(GL_TEXTURE_2D);
 
         glEnable(GL_BLEND);
         glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 
-        glBindTexture(GL_TEXTURE_1D, textureId);
+        glBindTexture(GL_TEXTURE_2D, textureId);
 
         glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
 
@@ -120,7 +123,7 @@
         glVertex3f(b.x + l.x, b.y + l.y, b.z);
 
         glEnd();
-        glBindTexture(GL_TEXTURE_1D, 0);
+        glBindTexture(GL_TEXTURE_2D, 0);
 
         glPopAttrib();
     }
Index: libvob/vob/demo/lines.py
diff -u libvob/vob/demo/lines.py:1.5 libvob/vob/demo/lines.py:1.6
--- libvob/vob/demo/lines.py:1.5        Fri Aug 22 08:33:40 2003
+++ libvob/vob/demo/lines.py    Fri Aug 22 09:19:54 2003
@@ -38,6 +38,6 @@
     def scene(self, vs):
        vs.put( background((.9, .8, .6)))
         cs = vs.coords.orthoBox(0,0, 0,0, 1,1, self.x, self.y)
-        vs.put( vob.vobs.ContinuousLineVob( 1.0, [0,0,0, 1,1,0]), cs)
+        vs.put( vob.vobs.ContinuousLineVob( 12.0, [0,0,0, 1,1,0]), cs)
         print 'scene done.'
      




reply via email to

[Prev in Thread] Current Thread [Next in Thread]