de.grogra.imp3d.objects
public abstract class SceneTreeWithShader extends SceneTree
SceneTree and keeps track of the current
shader and interior. These additional parameters are stored in the
corresponding fields of the Leaf class.| Modifier and Type | Class and Description |
|---|---|
static class |
SceneTreeWithShader.Leaf
This subclass of
SceneTree.Leaf stores the shader
and interior which are associated with the object of the leaf. |
SceneTree.InnerNode, SceneTree.Node, SceneTree.Visitor| Constructor and Description |
|---|
SceneTreeWithShader(GraphState gs,
EdgePattern pattern) |
SceneTreeWithShader(View3D scene) |
| Modifier and Type | Method and Description |
|---|---|
protected Interior |
getCurrentInterior() |
protected Shader |
getCurrentShader() |
protected void |
init(SceneTree.Leaf leaf)
This method has to be invoked whenever a new
SceneTree.Leaf is created
as a leaf of this tree. |
protected Shader |
resolveShader(Shader shader) |
boolean |
visitLeave(java.lang.Object o,
Path path,
boolean node)
Informs this visitor that a node or an edge has been processed
completely.
|
accept, acceptLeaf, addTreeModelListener, createInnerNode, createLeaf, createTree, createTree, getChild, getChildCount, getGraphState, getIndexOfChild, getRoot, isLeaf, removeTreeModelListener, valueForPathChanged, visitEnter, visitInstanceEnter, visitInstanceLeavepublic SceneTreeWithShader(GraphState gs, EdgePattern pattern)
public SceneTreeWithShader(View3D scene)
protected Interior getCurrentInterior()
protected Shader getCurrentShader()
protected void init(SceneTree.Leaf leaf)
SceneTreeSceneTree.Leaf is created
as a leaf of this tree. The tree may perform some initialization tasks
on the leaf.public boolean visitLeave(java.lang.Object o,
Path path,
boolean node)
Visitoro is the return value
of the corresponding invocation of Visitor.visitEnter(de.grogra.graph.Path, boolean).
In case of a node and if this invocation returns false, no further
edges of the current level of hierarchy will be passed to this
visitor, i.e., the visitLeave methods for the enclosing
edge and node will be invoked immediately.
Likewise, in case of an edge and a return value false, no further
instantiations or edges of the current level of hierarchy
will be passed to this
visitor, i.e., the visitLeave method for the enclosing
node will be invoked immediately.visitLeave in interface VisitorvisitLeave in class SceneTreeo - returned value of visitEnterpath - current path to nodenode - do we leave a node or an edge?true iff processing of current level shall be continued