package visad.java3d;
import visad.*;
import visad.data.CachedBufferedByteImage;

import javax.media.j3d.ImageComponent2D;
import javax.media.j3d.ImageComponent2D.Updater;
import javax.media.j3d.Behavior;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Switch;
import javax.media.j3d.BoundingSphere;

import javax.vecmath.Point3d;
import java.awt.image.*;
import java.awt.color.*;
import java.util.Enumeration;
import java.util.ArrayList;
import java.util.Iterator;
import javax.media.j3d.WakeupCriterion;
import javax.media.j3d.WakeupOnElapsedFrames;
import javax.media.j3d.WakeupOnElapsedTime;
import javax.media.j3d.WakeupOnBehaviorPost;


public class VisADImageNode {

   VisADImageTile[] images;
   public ArrayList imageTiles = new ArrayList(); 
   public int numChildren = 0;
   public BranchGroup branch;
   Switch swit;
   public int current_index = 0;

   public int numImages;
   public int data_width;
   public int data_height;

   AnimateBehavior animate = null; 

   public VisADImageNode() {
   }

   public VisADImageNode(BranchGroup branch, Switch swit) {
     this.branch = branch;
     this.swit = swit;
   }

   public void addTile(VisADImageTile tile) {
    imageTiles.add(tile);
    numChildren++;
   }

   public VisADImageTile getTile(int index) {
     return imageTiles.get(index);
   }

   public Iterator getTileIterator() {
     return imageTiles.iterator();
   }

   public int getNumTiles() {
     return numChildren;
   }

   /**
   //- for implementing Updater
   public void updateData(ImageComponent2D imageC2d, int x, int y, int lenx, int leny) {
     if (images != null) {
       //-imageComp.set(images[current_index]); // This should probably not be done in updateData
     }
   }
   **/


   public void setCurrent(int idx) {
     current_index = idx;

     //images[i].setCurrent(idx);
     for (int i=0; i 

Ads help maintain this website.