Home | History | Annotate | Download | only in scene
      1 package com.jme3.scene;
      2 
      3 /**
      4  * <code>SceneGraphVisitorAdapter</code> is used to traverse the scene
      5  * graph tree. The adapter version of the interface simply separates
      6  * between the {@link Geometry geometries} and the {@link Node nodes} by
      7  * supplying visit methods that take them.
      8  * Use by calling {@link Spatial#depthFirstTraversal(com.jme3.scene.SceneGraphVisitor) }
      9  * or {@link Spatial#breadthFirstTraversal(com.jme3.scene.SceneGraphVisitor)}.
     10  */
     11 public class SceneGraphVisitorAdapter implements SceneGraphVisitor {
     12 
     13     /**
     14      * Called when a {@link Geometry} is visited.
     15      *
     16      * @param geom The visited geometry
     17      */
     18     public void visit(Geometry geom) {}
     19 
     20     /**
     21      * Called when a {@link visit} is visited.
     22      *
     23      * @param geom The visited node
     24      */
     25     public void visit(Node geom) {}
     26 
     27     @Override
     28     public final void visit(Spatial spatial) {
     29         if (spatial instanceof Geometry) {
     30             visit((Geometry)spatial);
     31         } else {
     32             visit((Node)spatial);
     33         }
     34     }
     35 }
     36