gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] libvob/doc design_C.rst design_transforms.rst d...


From: Tuomas J. Lukka
Subject: [Gzz-commits] libvob/doc design_C.rst design_transforms.rst d...
Date: Fri, 02 May 2003 12:46:59 -0400

CVSROOT:        /cvsroot/libvob
Module name:    libvob
Changes by:     Tuomas J. Lukka <address@hidden>        03/05/02 12:46:59

Modified files:
        doc            : design_C.rst design_transforms.rst 
                         design_vobs.rst 

Log message:
        Start doccing for mudyc

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/doc/design_C.rst.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/doc/design_transforms.rst.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/doc/design_vobs.rst.diff?tr1=1.1&tr2=1.2&r1=text&r2=text

Patches:
Index: libvob/doc/design_C.rst
diff -u libvob/doc/design_C.rst:1.1 libvob/doc/design_C.rst:1.2
--- libvob/doc/design_C.rst:1.1 Mon Feb 24 06:33:14 2003
+++ libvob/doc/design_C.rst     Fri May  2 12:46:59 2003
@@ -13,7 +13,7 @@
 
     package TransformInterfaces
 
-    package Transforms
+    package TransformsImpl
        use TransformInterfaces
 
     package VobInterfaces
@@ -30,7 +30,7 @@
 
     TransformInterfaces.c = (0,0);
 
-    Transforms.c = (-100, 100);
+    TransformsImpl.c = (-100, 100);
     VobInterfaces.c = (100, 40);
 
     VobSceneImpl.c = (0, 150);
@@ -39,6 +39,35 @@
 This way the relationships between the different
 aspects of the system go through well-defined
 interfaces in the packages TransformInterfaces and VobInterfaces.
+
+Interfaces
+==========
+
+The transform interfaces and vob interfaces are relatively simple,
+defined in the include files ``vob/Transform.hxx`` and ``vob/Vob.hxx``.
+
+XXX humppake show how to make bidir links to the Doc++ docs of those here!
+
+The central interfaces on the C side are ``Vob`` and
+``Transform``, corresponding to the Java side Vob design.
+
+.. UML-refer: vobs_overall_2
+
+In C++, however, transforms are *real* classes since the overhead
+is not significant.
+
+Implementations: Code Generation
+================================
+
+The TransformsImpl and VobImpl packages in the above diagram are a different
+story: in order to support extensibility and multiple language bindings,
+we rely on code generation and templates to create the glue code
+from a simple definition of the actual functionality.
+
+The details of creating each type of class are documented
+separately (design_vobs, design_transforms)
+
+XXX humppake: bidir link?
 
 A basic concept is the PrimitiveTransform, which is a simple
 parametrized function of points to points.
Index: libvob/doc/design_transforms.rst
diff -u libvob/doc/design_transforms.rst:1.1 
libvob/doc/design_transforms.rst:1.2
--- libvob/doc/design_transforms.rst:1.1        Wed Feb 26 07:19:48 2003
+++ libvob/doc/design_transforms.rst    Fri May  2 12:46:59 2003
@@ -32,3 +32,6 @@
 ``BoxPrimitiveTransform``
     The transform sets the size of the output box.
 
+XXX tjl
+
+    - examples
Index: libvob/doc/design_vobs.rst
diff -u libvob/doc/design_vobs.rst:1.1 libvob/doc/design_vobs.rst:1.2
--- libvob/doc/design_vobs.rst:1.1      Thu Feb 27 05:18:22 2003
+++ libvob/doc/design_vobs.rst  Fri May  2 12:46:59 2003
@@ -3,18 +3,19 @@
 ===================================
 
 The Vob templates were not an easy design:
-the previous approach in ``gfx/librenderables/renderables.py`` was
-not at all optimal, due to the syntactic complexities.
+the previous approach in Gzz's ``gfx/librenderables/renderables.py`` was
+not at all optimal, due to the syntactic complexities and the single point
+of generation.
 
 The ideal requirements for the template design were:
 
-- Pure C++ templates and possibly some preprocessor macros
+- Pure C++ templates (possibly some preprocessor macros)
 
 - Author of Vob type should not have to type a list of assignments
   to the members - at most a single list of parameter names.
 
 - Should be able to avoid the extra assignments and initialize
-  vob members directly.
+  vob members directly from the parameters passed from Java.
 
 To my surprise, there was a solution. The basic Vob definition
 would be ::




reply via email to

[Prev in Thread] Current Thread [Next in Thread]