This page describes a possible enhancement to Java 3D 1.4 to allow the application to specify the operation used to compute the set of views for nested ViewSpecificGroup (VSG) nodes. Currently, the set of views used to render descendants of nested VSG nodes is the intersection of the set of views inherited from its parent(s) and the set of views specified in the child VSG node. We propose to add an attribute to VSG such that the resulting set of views is either as the intersection or the union of the set of views inherited from its parent(s) and the set of views specified in the child VSG node, or simply the set of views specified in the child VSG node. More formally, we plan to define three modes as follows:
INTERSECT |
: |
viewSet[n]
=
viewSet[n-1] ∩ VSG[n].viewSet |
UNION |
: |
viewSet[n]
=
viewSet[n-1] ∪ VSG[n].viewSet |
REPLACE |
: |
viewSet[n]
=
VSG[n].viewSet |
n
is the nesting level (the number of ancestor VSG
nodes in the
scene graph path).INTERSECT
.
Note that the set of views used to render descendants of a top-level
VSG node (that is, a VSG node that is not itself a descendant of
another VSG node) is the set of views specified in the VSG node,
regardless of the mode. More
formally: viewSet[0] = VSG[0].viewSet
for all
values of viewSetOp
.
The proposed API is:
ViewSpecificGroup
method: setViewSetOp(int op) // one of: INTERSECT, UNION, REPLACE
Page last updated — $Date$