6 |
from gzz.modules.pp import * |
from gzz.modules.pp import * |
7 |
import math |
import math |
8 |
from java.lang import Math |
from java.lang import Math |
9 |
|
from java.awt.event import MouseEvent |
10 |
|
|
11 |
from gfx.libutil import effects |
from gfx.libutil import effects |
12 |
|
|
20 |
space = ModularSpace(cellTexter, cellManager, dimManager, identityManager, slicer, obsTrigger) |
space = ModularSpace(cellTexter, cellManager, dimManager, identityManager, slicer, obsTrigger) |
21 |
|
|
22 |
ppactions = gzz.modules.pp.PPActionsImpl(space) |
ppactions = gzz.modules.pp.PPActionsImpl(space) |
23 |
|
Win.initDims(space) |
24 |
|
|
25 |
id = ppactions.newPaper() |
id = ppactions.newPaper() |
26 |
|
|
|
cursor = space.getCell(id) |
|
27 |
|
|
|
Win.initDims(space) |
|
28 |
|
|
29 |
ppactions.newNote(id, 100, 100, "WIgdqp") |
n1 = ppactions.newNote(id, 100, 100, "WIgdqp") |
30 |
ppactions.newNote(id, 100, 200, "Foog") |
ppactions.newNote(id, 100, 200, "Foog") |
|
|
|
31 |
ppactions.newNote(id, 0, 0, "Abksefvu21249") |
ppactions.newNote(id, 0, 0, "Abksefvu21249") |
32 |
|
|
33 |
|
np = ppactions.newPaper() |
34 |
|
n2 = ppactions.newNote(np, 50, 50, "blah") |
35 |
|
|
36 |
|
ppactions.assocNotes(n1, 1, n2) |
37 |
|
print "Assoc: ",n1,n2 |
38 |
|
|
39 |
|
cursor = [space.getCell(n1), space.getCell(n2)] |
40 |
|
|
41 |
clip = GLRen.createClipSquare() |
clip = GLRen.createClipSquare() |
42 |
stopclip = GLRen.createStopClipSquare() |
stopclip = GLRen.createStopClipSquare() |
43 |
|
|
49 |
|
|
50 |
class PlaneViewScene: |
class PlaneViewScene: |
51 |
def __init__(self): |
def __init__(self): |
|
self.pv = PlaneView(VobKeyer()) |
|
52 |
self.scale = 0.01 |
self.scale = 0.01 |
53 |
self.floatbuoys = 1 |
self.floatbuoys = 1 |
54 |
|
self.offset = (0,0) |
55 |
def scene(self, vs): |
def scene(self, vs): |
56 |
|
self.currentvs = vs |
57 |
dim = vs.getSize() |
dim = vs.getSize() |
58 |
|
|
59 |
ctr = (dim.width/2, dim.height/2) |
ctr = (dim.width/2, dim.height/2) |
62 |
(w,h) = 600, 600 |
(w,h) = 600, 600 |
63 |
|
|
64 |
r = 400 |
r = 400 |
65 |
bf = effects.CircleFloater4(vs, 0, ctr, r, (ctr[0]-r,ctr[1])) |
lbf = effects.CircleFloater4(vs, 0, ctr, r, (ctr[0]+r,ctr[1])) |
66 |
|
rbf = effects.CircleFloater4(vs, 0, ctr, r, (ctr[0]-r,ctr[1])) |
67 |
|
self.pv = PlaneView(VobKeyer(), lbf, rbf) |
68 |
|
|
69 |
vs.map.put(background((0.4,0.5,0.8))) |
vs.map.put(background((0.4,0.5,0.8))) |
70 |
# Viewport |
# Viewport |
71 |
self.cs1 = vs.coords.coordsys(0, 0, ctr[0]-w/2, ctr[1]-h/2, w, h) |
self.cs1 = vs.coords.coordsys(0, 0, ctr[0]-w/2, ctr[1]-h/2, w, h) |
72 |
# Paper to viewport |
# Paper to viewport |
73 |
self.cs2 = vs.coords.affineCoordsys(0, 0, 0, 0, self.scale, 0, 0, self.scale) |
self.cs2 = vs.coords.affineCoordsys(0, 0, 0, 0, 0, 0, 0, 0) |
74 |
|
self.sap() |
75 |
vs.matcher.add(self.cs1, "Global") |
vs.matcher.add(self.cs1, "Global") |
76 |
vs.matcher.add(self.cs2, "p") |
vs.matcher.add(self.cs2, "p") |
77 |
vs.map.put(clip, self.cs1) |
# vs.map.put(clip, self.cs1) |
78 |
if 1: |
self.pv.renderPaper(vs, cursor[0], -1, self.cs1, self.cs2, 1) |
|
self.pv.renderPaper(vs, cursor, -1, self.cs1, self.cs2, None, None) |
|
79 |
# vs.map.put(getDListNocoords("""Disable TEXTURE_2D""")) |
# vs.map.put(getDListNocoords("""Disable TEXTURE_2D""")) |
80 |
# vs.map.put(coloredQuad((1,0,0)), self.cs1) |
# vs.map.put(coloredQuad((1,0,0)), self.cs1) |
81 |
vs.map.put(stopclip, self.cs1) |
# vs.map.put(stopclip, self.cs1) |
|
|
|
|
into = vs.coords.concat(self.cs1, self.cs2) |
|
|
vs.matcher.add(into, "fouisesge") |
|
|
|
|
|
for a in anchors: |
|
|
anchor = vs.coords.coordsys(into, 0, a[1], a[2], 10, 20) |
|
|
|
|
|
if self.floatbuoys: |
|
|
flo = bf.buoyCoordsys(anchor, a[0]) |
|
|
else: |
|
|
flo = vs.coords.affineCoordsys(0, |
|
|
0, 0, 700*Math.random(), 1, 0, 0, 1) |
|
|
vs.matcher.add(flo, a[0]) |
|
|
(w,h) = (100,100) |
|
|
|
|
|
mag = vs.coords.coordsys(flo, -5, -w/2, -h/2, w, h) |
|
|
vs.matcher.addSub(flo, mag, "M") |
|
|
|
|
|
vs.map.put(coloredQuad((1,0,0)), mag) |
|
|
|
|
|
vs.map.put(getDListNocoords(""" |
|
|
Color 0 0 0 |
|
|
LineWidth 2 |
|
|
""")) |
|
82 |
|
|
|
vs.map.put(lineconn, anchor, flo) |
|
|
|
|
|
self.currentvs = vs |
|
83 |
def key(self, key): |
def key(self, key): |
84 |
if key == "f": |
if key == "c": |
85 |
self.floatbuoys = not self.floatbuoys |
rotatelist(cursor) |
86 |
def mouse(self, ev): |
def mouse(self, ev): |
87 |
if ev.getID() == ev.MOUSE_CLICKED: |
if ev.getID() == ev.MOUSE_CLICKED: |
88 |
pass |
pass |
89 |
elif ev.getID() == ev.MOUSE_PRESSED: |
elif ev.getID() == ev.MOUSE_PRESSED: |
90 |
self.press = (ev.getX(), ev.getY()) |
self.press = (ev.getX(), ev.getY()) |
91 |
self.pscale = self.scale |
self.pscale = self.scale |
92 |
|
self.poffset = self.offset |
93 |
|
self.but = ev.getModifiers() |
94 |
elif ev.getID() == ev.MOUSE_DRAGGED: |
elif ev.getID() == ev.MOUSE_DRAGGED: |
95 |
self.scale = self.pscale * math.exp((self.press[1] - ev.getY())/150.0) |
if self.but == MouseEvent.BUTTON3_MASK: |
96 |
self.currentvs.coords.setAffineParams(self.cs2, |
self.scale = self.pscale * math.exp( |
97 |
0, 0, 0, self.scale, 0, 0, self.scale) |
(self.press[1] - ev.getY())/150.0) |
98 |
replaceNewScene(self.currentvs) |
self.sap() |
99 |
AbstractUpdateManager.setNoAnimation() |
replaceNewScene(self.currentvs) |
100 |
AbstractUpdateManager.chg() |
AbstractUpdateManager.setNoAnimation() |
101 |
|
AbstractUpdateManager.chg() |
102 |
|
elif self.but == MouseEvent.BUTTON1_MASK: |
103 |
|
self.offset = ( |
104 |
|
self.poffset[0] - (ev.getX() - self.press[0]), |
105 |
|
self.poffset[1] - (ev.getY() - self.press[1]), |
106 |
|
) |
107 |
|
self.sap() |
108 |
|
replaceNewScene(self.currentvs) |
109 |
|
AbstractUpdateManager.setNoAnimation() |
110 |
|
AbstractUpdateManager.chg() |
111 |
|
def sap(self): |
112 |
|
self.currentvs.coords.setAffineParams(self.cs2, |
113 |
|
0, -self.scale*self.offset[0]+.5, |
114 |
|
-self.scale*self.offset[1]+.5, |
115 |
|
self.scale, 0, 0, self.scale) |
116 |
|
|
117 |
currentScene = PlaneViewScene() |
currentScene = PlaneViewScene() |