import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GraphicsConfiguration; import java.awt.GridLayout; import java.awt.event.*; import java.awt.*; import java.util.Vector; import javax.media.j3d.*; import javax.media.j3d.Alpha; import javax.media.j3d.Appearance; import javax.media.j3d.BoundingSphere; import javax.media.j3d.BranchGroup; import javax.media.j3d.Canvas3D; import javax.media.j3d.ColoringAttributes; import javax.media.j3d.RotationInterpolator; import javax.media.j3d.Transform3D; import javax.media.j3d.TransformGroup; import javax.swing.*; import javax.vecmath.*; import com.sun.j3d.utils.behaviors.vp.OrbitBehavior; import com.sun.j3d.utils.geometry.*; import com.sun.j3d.utils.geometry.Box; import com.sun.j3d.utils.universe.SimpleUniverse; import com.sun.j3d.utils.universe.ViewingPlatform; import java.applet.Applet; public class ZSBScreen extends JPanel { public Vector graphs = new Vector(); public SimpleUniverse u; public DHJoint j; public JPanel controller; /** * * @param s */ public String addJointLine(String s) { DHJoint joint = new DHJoint(s); if (this.j == null) { this.j = joint; } else { this.j.addToEnd(joint); } return joint.toString(); } public void setBranchGroup(BranchGroup bg) { this.removeAllBranchGroups(); this.addBranchGroup(bg); } public void addBranchGroup(BranchGroup bg) { this.graphs.add(bg); this.u.addBranchGraph(bg); } public void removeAllBranchGroups() { BranchGroup traverse; for (int i=0;i