[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ff-cvs] libvob doc/pegboard/vobscene_recursion--tjl/peg...
From: |
Tuomas J. Lukka |
Subject: |
[ff-cvs] libvob doc/pegboard/vobscene_recursion--tjl/peg... |
Date: |
Sun, 14 Sep 2003 04:57:21 -0400 |
CVSROOT: /cvsroot/libvob
Module name: libvob
Branch:
Changes by: Tuomas J. Lukka <address@hidden> 03/09/14 04:57:21
Modified files:
doc/pegboard/vobscene_recursion--tjl: peg.rst
org/nongnu/libvob/impl/gl: GLVobMap.java
vob/putil : demo.py
Log message:
Arch sync
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/org/nongnu/libvob/impl/gl/GLVobMap.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/vob/putil/demo.py.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
Patches:
Index: libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst
diff -u libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst:1.7
libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst:1.8
--- libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst:1.7 Wed Aug 6
12:27:43 2003
+++ libvob/doc/pegboard/vobscene_recursion--tjl/peg.rst Sun Sep 14 04:57:20 2003
@@ -3,11 +3,12 @@
=============================================================
:Author: Tuomas J. Lukka
-:Last-Modified: $Date: 2003/08/06 16:27:43 $
-:Revision: $Revision: 1.7 $
+:Last-Modified: $Date: 2003/09/14 08:57:20 $
+:Revision: $Revision: 1.8 $
:Status: Current
-Performance problems in PP show that we should soon make a big
+Performance problems in FenPDF as well as running out
+of coordinate systems show that we should soon make a big
change I've been mulling over for some time: make vobscenes
hierarchical.
@@ -24,7 +25,8 @@
This is also because of interpolation: placing the "VobSceneVob"
into the parent must have a key to allow interpolation *inside*
- the VobSceneVob. Therefore, it cannot be called a Vob.
+ a VobSceneVob. Therefore, it cannot be called a Vob. (This feature
+ will be implemented only in the future)
In fact, it seems that we should support placing VobScenes directly.
@@ -37,13 +39,13 @@
Therefore, the time should be linear w.r.t. the **rendered**
coordsystems of the child, but constant w.r.t. child size. This makes
- life a bit more difficult internally (can't just copy a list) but
- should be well worth it e.g. for FenPDF.
+ life a bit more difficult internally (can't just copy a list, have
+ to point to it) but should be well worth it e.g. for FenPDF.
- How do we map between coordinate systems of the parent and child vobscenes?
- RESOLVED: By explicitly creating a coordinate system in the parent
- corresponding to a coordinate system in the child by a special method.
+ RESOLVED: By a special method in the parent that returns a coordsys
+ corresponding to a coordinate system in the child.
- Are modifications to child vobscenes allowed?
@@ -59,7 +61,8 @@
RESOLVED: Yes. Even for the primitive use case outlined above,
we need two: the canvas and the viewport coordinate systems.
-- How generally do we need to define the coordinate systems of the child?
+- How generally do we need to define the coordinate systems
+ inside the child (the ones passed to the child as "parameters")?
Alternatives: *n* from the beginning, or "random access" for
redefining any coordinate systems of the child we like.
@@ -74,51 +77,46 @@
It is recommended that a class with constants is created to
number the initial coordinate systems, for ease of access.
-- Should the child vobscene define the number of coordsys
- in the beginning to replace with coordsys from the parent?
-
- RESOLVED: Yes. This makes it easier to use the Vob interface.
- This is true for all VobScenes - the change of root vs unit below
- raises the number from 1 to 2 for all vobscenes. This should be
- a parameter.
-
- We shall not define the default to be 2 but 2 or greater, for now -
- we may want more than the 2 later on..
-
- What about coordinate system 0? Should it be special in the child
and always correspond to cs 0 of the parent (i.e. unit transformation)?
This is made problematic by the twim roles of coordinate system 0:
on the one hand, it's the "root" coordinate system,
on the other hand, it's the "no transofrmation" coordinate system.
- RESOLVED: It should be special. However, we should start a new
- convention: coordinate system **1** is the "root" coordinate system,
- and **0** remains the "identity" coordinate system.
+ RESOLVED: It should not be special.
+
+ However, we should start a new convention: coordinate system **1**
+ is the "root" coordinate system, and **0** remains the "identity"
+ coordinate system.
- The unit box of CS 1 is set to screen size, while the unit box
+ The box size of CS 1 is set to screen size, while the box size
of CS 0 is (1,1)
- The semantics of 0 and 1 for child VobScenes are chosen by the
- programmer, and the programmer can even specify 0 or 1 reserved
- coordinate systems. Such VobScenes cannot be used for normal
- rendering without being inserted to a parent, though.
+ The semantics of 0 and 1 for child VobScenes are chosen
+ by the programmer, and the programmer can even specify 0 or 1 reserved
+ coordinate systems.
+
+ It is **strongly** recommended that coordsyses 0 at the very least,
+ and possibly 1 be used as per the convention for child coordinate
+ systems as code may rely on those.
-- How do we get the coordinate systems into the child vobscene?
+- How do we place the child vobscene and choose the vobscenes?
RESOLVED: A special call in VobScene, since the child vobscene
needs a *key* from the parent coordinate system, to allow
- interpolation..
+ interpolation (not implemented now).
- Matching between different versions of a coordinate system?
- RESOLVED: Yes, as described above.
+ RESOLVED: Later.
- Is a normal VobScene usable as a child vobscene? Or do we need special
operations?
- RESOLVED: No, it should not be usable. Too much overhead and difficulties.
- The correct way
- is to create a VobScene by the
+ RESOLVED: No, it should not be usable.
+ Too much overhead and difficulties.
+
+ The correct way is to create a child VobScene by the
``GraphicsAPI.RenderingSurface.createChildVobScene(int reserveCS)``
call.
@@ -144,12 +142,23 @@
Extend ``VobScene`` by
- /** Create a new vobscenevob from the given VobScene.
+ /** Place the given VobScene as a child.
* The given VobScene must not be modified after this call.
- * @param scene The VobScene
+ * @param child The child VobScene to place. Child vobscenes
+ * need to be created especially, through
+ * RenderingSurface.createChildVobScene
+ * @param key The key to use
*/
public void putChildVobScene(VobScene child, Object key, int[] cs);
+And correspondingly VobCoorder and VobPlacer by
+
+ public int _putChildVobScene(VobScene child, int[] cs)
+
+(the VobScene method shall call both; the underscore means that
+they should not be called by users).
+
+The key shall be passed to VobMatcher in the normal way.
VobScene methods
----------------
Index: libvob/org/nongnu/libvob/impl/gl/GLVobMap.java
diff -u libvob/org/nongnu/libvob/impl/gl/GLVobMap.java:1.3
libvob/org/nongnu/libvob/impl/gl/GLVobMap.java:1.4
--- libvob/org/nongnu/libvob/impl/gl/GLVobMap.java:1.3 Wed Sep 10 09:40:53 2003
+++ libvob/org/nongnu/libvob/impl/gl/GLVobMap.java Sun Sep 14 04:57:20 2003
@@ -52,10 +52,10 @@
int nvobs;
public void clear() {
- list = new int[10000];
+ list = new int[20000];
curs = 0;
- cs = new int[10000];
- vobs = new Vob[10000];
+ cs = new int[20000];
+ vobs = new Vob[20000];
nvobs = 0;
}
Index: libvob/vob/putil/demo.py
diff -u libvob/vob/putil/demo.py:1.23 libvob/vob/putil/demo.py:1.24
--- libvob/vob/putil/demo.py:1.23 Wed Sep 10 08:48:43 2003
+++ libvob/vob/putil/demo.py Sun Sep 14 04:57:20 2003
@@ -193,7 +193,7 @@
class Bindings(vob.AbstractBinder):
def keystroke(self, s):
global showHelp, currentScene
- print "KEY: '%s'"%s
+ # print "KEY: '%s'"%s
if usingNormalBindings:
if s == "q" or s == "Q" or s == "Ctrl-Q":
System.exit(43)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [ff-cvs] libvob doc/pegboard/vobscene_recursion--tjl/peg...,
Tuomas J. Lukka <=