gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz/doc/pegboard 1009/PEG_1009.rst 1010/PEG_101...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz/doc/pegboard 1009/PEG_1009.rst 1010/PEG_101...
Date: Sun, 06 Oct 2002 13:24:00 -0400

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/10/06 13:24:00

Modified files:
        doc/pegboard/1009: PEG_1009.rst 
        doc/pegboard/1010: PEG_1010.rst 

Log message:
        answer

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/pegboard/1009/PEG_1009.rst.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/pegboard/1010/PEG_1010.rst.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: gzz/doc/pegboard/1009/PEG_1009.rst
diff -c gzz/doc/pegboard/1009/PEG_1009.rst:1.8 
gzz/doc/pegboard/1009/PEG_1009.rst:1.9
*** gzz/doc/pegboard/1009/PEG_1009.rst:1.8      Sun Oct  6 12:52:16 2002
--- gzz/doc/pegboard/1009/PEG_1009.rst  Sun Oct  6 13:24:00 2002
***************
*** 4,11 ****
  =============================================================
  
  :Authors:  Tuomas Lukka
! :Date:     $Date: 2002/10/06 16:52:16 $
! :Revision: $Revision: 1.8 $
  :Status:   Incomplete
  
  Transformations
--- 4,11 ----
  =============================================================
  
  :Authors:  Tuomas Lukka
! :Date:     $Date: 2002/10/06 17:24:00 $
! :Revision: $Revision: 1.9 $
  :Status:   Incomplete
  
  Transformations
***************
*** 44,72 ****
              layout, because *the aspect ratio changes*, as I have said above.
              You *cannot* assume that you can scale below the view level in 
AWT.
  
  And into AffineVobCoorder the following functions::
  
      int rotate(int into, float degrees);
-     int rotate3D(int into, float degrees, float x, float y, float z) ;
      int scale(int into, float x, float y, float z);
  
  .. IMPORTANT::
      Should we add default implementation of rotate?
  
- .. IMPORTANT::
-     Should rotate3D really be there? It extends the capabilities?
-     Should there be a third interface, ThreeDCoorder?
-     Or leave it into GLVobCoorder for now, like distort?
-     
-     (Benja says:) What would rotate3D be for? In our 2 1/2 D world, the z axis
-     is really different from x and y...
- 
-       (Tjl:) Well, have you looked at fillets demo? We don't always
-       want to keep in a 2 1/2 D world. Sometimes 3D is nice.
-       But maybe best to leave it to GLVobCoorder.
-         
-             (Benja:) Ok.
- 
  Also, for all these functions, we should have a shorthand
  in VobScene:
  
--- 44,61 ----
              layout, because *the aspect ratio changes*, as I have said above.
              You *cannot* assume that you can scale below the view level in 
AWT.
  
+               (Tjl:) I didn't make my point clear. We *can* do this,
+               if we ask, at vobscene construction time,
+               how tall a given cs will be. 
+ 
  And into AffineVobCoorder the following functions::
  
      int rotate(int into, float degrees);
      int scale(int into, float x, float y, float z);
  
  .. IMPORTANT::
      Should we add default implementation of rotate?
  
  Also, for all these functions, we should have a shorthand
  in VobScene:
  
***************
*** 74,105 ****
  
  just to make it a little easier to say them.
  
-     (Benja:) How about just ``translate``?
-       
-       (Tjl:) Want to make sure it's not interpreted as "translate this 
vobscene".
-         
-             (Benja:) Hmmm... ok... ``translateCS`` just seems hard to write.
- 
  For the affine ones, the VobCoorder is cast into AffineVobCoorder, and
! the error propagated if it's not.
! 
!     (Benja:) Not sure about error propagation: we need to make sure
!     that we can catch the error at a high level and look at it and
!     be *sure* that the reason for it is that one view needs an
!     ``AffineVobCoorder``, and we also need to know which view, so
!     that we can give a reasonable error message to the user. (This
!     is the direction into which we need to be moving... because this
!     is not a programming error when it happens, it is that a view
!     is used in an environment it wasn't programmed for, which may
!     happen in a production system.)
! 
!       (Tjl:) How about UnsupportedOperationException? Hmm..
!       or a subclass of that, NotAffineCoorder
!         
!             (Benja:) Subclass, because a) we need to store the view in
!             the exception, and b) ``UnsupportedOperationException`` is
!             raised by *many* things, not safe to use at all.
! 
  
  Transforming points into coordinate systems
  -------------------------------------------
