/**
  * Initialize this state prior to its 1st update.
  *
  * @param stateManager (not null)
  * @param application attaching application (not null)
  */
 @Override
 public void initialize(AppStateManager stateManager, Application application) {
   super.initialize(stateManager, application);
   /*
    * Name the camera in order to ease debugging.
    */
   cam.setName("default camera");
 }
 /**
  * Update this slot before each render.
  *
  * @param renderManager (not null)
  */
 @Override
 public void render(RenderManager renderManager) {
   super.render(renderManager);
   /*
    * Update logical state here, where we can be sure all controls
    * have been updated.
    */
   for (Spatial node : viewPort.getScenes()) {
     /*
      * The logical state of the default root node is
      * updated by SimpleApplication.update().
      */
     if (node != rootNode && node != null) {
       node.updateLogicalState(updateInterval);
       node.updateGeometricState();
     }
   }
 }
 /**
  * Update this slot before each render.
  *
  * @param elapsedTime since previous frame/update (in seconds, ≥0)
  */
 @Override
 public void update(float elapsedTime) {
   super.update(elapsedTime);
   updateInterval = elapsedTime;
 }