21 |
Into ``gzz.vob.VobCoorder`` add:: |
Into ``gzz.vob.VobCoorder`` add:: |
22 |
|
|
23 |
/** Creates a CullingCoordSys with distinct parent and test |
/** Creates a CullingCoordSys with distinct parent and test |
24 |
* coordinate systems. The CullingCoordSys works mainly as its |
* coordinate systems. Exluding the test for drawing, the |
25 |
* parent CoordSys. Although, it will be drawn always when boxes |
* CullingCoordSys works like its parent CoordSys. |
26 |
* of its test and clip coordinate systems do intersect. When |
* |
27 |
* the boxes don't intersect, the CullingCoordSys should not be |
* This coordsys will not necessarily be drawn if the boxes |
28 |
* drawn. |
* of the test and clip coordinate systems do not intersect. |
29 |
* @param parent ID of the coordinate system which points which |
* However, this is not guaranteed; the only thing guaranteed |
30 |
* points will be transformed, if CullingCoordSys |
* is that if the boxes of the test and clip coordinate systems |
31 |
|
* *do* intersect, the CullingCoordsys will be drawn. |
32 |
|
* |
33 |
|
* @param parent ID of the coordinate system which points |
34 |
|
* will be transformed, if CullingCoordSys |
35 |
* is shown |
* is shown |
36 |
* @param test ID of the coordinate system which box is tested |
* @param test ID of the coordinate system whose box is tested |
37 |
* against the clip coordinate system. |
* against the clip coordinate system. |
38 |
* @param clip ID of the coordinate system which box is tested |
* @param clip ID of the coordinate system whose box is tested |
39 |
* against the test coordinate system. |
* against the test coordinate system. |
40 |
*/ |
*/ |
41 |
public int cull(int parent, int test, int clip) { |
public int cull(int parent, int test, int clip) { |
42 |
} |
} |
43 |
|
|
44 |
/** Creates a CullingCoordSys using the parent also as the test |
/** Creates a CullingCoordSys using the parent also as the test |
45 |
* coordinate system. In practise, this could be only a shorthand, |
* coordinate system. |
|
* which returns a call cull(parent, parent, clip). |
|
46 |
*/ |
*/ |
47 |
public int cull(int parent, int clip) { |
public int cull(int parent, int clip) { |
48 |
|
cull(parent, parent, clip); |
49 |
} |
} |
|
|
|
|
After changing ``gzz.vob.VobCoorder`` these methods should also be |
|
|
implemented in all implementing classes, which inherit |
|
|
``gzz.vob.VobCoorder``. Because culling is already implemented in |
|
|
``gzz.gfx.gl.GLVobCoorder``, currently classes left seem to be: |
|
|
|
|
|
* ``gzz.vob.impl.OrthoCoorder`` |
|
|
|
|
|
**NOTE:** ``CullingCoordsys`` is currently implemented only on the |
|
|
C++ side, but ``OrthoCoorder`` is not allowed to use JNI. *Dummy* |
|
|
``CullingCoordSys`` can be implented on the Java side as |
|
|
``translate(parent, 0, 0)``. |
|