--- 63,73 ----
  
  just to make it a little easier to say them.
  
  For the affine ones, the VobCoorder is cast into AffineVobCoorder, and
! the error propagated if it's not. A direct cast is not permitted;
! the functions must check ``instanceof`` and then throw
! NotAffineVobCoorderException, which is a subclass of
! UnsupportedOperationException.
  
  Transforming points into coordinate systems
  -------------------------------------------
***************
*** 116,139 ****
  
      /** Transform one or more points from screen to given CS.
       *  Each point is represented as three values (x,y,z) in pt[].
!      * @return True, if a reasonable inverse was found.
       */
      public boolean inverseTransformPoints3(int withCS, float[] pt, 
float[]into) ;
  
  At the same time, remove VobCoorder.getRenderInfo as unnecessary.
- 
-     (Benja:) I think ``inverseTransformPoints3`` should raise an exception
-     if no reasonable inverse can be found.
- 
-       (Tjl:) One that requires catch() or one that doesn't?
-       I don't really like the exception either way: a pseudoinverse
-       (closest to real inverse) can be well-defined.
-         
-             (Benja:) Hm. So is the method supposed to return ``true``
-             if the inverse that was found is real? Then need to change
-             javadoc: a pseudoinverse is "reasonable" IMHO. On the other
-             hand, if there are cases where no usable inverse can be found,
-             we need the exception (not sure which type).
  
  The reason for allowing the array ``pt[]`` to contain several points is
  simply performance.
--- 84,98 ----
  
      /** Transform one or more points from screen to given CS.
       *  Each point is represented as three values (x,y,z) in pt[].
!      * @return True, if a reasonably accurate inverse was found.
!      * If an inverse cannot be found, a reasonable attempt shall
!      * be made to give a point close (e.g. if an affine transform
!      * is singular / near-singular, pick a point on the line
!      * that's close to the original.
       */
      public boolean inverseTransformPoints3(int withCS, float[] pt, 
float[]into) ;
  
  At the same time, remove VobCoorder.getRenderInfo as unnecessary.
  
  The reason for allowing the array ``pt[]`` to contain several points is
  simply performance.
Index: gzz/doc/pegboard/1010/PEG_1010.rst
diff -c gzz/doc/pegboard/1010/PEG_1010.rst:1.2 
gzz/doc/pegboard/1010/PEG_1010.rst:1.3
*** gzz/doc/pegboard/1010/PEG_1010.rst:1.2      Sun Oct  6 12:44:05 2002
--- gzz/doc/pegboard/1010/PEG_1010.rst  Sun Oct  6 13:24:00 2002
***************
*** 3,10 ****
  =============================================================
  
  :Authors:  Tuomas Lukka
! :Date:     $Date: 2002/10/06 16:44:05 $
! :Revision: $Revision: 1.2 $
  :Status:   Incomplete
  
  Main benefits
--- 3,10 ----
  =============================================================
  
  :Authors:  Tuomas Lukka
! :Date:     $Date: 2002/10/06 17:24:00 $
! :Revision: $Revision: 1.3 $
  :Status:   Incomplete
  
  Main benefits
***************
*** 25,37 ****
  Coordinate system type
      E.g. "affine", "rotation", "fisheye", "buoytrans".
      
-         (Benja:) "buoytrans"?
  
  Derived coordinate system type
      A coordinate system type whose possible transformations
      are a subset of another coordinate system type's transformations,
      implemented internally by generating a set of parameters
      for the parent type.
      
          (Benja:) Example? Is rotation derived from affine?
  
--- 25,40 ----
  Coordinate system type
      E.g. "affine", "rotation", "fisheye", "buoytrans".
      
  
  Derived coordinate system type
      A coordinate system type whose possible transformations
      are a subset of another coordinate system type's transformations,
      implemented internally by generating a set of parameters
      for the parent type.
+ 
+     For example, the buoytrans coordinate system, which is
+     a translation to the location where the buoy should be,
+     based on a 
      
          (Benja:) Example? Is rotation derived from affine?
  




reply via email to

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