1 /* -------------------------------------------------------------------
2 * Java source file for the class SeekableRenderer
3 *
4 * Copyright (c), 2003, Masahiro Takatsuka.
5 * All Rights Researved.
6 *
7 * Original Author: Masahiro Takatsuka (masa@jbeans.net)
8 * $Author: takatsukam $
9 *
10 * $Date: 2004/03/03 11:53:06 $
11 *
12 * $Id: SeekableRenderer.java,v 1.3 2004/03/03 11:53:06 takatsukam Exp $
13 *
14 * Reference: Document no:
15 * ___ ___
16 *
17 * To Do:
18 * ___
19 *
20 ------------------------------------------------------------------- */
21
22 /* --------------------------- Package ---------------------------- */
23 package net.jbeans.j3d.renderer;
24
25 /* ------------------ Import classes (packages) ------------------- *//package-summary/html">class="comment"> ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment">/* ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment"> ------------------ Import classes (packages) ------------------- */
26 import java.awt.event.*;
27 import javax.media.j3d.*;
28 import com.sun.j3d.loaders.*;
29
30 import net.jbeans.j3d.universe.*;
31
32 /* -------------------------- for main() -------------------------- */
33 import java.io.*;
34 import java.util.*;
35 import javax.swing.*;
36 import javax.media.j3d.*;
37 import com.sun.j3d.utils.geometry.*;
38
39 import net.jbeans.ui.window.*;
40 import net.jbeans.ui.*;
41
42 import net.jbeans.j3d.transform.*;
43
44 /*====================================================================
45 Implementation of class SeekableRenderer
46 ====================================================================*/
47 /***
48 * generally describe SeekableRenderer in here
49 *
50 * @version $Revision: 1.3 $
51 * @author Masahiro Takatsuka (masa@jbeans.net)
52 * @see ManipulatableRenderer
53 */
54
55 public class SeekableRenderer extends ManipulatableRenderer {
56 /***
57 * Constructs a new SeekableRenderer object.
58 */
59 SeekableRenderer() {
60 this("Seekable Renderer");
61 }
62
63 /***
64 * Constructs a new Renderer object.
65 * Masahiro Takatsuka/1999-Jun-11
66 */
67 SeekableRenderer(String title) {
68 super(title);
69 ((Universe)getUniverse()).setInitialNumChildren();
70 }
71
72 protected Universe createUniverse(Canvas3D canvas3d) {
73 return new SeekableUniverse(canvas3d);
74 }
75
76 public void viewAll() {
77 ((SeekableUniverse) getUniverse()).viewAll();
78 }
79
80 /***
81 * This main method will be used when BasicRenderer is running as an application.
82 */
83 // public static void main(String[] args) {
84 // SeekableRenderer renderer = new SeekableRenderer() ;
85 // JFrame myFrame = new JFrame();
86 // myFrame.getContentPane().add(renderer);
87 // myFrame.setTitle(renderer.getName());
88 // myFrame.pack();
89 // myFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
90 // new WindowCloseAdapter(myFrame, WindowCloseAdapter.EXIT_ON_CLOSE);
91 // UiUtil.centerComponent(myFrame, null);
92 // myFrame.setVisible(true);
93
94 // // Create the transform group node and initialize it to the
95 // // identity. Enable the TRANSFORM_WRITE capability so that
96 // // our behavior code can modify it at runtime. Add it to the
97 // // root of the subgraph.
98 // TransformGroup objTrans = new TransformGroup();
99 // // Create a simple shape leaf node, add it to the scene graph.
100 // ColorCube cube = new ColorCube(0.4);
101 // cube.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
102 // cube.setCapability(Node.ALLOW_BOUNDS_READ);
103 // cube.setCapability(Node.ALLOW_LOCAL_TO_VWORLD_READ);
104 // Enumeration enum = cube.getAllGeometries();
105 // Geometry geom;
106 // for(; enum.hasMoreElements();){
107 // geom = (Geometry) enum.nextElement();
108 // geom.setCapability(GeometryArray.ALLOW_COORDINATE_READ);
109 // geom.setCapability(GeometryArray.ALLOW_COUNT_READ);
110 // geom.setCapability(IndexedGeometryArray.ALLOW_COORDINATE_INDEX_READ);
111 // geom.setCapability(GeometryArray.ALLOW_FORMAT_READ);
112 // }
113 // objTrans.addChild(cube);
114 // objTrans.setCapability(Node.ALLOW_AUTO_COMPUTE_BOUNDS_READ);
115 // objTrans.setCapability(Node.ALLOW_AUTO_COMPUTE_BOUNDS_WRITE);
116
117 // renderer.addGroup(objTrans);
118 // }
119 }