de.grogra.imp3d.glsl
Class GLSLUpdateCache

java.lang.Object
  extended by de.grogra.imp3d.Visitor3D
      extended by de.grogra.imp3d.DisplayVisitor
          extended by de.grogra.imp3d.glsl.GLDisplay.GLVisitor
              extended by de.grogra.imp3d.glsl.GLSLUpdateCache
All Implemented Interfaces:
Visitor

public class GLSLUpdateCache
extends GLDisplay.GLVisitor

GLSLUpdateCache is an Implementation of GLDisplay.GLVisitor. This visitor is used to traverse a Scene Graph. For each node it visits a reference is saved effectively transforming the graph into multiple arrays of graph-nodes. The nodes are sorted by their type into transparent material, solid material, tools labels and lightsources.

Author:
Konni Hartmann

Field Summary
 
Fields inherited from class de.grogra.imp3d.DisplayVisitor
lastEntered, lastEnteredIsNode
 
Fields inherited from class de.grogra.imp3d.Visitor3D
layer, state, transformation
 
Fields inherited from interface de.grogra.graph.Visitor
STOP
 
Constructor Summary
GLSLUpdateCache(GLSLDisplay disp)
          Constructor for GLSLUpdateCache.
 
Method Summary
 int getAll()
           
 int getRend()
           
 void init(GraphState gs, Matrix4d t, int minPathLength)
          Initializes the visitor for visiting a graph.
 void setCurrentTransformation(Matrix4d t)
           
protected  void visitImpl(java.lang.Object object, boolean asNode, Shader s, Path path)
           
 
Methods inherited from class de.grogra.imp3d.glsl.GLDisplay.GLVisitor
init
 
Methods inherited from class de.grogra.imp3d.DisplayVisitor
getCurrentShader, init, isInVisibleLayer, resolveShader, visitEnterImpl, visitLeaveImpl
 
Methods inherited from class de.grogra.imp3d.Visitor3D
getCurrentTransformation, getGraphState, init, visitEnter, visitEnter, visitInstanceEnter, visitInstanceLeave, visitLeave
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GLSLUpdateCache

public GLSLUpdateCache(GLSLDisplay disp)
Constructor for GLSLUpdateCache. This is used to store a reference to the GLSLDisplay using this visitor. A reference is needed to gain access to the OpenGLState and the current Rendergraph-State

Parameters:
disp - The Display using this Visitor
Method Detail

getAll

public int getAll()
Returns:
The number of all nodes visited during graph traversal.

getRend

public int getRend()
Returns:
The number of renderable nodes found while traversing the graph

init

public void init(GraphState gs,
                 Matrix4d t,
                 int minPathLength)
Initializes the visitor for visiting a graph. This stores the inverse of the current WorldToView matrix.

Parameters:
gs -
t -
minPathLength -
See Also:
DisplayVisitor.init(GraphState, Matrix4d, de.grogra.imp3d.ViewConfig3D, boolean)

setCurrentTransformation

public void setCurrentTransformation(Matrix4d t)
Parameters:
t -

visitImpl

protected void visitImpl(java.lang.Object object,
                         boolean asNode,
                         Shader s,
                         Path path)
Overrides:
visitImpl in class GLDisplay.GLVisitor