/[libvob]/libvob/vob/demo/multifil/randgraph.py
ViewVC logotype

Diff of /libvob/vob/demo/multifil/randgraph.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11 by tjl, Wed Jun 11 17:49:03 2003 UTC revision 1.12 by jvk, Thu Jun 12 13:29:57 2003 UTC
# Line 38  class Scene: Line 38  class Scene:
38              self,              self,
39              SlideLin("x", 200, 20, "x", "Left", "Right"),              SlideLin("x", 200, 20, "x", "Left", "Right"),
40              SlideLin("y", 300, 20, "y", "Up", "Down"),              SlideLin("y", 300, 20, "y", "Up", "Down"),
41                SlideLin("angle", math.pi/4, .05, "meet angle", "+", "-"),
42                SlideLin("thick", .1, .01, "thickness", "T", "t"),
43              Toggle("drawEdge", 1, "Draw edge", "e"),              Toggle("drawEdge", 1, "Draw edge", "e"),
44              Toggle("drawInside", 1, "Draw inside", "i"),              Toggle("drawInside", 1, "Draw inside", "i"),
45              Toggle("depthColor", 0, "Color from depth", "d"),              Toggle("depthColor", 0, "Color from depth", "d"),
46              Toggle("lines", 0, "Toggle showing lines", "l"),              Toggle("lines", 0, "Toggle showing lines", "l"),
47              SlideLin("N", 21, 3, "N", "-", "+"),              Toggle("ellipses", 1, "Toggle ellipses", "s"),
48                Toggle("stretched", 1, "Toggle stretched", "v"),
49                Toggle("curvature", 1, "Show curvature", "c"),
50                SlideLin("N", 21, 3, "N", "N", "n"),
51              SlideLin("ang", 21, 3, "Rotation angle", "Prior", "Next"),              SlideLin("ang", 21, 3, "Rotation angle", "Prior", "Next"),
52              Toggle("fillets", 1, "Toggle filleting", "f"),              Toggle("fillets", 1, "Toggle filleting", "f"),
53              SlideLin("seed", 42, 1, "seed number", "S", "s"),              SlideLin("seed", 42, 1, "seed number", "A", "a"),
54                SlideLin("size", 50, 5, "Node size", "K", "k"),
55                SlideLin("dice", 20, 1, "Dice factor", "P", "p"),
56          )          )
57      def scene(self, vs):      def scene(self, vs):
58          vs.put( background((.5,1,.2)))          vs.put( background((.5,1,.2)))
# Line 61  class Scene: Line 68  class Scene:
68          if self.lines:          if self.lines:
69              vs.put(getDListNocoords("PolygonMode FRONT_AND_BACK LINE"))              vs.put(getDListNocoords("PolygonMode FRONT_AND_BACK LINE"))
70    
71          dice = 200          border = 2
72          conns = GLRen.createSortedConnections(          conns = GLRen.createSortedConnections(
73              GLRen.createFilletSpan1(dice, 1 + 4*self.depthColor + 8*(1-self.fillets)))              GLRen.createFilletSpan2(border, self.dice,
74                                        1 +
75                                        4 * self.depthColor +
76                                        8 * (1-self.fillets) +
77                                        16 * self.ellipses +
78                                        64 * self.stretched), 2)
79            
80          conns_l = GLRen.createSortedConnections(          conns_l = GLRen.createSortedConnections(
81              GLRen.createFilletSpan1(dice, 2 + 4*self.depthColor + 8*(1-self.fillets)))              GLRen.createFilletSpan2(border, self.dice,
82                                        2 +
83          size = 10                                      4 * self.depthColor +
84                                        8 * (1-self.fillets) +
85                                        16 * self.ellipses +
86                                        64 * self.stretched), 2)
87    
88          rng = Random(self.seed)          rng = Random(self.seed)
89          N2 = 2*self.N/3          N2 = 2*self.N/3
# Line 78  class Scene: Line 94  class Scene:
94                    
95          cs = vs.scaleCS(0, "cs", 1, 1, .15)          cs = vs.scaleCS(0, "cs", 1, 1, .15)
96    
97            thick = vs.coords.rational1D22(0, self.thick, 0, 0,  0, 1, 0);
98            angle = vs.coords.rational1D22(0, self.angle, 0, 0,  1, 0, 0);
99            vs.matcher.add(thick, "Thi")
100            vs.matcher.add(angle, "Ang")
101    
102    
103          nodes = [ {          nodes = [ {
104              "cs" : vs.orthoBoxCS(cs, "node%s" % i,              "cs" : vs.orthoBoxCS(cs, "node%s" % i,
105                                   rng.random() * box,                                   rng.random() * box,
106                                   rng.random() * box,                                   rng.random() * box,
107                                   rng.random() * box, 1, 1, size, size),                                   rng.random() * box, 1, 1, self.size, self.size),
108              "conns" : [ ],              "conns" : [ ],
109              } for i in range(0,self.N) ]              } for i in range(0,self.N) ]
110    
# Line 101  class Scene: Line 123  class Scene:
123          def pc(conns):          def pc(conns):
124              for node in nodes:              for node in nodes:
125                  if node["conns"]:                  if node["conns"]:
126                      vs.put(conns, [node["cs"]] + node["conns"])                      vs.put(conns, [thick, angle, node["cs"]] + node["conns"])
127    
128    
129    

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26