 |
Home | Changes | Index | Search | Go
Overview
This page describes a possible enhancement to Java 3D 1.5 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 |
where n is the nesting level (the number of ancestor VSG nodes in the scene graph path).
The default mode is 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.
Proposed API
New methods in existing classes:
ViewSpecificGroup
method: setViewSetOp(int op) // one of: INTERSECT, UNION, REPLACE
|