gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz/gfx demo/sqfillet.py libfillet/Fillet.cxx l...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz/gfx demo/sqfillet.py libfillet/Fillet.cxx l...
Date: Tue, 22 Oct 2002 13:03:45 -0400

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/10/22 13:03:45

Modified files:
        gfx/demo       : sqfillet.py 
        gfx/libfillet  : Fillet.cxx Fillet.hxx 

Log message:
        Fix a little

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/sqfillet.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libfillet/Fillet.cxx.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libfillet/Fillet.hxx.diff?tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/sqfillet.py
diff -u gzz/gfx/demo/sqfillet.py:1.1 gzz/gfx/demo/sqfillet.py:1.2
--- gzz/gfx/demo/sqfillet.py:1.1        Tue Oct 22 12:28:22 2002
+++ gzz/gfx/demo/sqfillet.py    Tue Oct 22 13:03:45 2002
@@ -1,4 +1,4 @@
-AbstractUpdateManager.defaultAnimationTime = 9000
+AbstractUpdateManager.defaultAnimationTime = 150000
 from java.lang import Math
 
 class SqfScene:
@@ -32,14 +32,22 @@
 
        vs.map.put(getDListNocoords("""
            Color 0 0 0
-           LineWidth 2
+           LineWidth 1
        """))
 
        vs.map.put(GLRen.createSqFilletConnection(40), cs1, 
            cs2)
 
+       vs.map.put(getDListNocoords("""
+           Color 1 0 0
+       """))
+
        vs.map.put(GLRen.createSqFilletConnection(40), cs1, 
            cs3)
+
+       vs.map.put(getDListNocoords("""
+           Color 0 1 0
+       """))
 
        vs.map.put(GLRen.createSqFilletConnection(40), cs2, 
            cs3)
Index: gzz/gfx/libfillet/Fillet.cxx
diff -u gzz/gfx/libfillet/Fillet.cxx:1.1 gzz/gfx/libfillet/Fillet.cxx:1.2
--- gzz/gfx/libfillet/Fillet.cxx:1.1    Tue Oct 22 12:28:22 2002
+++ gzz/gfx/libfillet/Fillet.cxx        Tue Oct 22 13:03:45 2002
@@ -1,6 +1,13 @@
 #include "Fillet.hxx"
 namespace Fillet {
     DBGVAR(dbg, "Fillet.general");
+    DBGVAR(dbg_origs, "Fillet.origs");
+
+    inline bool between(float start, float end, float it, 
+                   float fuzz = 1) {
+       return (fuzz * fabs(start-end) >= fabs(it-end)) &&
+               (fuzz * fabs(start-end) >= fabs(it-start));
+    }
 
     bool _Cutter::operator()(const ZPt &a, const ZPt &b) {
        DBG(dbg) << "Cut "<<a<<" "<<b<<"\n";
@@ -12,8 +19,15 @@
        Pt p = (Pt)in;
        DBG(dbg) << "Cutter points: "<<p<<" "<<(p-center)<<"\n";
        if((p-center).dot(fromCenter) < 0) return false;
-       if(!between(a.x, b.x, p.x)) return false;
-       if(!between(a.y, b.y, p.y)) return false;
+
+       Vec b2(b-a);
+       Vec p2(p-a);
+       float d = b2.dot(p2);
+       float e = b2.dot(b2);
+       if(d < 0 || d > e) return false;
+
+       if(!between(a.x, b.x, p.x) &
+          !between(a.y, b.y, p.y)) return false;
        this->cut = ZPt(p.x, p.y, a.z); // XXX
        DBG(dbg) << "CUT!!! "<<cut<<"\n";
        return true;
Index: gzz/gfx/libfillet/Fillet.hxx
diff -u gzz/gfx/libfillet/Fillet.hxx:1.3 gzz/gfx/libfillet/Fillet.hxx:1.4
--- gzz/gfx/libfillet/Fillet.hxx:1.3    Tue Oct 22 12:28:22 2002
+++ gzz/gfx/libfillet/Fillet.hxx        Tue Oct 22 13:03:45 2002
@@ -12,6 +12,7 @@
     using std::vector;
 
     PREDBGVAR(dbg);
+    PREDBGVAR(dbg_origs);
 
     /** Transform (currently only linear) an outline.
      */
@@ -70,11 +71,6 @@
        return true;
     }
 
-    inline bool between(float start, float end, float it) {
-       return (fabs(start-end) >= fabs(it-end)) &&
-               (fabs(start-end) >= fabs(it-start));
-    }
-
     struct _Cutter {
        HL iline;
        Pt center;
@@ -112,6 +108,7 @@
        bool prevshifted, curshifted;;
        ZPt prevpt = d(*prev, prevshifted);
        *o++ = prevpt;
+       if(dbg_origs) *o++ = *prev;
        while( (++cur) != e) {
            ZPt curpt = d(*cur, curshifted);
            if(curshifted || prevshifted) {
@@ -119,10 +116,13 @@
                const int n = 30;
                bool fooshifted;
                for(int i=1; i<n; i++) {
-                   *o++ = d(lerp(*prev, *cur, (float)i / n), fooshifted);
+                   ZPt p = lerp(*prev, *cur, (float)i / n); 
+                   *o++ = d(p, fooshifted);
+                   if(dbg_origs) *o++ = p;
                }
            }
            *o++ = curpt;
+           if(dbg_origs) *o++ = *cur;
            prev = cur;
            prevpt = curpt;
            prevshifted = curshifted;




reply via email to

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