fix race condition by Michael J Gruber
[PyX/mjg.git] / design / protokoll-entwicklertreffen-april-2004.txt
blob9721f685cfe646b6660736ebef5fe522290f1998
1 Pfade (epsilon):
2 ----------------
4 Als Argumente von findsubpath werden auch tupel zugelassen, die ein
5 integer + den Parameter (die Länge) für den entsprechenden subnormpath
6 enthalten.[DONE]
8 Normpfad hat kein epsilon mehr, die findsubpath methode macht keine
9 Annahmen über ein epsilon mehr (Achtung: nicht vor den ersten und nach
10 den letzten laufen). [DONE]
12 Auch der Subnormpfad schleift zunächst ungültige Parameter und
13 Längenwerte durch. [DONE]
15 Was die Normpfadelemente machen, wenn sie ausserhalb ihres
16 Parameterbereichs aufgerufen werden, ist strittig: es gibt zwei
17 Möglichkeiten:
19 m-schindler) cut der Parameter auf den gültigen Bereich, ohne sonstige
20              Fehlermeldungen etc.
21 wobsta) ignorieren, d.h. es kommen Positionen raus, die ausserhalb des
22         Parameterbereichs liegen
24 Wir haben vor, das auf pyx-devel zur Diskussion zu stellen. Wer
25 schreibt eine erste Version des Postings?
27 wobsta rules [DONE]
29 Es gibt keine leeren Subpfade. [Nein. Bessere Lösung gefunden, DONE]
31 Append kann nur einen Subnormpfad anfügen, man könnte auch ein Extent
32 haben. [beides DONE]
34 Append und Extend sollte es auch innerhalb des subnormpfads geben.
35 Diese Methoden sollten blöd sein. Es sollte eine close-methode geben,
36 die auch die schliessende Linie sicherstellt. [Methoden sind jetzt nicht blöd,
37 aber ansonsten DONE]
39 module deform:
40 --------------
42 enthält smooth, cycloid, ..., basisklasse deformer
43 class deformer:
44     def deform(self, path):
45         return xxx(path)
47 deformer ändern einen Pfad, sind auch als Parameter innerhalb einer
48 attr-Liste (in draw etc.) möglich, werden dann zu Beginn ausgeführt.
50 module deco:
51 ------------
53 Path wird zum füllen verwendet, Segemente dieses Pfades werden zum
54 stroken verwendet. Es gibt fillstyles und strokestyles (können jeweils
55 None sein). Der Pfad (zum Stroken) kann verkürzt oder Lücken haben.
56 Dazu muss eine "lasse aus" methode skipstroke geben, die eine Liste
57 von tupeln kriegt, die die Intervalle angibt, die auszulassen sind. Es
58 gibt zusätzlich eine subcanvas "ornaments", der ganz am Ende eingefügt
59 wird. (für Pfeile, Beschriftungen, etc.)
61 [DONE]
63 Umbenennungen:
64 --------------
66 pathel -> pathitem [DONE]
67 PSCmd, PSOp -> canvasitem [DONE]
69 module deform:
70 --------------
72 bekommt eine Funktion bezierfromendpoints, die das bisherige
73 onebezierfrompathels ersetzt. Hier keine Vorzeichenbehandlung.
74 Vorzeichen der Krümmung ist durch Skalarprodukt von Krümmungsradius
75 und Verbindungsvektor beeinflusst.
77 Casp: Gleichungssystem für (x,y)(t) der Punkte mit Abstand r von der
78 bisherigen Bezier. Dann kleinester Krümmungsradius t_krit und
79 (x,y)(t1)=(x,y)(t2) mit t1<t_krit<t2 bestimmen. Globales bereinigen
80 durch Schnittpunkte zwischen Pfadelementen ...