add SampleSketch class

This commit is contained in:
Josh Holtrop 2011-07-25 23:13:25 -04:00
parent e398a6e6c8
commit edd8fd6107
2 changed files with 47 additions and 40 deletions

43
SampleSketch.py Normal file
View File

@ -0,0 +1,43 @@
from Sketch import Sketch
from shapes import *
from constraints import *
class SampleSketch(Sketch):
def __init__(self):
Sketch.__init__(self)
l1 = Line(0, 1, 1, 1)
self.shapes.append(l1)
l2 = Line(1, 1, 1, 0)
self.shapes.append(l2)
l3 = Line(1, 0, 0, 0)
self.shapes.append(l3)
l4 = Line(0, 0, 0, 1)
self.shapes.append(l4)
c = Circle(0, 0, 0.3)
self.shapes.append(c)
l5 = Line(0, 0, 0, 0)
self.shapes.append(l5)
self.constraints.append(Horizontal(l1, 0, l1, 1))
self.constraints.append(Connect(l1, 1, l2, 0))
self.constraints.append(Vertical(l2, 0, l2, 1))
self.constraints.append(Connect(l2, 1, l3, 0))
self.constraints.append(Horizontal(l3, 0, l3, 1))
self.constraints.append(Connect(l3, 1, l4, 0))
self.constraints.append(Vertical(l4, 0, l4, 1))
self.constraints.append(Connect(l4, 1, l1, 0))
self.constraints.append(Connect(c, 1, l2, 0))
self.constraints.append(Horizontal(c, 4, l3, 1))
# self.constraints.append(Connect(c, 4, l3, 1))
self.constraints.append(XDistance(l1, 0, l1, 1, 1.2))
self.constraints.append(YDistance(l4, 0, l4, 1, 0.8))
self.constraints.append(XFix(l1, 0, 0))
self.constraints.append(YFix(l1, 0, 0))
self.constraints.append(Connect(l5, 0, l2, 1))
self.constraints.append(Connect(l5, 2, l1, 0))

View File

@ -2,11 +2,9 @@
import gtk import gtk
from Sketch import Sketch from Sketch import Sketch
from SampleSketch import SampleSketch
from SketchWidget import SketchWidget from SketchWidget import SketchWidget
from shapes import *
from constraints import *
class Window: class Window:
def __init__(self, title): def __init__(self, title):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
@ -15,45 +13,11 @@ class Window:
self.window.connect("destroy", self.destroy_event) self.window.connect("destroy", self.destroy_event)
self.window.connect("key-press-event", self.key_press_event) self.window.connect("key-press-event", self.key_press_event)
s = Sketch() ss = SampleSketch()
l1 = Line(0, 1, 1, 1)
s.shapes.append(l1)
l2 = Line(1, 1, 1, 0)
s.shapes.append(l2)
l3 = Line(1, 0, 0, 0)
s.shapes.append(l3)
l4 = Line(0, 0, 0, 1)
s.shapes.append(l4)
c = Circle(0, 0, 0.3)
s.shapes.append(c)
l5 = Line(0, 0, 0, 0)
s.shapes.append(l5)
s.constraints.append(Horizontal(l1, 0, l1, 1)) ss.solve()
s.constraints.append(Connect(l1, 1, l2, 0))
s.constraints.append(Vertical(l2, 0, l2, 1))
s.constraints.append(Connect(l2, 1, l3, 0))
s.constraints.append(Horizontal(l3, 0, l3, 1))
s.constraints.append(Connect(l3, 1, l4, 0))
s.constraints.append(Vertical(l4, 0, l4, 1))
s.constraints.append(Connect(l4, 1, l1, 0))
s.constraints.append(Connect(c, 1, l2, 0)) sw = SketchWidget(ss, self.window)
s.constraints.append(Horizontal(c, 4, l3, 1))
# s.constraints.append(Connect(c, 4, l3, 1))
s.constraints.append(XDistance(l1, 0, l1, 1, 1.2))
s.constraints.append(YDistance(l4, 0, l4, 1, 0.8))
s.constraints.append(XFix(l1, 0, 0))
s.constraints.append(YFix(l1, 0, 0))
s.constraints.append(Connect(l5, 0, l2, 1))
s.constraints.append(Connect(l5, 2, l1, 0))
s.solve()
sw = SketchWidget(s, self.window)
self.statusbar = gtk.Statusbar() self.statusbar = gtk.Statusbar()