org.xith3d.scenegraph
Interface SpecialCullingNode<N extends Node>

All Known Implementing Classes:
OcTreeGroup, QuadTreeGroup

public interface SpecialCullingNode<N extends Node>

This interface must be implemented by Nodes, that need a special culling algorithm. Typically thiese are QuadTreeGroups, OcTreeGroups or Cells.


Method Summary
 void cullSpecialNode(N node, boolean cullingSuppressed, View view, org.openmali.vecmath2.Point3f viewPosition, org.openmali.spatial.bodies.Frustum frustum, RenderBinProvider binProvider, OpenGLCapabilities glCaps, long frameId, long nanoTime, long nanoStep, PickRay pickRay, boolean isShadowPass, FrustumCuller frustumCuller)
          Thsi method is called by the FrustumCuller, if an instance of SpecialCullingNode is detected.
 

Method Detail

cullSpecialNode

void cullSpecialNode(N node,
                     boolean cullingSuppressed,
                     View view,
                     org.openmali.vecmath2.Point3f viewPosition,
                     org.openmali.spatial.bodies.Frustum frustum,
                     RenderBinProvider binProvider,
                     OpenGLCapabilities glCaps,
                     long frameId,
                     long nanoTime,
                     long nanoStep,
                     PickRay pickRay,
                     boolean isShadowPass,
                     FrustumCuller frustumCuller)
Thsi method is called by the FrustumCuller, if an instance of SpecialCullingNode is detected. The implementation must traverse the individual structure of this node and call the FrustumCuller's FrustumCuller.cullNodeAtoms(Node, org.openmali.spatial.bodies.Classifier.Classification, boolean, View, Point3f, Frustum, RenderBinProvider, OpenGLCapabilities, long, long, long, PickRay, boolean) method.

Parameters:
node - the node to be culled
cullingSuppressed -
view -
viewPosition -
frustum -
binProvider -
glCaps -
frameId -
nanoTime -
nanoStep -
pickRay - if this is not null, it is a pick-culling
isShadowPass -
frustumCuller - the FrustumCuller instance to call the FrustumCuller.cullNodeAtoms(Node, org.openmali.spatial.bodies.Classifier.Classification, boolean, View, Point3f, Frustum, RenderBinProvider, OpenGLCapabilities, long, long, long, PickRay, boolean) method on for each Node to be further traversed