8 |
:Revision: $Revision$ |
:Revision: $Revision$ |
9 |
:Status: Incomplete |
:Status: Incomplete |
10 |
:Date-Created: 2002-11-05 |
:Date-Created: 2002-11-05 |
11 |
:Scope: Trivial |
:Scope: Minor |
12 |
:Type: Interface |
:Type: Feature |
13 |
|
|
14 |
``CoordSys::CullingCoordSys`` can be currently created through its interface |
``CullingCoordSys`` can be currently created through its interface |
15 |
in ``GLVobCoorder``. This peg is about making culling also as a part of |
in ``GLVobCoorder``. This peg is about making culling also as a part of |
16 |
general ``VobCoorder`` interface. |
general ``VobCoorder`` interface. |
17 |
|
|
|
Issues |
|
|
------ |
|
|
|
|
|
I don't know where ``VobCoorder`` has been currently implemented. This interface |
|
|
is already implemented in ``GLVobCoorder``, but of course after this generalization |
|
|
it should be implemented in every class implementing ``VobCoorder``. |
|
|
|
|
|
|
|
18 |
Changes |
Changes |
19 |
------- |
------- |
20 |
|
|
21 |
Into ``gzz.vob.VobCoorder`` add:: |
Into ``gzz.vob.VobCoorder`` add:: |
22 |
|
|
23 |
/** Creates a ``CoordSys::CullingCoordSys`` with distinct parent and |
/** Creates a CullingCoordSys with distinct parent and test |
24 |
* test coordinate systems. The ``CullingCoordSys`` works mainly as its |
* coordinate systems. The CullingCoordSys works mainly as its |
25 |
* parent ``CoordSys``. Although, it will be drawn always when the unit squares |
* parent CoordSys. Although, it will be drawn always when boxes |
26 |
* {(0,0), (1,1)} of the test and the clip ``CoordSys``es intersect. When |
* of its test and clip coordinate systems do intersect. When |
27 |
* the unit squares don't intersect, the ``CullingCoordSys`` should not be drawn. |
* the boxes don't intersect, the CullingCoordSys should not be drawn. |
28 |
* @param parent ID of the parent ``CoordSys``. |
* @param parent ID of the coordinate system which points which points |
29 |
* @param test ID of the test ``CoordSys``. |
* will be transformed, if CullingCoordSys is shown |
30 |
* @param clip ID of the clip ``CoordSys``. |
* @param test ID of the coordinate system which box is tested against |
31 |
|
* the clip coordinate system. |
32 |
|
* @param clip ID of the coordinate system which box is tested against |
33 |
|
* the test coordinate system. |
34 |
|
*/ |
35 |
public int cull(int parent, int test, int clip) { |
public int cull(int parent, int test, int clip) { |
36 |
} |
} |
37 |
|
|
38 |
/** Creates a ``CoordSys::CullingCoordSys`` using the parent also as |
/** Creates a CullingCoordSys using the parent also as the test |
39 |
* the test coordinate system. In practise, this could be only a shorthand, which |
* coordinate system. In practise, this could be only a shorthand, |
40 |
* returns a call cull(parent, parent, clip). |
* which returns a call cull(parent, parent, clip). |
|
* @param parent ID of the parent ``CoordSys``. |
|
|
* @param clip ID of the clip ``CoordSys``. |
|
41 |
*/ |
*/ |
42 |
public int cull(int parent, int clip) { |
public int cull(int parent, int clip) { |
43 |
} |
} |
44 |
|
|
45 |
|
After changing ``gzz.vob.VobCoorder`` these methods should be implemented |
46 |
|
in the following classes, because they inherit ``gzz.vob.VobCoorder`` |
47 |
|
(please, note that culling is already implemented in |
48 |
|
``gzz.gfx.gl.GLVobCoorder``): |
49 |
|
|
50 |
|
* ``gzz.vob.AffineVobCoorder`` |
51 |
|
|
52 |
|
* ``gzz.vob.impl.OrthoCoorder`` |
53 |
|
|