1 | ----- How to visualize Geant4 simulation ----- |
---|
2 | ----- with VRML-network drivers and g4vrmlview ----- |
---|
3 | |
---|
4 | November 04, 1999 |
---|
5 | |
---|
6 | Satoshi Tanaka and Yasuhide Sawada |
---|
7 | Fukui University, Japan |
---|
8 | tanaka@i1nws1.fuis.fukui-u.ac.jp |
---|
9 | |
---|
10 | ------------------------ |
---|
11 | Section 1: Introduction |
---|
12 | ------------------------ |
---|
13 | |
---|
14 | This is a document to explain how to perform Geant4 |
---|
15 | "remote" visualization with VRML. You can visualize Geant4 |
---|
16 | simulation on your WWW browser. |
---|
17 | You have to prepare the following softwares beforehand: |
---|
18 | |
---|
19 | (1) Geant4 |
---|
20 | (2) g4vrmlview, a small java software included in the Geant4 package |
---|
21 | |
---|
22 | geant4/source/visualization/VRML/g4vrmlview/ |
---|
23 | |
---|
24 | Or you can also obtain it from our ftp site: |
---|
25 | |
---|
26 | ftp://i1nws2.fuis.fukui-u.ac.jp/pub/graphics |
---|
27 | /fukui_graphics_system/g4vrmlview_VERSION.tar.gz |
---|
28 | |
---|
29 | |
---|
30 | (3) VRML browser, e.g., vrweb, VRMLview, etc |
---|
31 | |
---|
32 | |
---|
33 | ----------------------------------------------- |
---|
34 | Section 2: What is the Geant4 VRML-network drivers? |
---|
35 | ----------------------------------------------- |
---|
36 | |
---|
37 | Geant4 VRML-network drivers are included in visualization category of |
---|
38 | the Geant4 package: |
---|
39 | |
---|
40 | geant4/source/visualization/VRML/ |
---|
41 | |
---|
42 | The VRML-network drivers work as follows: |
---|
43 | |
---|
44 | (1) Convert 3D data of Geant4 simulation into VRML 1.0/2.0 codes. |
---|
45 | (2) Send the generated VRML codes to another process of "g4vrmlview", |
---|
46 | running at either local or remote host. |
---|
47 | |
---|
48 | (Note: For local visualization, use the VRML-file drivers, |
---|
49 | which can be invoked with the following commands: |
---|
50 | |
---|
51 | ..... |
---|
52 | |
---|
53 | Idle> /vis/sceneHandler/create VRML1FILE |
---|
54 | |
---|
55 | for VRML 1.0 and |
---|
56 | |
---|
57 | Idle> /vis/sceneHandler/create VRML2FILE |
---|
58 | |
---|
59 | for VRML 2.0. |
---|
60 | |
---|
61 | |
---|
62 | ------------------------------------------------------------------------ |
---|
63 | Section 3: Environmental variables to customize the VRML-network drivers |
---|
64 | ------------------------------------------------------------------------ |
---|
65 | |
---|
66 | You can customize the VRML-network drivers by setting environmental |
---|
67 | variables at Geant4 host, i.e., the host where Geant4 runs: |
---|
68 | |
---|
69 | Geant4_host % setenv G4VRML_PORT port_number |
---|
70 | Geant4_host % setenv G4VRML_HOST_NAME host_name |
---|
71 | |
---|
72 | The default port number is 40801, and the default host name |
---|
73 | is "localhost". You need not define the environmental |
---|
74 | variables if you use the default values. |
---|
75 | |
---|
76 | |
---|
77 | --------------------------------- |
---|
78 | Section 4: What is g4vrmlview? |
---|
79 | --------------------------------- |
---|
80 | |
---|
81 | g4vrmlview is a software written in java. |
---|
82 | It works as follows: |
---|
83 | |
---|
84 | (1) Receive VRML codes from a VRML-network driver of Geant4 |
---|
85 | via local or wide-area network. |
---|
86 | (2) Save the received VRML codes to a local file named "g4.wrl" etc. |
---|
87 | (3) Invoke a VRML viewer, which is specified at the command line, |
---|
88 | automatically. |
---|
89 | |
---|
90 | -------------------------------------- |
---|
91 | Section 5: How to install g4vrmlview |
---|
92 | -------------------------------------- |
---|
93 | |
---|
94 | You need JDK1.1 to install g4vrmlview. |
---|
95 | The installation can be done by doing the following steps: |
---|
96 | |
---|
97 | (1) % cd g4vrmlview |
---|
98 | (2) Edit Makefile and set a proper directory name to variable |
---|
99 | "INSTALL_DIR". The default setting is: |
---|
100 | |
---|
101 | INSTALL_DIR = "/usr/local/javaclass" |
---|
102 | |
---|
103 | Later, java classes (g4vrmlview.class etc) are installed |
---|
104 | to the directory specified by the variable INSTALL_DIR. |
---|
105 | |
---|
106 | (3) Set the environmental variable "CLASSPATH" in .cshrc etc. |
---|
107 | (This step can be skipped in some platforms.) |
---|
108 | For example, if JDK1.1.1 is installed in the directory |
---|
109 | "/usr/local/dev/jdk1.1.1" and you want to install g4vrmlview |
---|
110 | into "/usr/local/javaclass", then the variable CLASSPATH |
---|
111 | should be defined as: |
---|
112 | |
---|
113 | # java in Unix (.cshrc) |
---|
114 | setenv CLASSPATH .:/usr/local/dev/jdk1.1.1/lib/classes.zip:\ |
---|
115 | /usr/local/javaclass |
---|
116 | |
---|
117 | Similarly, in Windows NT/95, if JDK.1.1 is installed in |
---|
118 | the directory "C:\jdk1.1.1" and you want to install g4vrmlview |
---|
119 | into C:\dev\javaclass, you should add the following lines to |
---|
120 | AUTOEXEC.BAT: |
---|
121 | |
---|
122 | # java in Windows NT/95 (autoexec.bat) |
---|
123 | SET CLASSPATH = .;C:\jdk1.1.1\lib\classes.zip;C:\dev\javaclass |
---|
124 | |
---|
125 | (4) % make clean |
---|
126 | (5) % make |
---|
127 | |
---|
128 | (6) Test created java classes using g4mini. |
---|
129 | You can do it using two separate windows, |
---|
130 | instead of using two separate hosts. |
---|
131 | Here we assume that we use windows named "window_1" |
---|
132 | and "window_2", and use the VRML browser "vrweb". |
---|
133 | |
---|
134 | window_1 % java g4vrmlview vrweb |
---|
135 | Waiting for requests at port 40801 ... |
---|
136 | |
---|
137 | window_2 % java g4vrmlview vrweb |
---|
138 | % java g4mini |
---|
139 | Usage: java g4mini src_file server_hostname |
---|
140 | |
---|
141 | window_2 % java g4mini sample.wrl localhost |
---|
142 | |
---|
143 | The test is successful if you see pictures on the VRML browser. |
---|
144 | |
---|
145 | Now you can use g4vrmlview if the class path of java is, |
---|
146 | explicitly or implicitly set to the current directory. |
---|
147 | Go on to the next step if you want to install g4vrmlview into |
---|
148 | a public place. |
---|
149 | |
---|
150 | Here you have to become root if you do not have permission |
---|
151 | to INSTALL_DIR. If the directory INSTALL_DIR does not exist, |
---|
152 | it will be created automatically. |
---|
153 | |
---|
154 | (5) % make install |
---|
155 | |
---|
156 | |
---|
157 | -------------------------------------- |
---|
158 | Section 6: How to use g4vrmlview |
---|
159 | -------------------------------------- |
---|
160 | |
---|
161 | (1) Invoke g4vrmlview at the host where g4vrmlview runs, |
---|
162 | say, "VRML_host". For example, |
---|
163 | |
---|
164 | VRML_host% java g4vrmlview VRML_browser_name |
---|
165 | |
---|
166 | where the last argument is a name of your favorite VRML browser. |
---|
167 | |
---|
168 | (2) Invoke Geant4 at the host, where Geant4 runs, say, Geant4_host. |
---|
169 | For example, |
---|
170 | |
---|
171 | Geant4_host% exampleN03 |
---|
172 | |
---|
173 | ..... |
---|
174 | |
---|
175 | Idel> /vis/sceneHandler/create VRML1 |
---|
176 | |
---|
177 | for VRML 1.0 and |
---|
178 | |
---|
179 | Idel> /vis/sceneHandler/create VRML2 |
---|
180 | |
---|
181 | for VRML 2.0. |
---|
182 | |
---|
183 | |
---|
184 | --------------------------------------- |
---|
185 | Section 7: More notes on g4vrmlview |
---|
186 | --------------------------------------- |
---|
187 | |
---|
188 | (1) Format of invoking g4vrmlview: |
---|
189 | |
---|
190 | % java g4vrmlview VRML_browser_name [port_number] |
---|
191 | |
---|
192 | VRML_browser_name: |
---|
193 | "netscape", "vrweb", etc, |
---|
194 | or "NONE" to suppress invoking VRML browser |
---|
195 | |
---|
196 | port_number: |
---|
197 | The default port number is 40801. |
---|
198 | If you have set the environmental variable |
---|
199 | "G4VRML_PORT" at Geant4 host, |
---|
200 | you have to give the same port number. |
---|
201 | For example, |
---|
202 | |
---|
203 | Geant4_host % setenv G4VRML_PORT 40802 |
---|
204 | VRML_host % java g4vrmlview netscape 40802 |
---|
205 | |
---|
206 | (2) Auto increment of port number: |
---|
207 | If the port number 40801 is already in use, it is |
---|
208 | automatically incremented one by one up to 40810. |
---|
209 | |
---|
210 | (3) Multiple thread: |
---|
211 | g4vrmlview is a multi-thread software. |
---|
212 | It can accept data from plural Geant4 at the same time. |
---|
213 | |
---|
214 | (4) Saving VRML codes to files: |
---|
215 | VRML codes sent from Geant4 is saved to a file named |
---|
216 | "g4.wrl". If g4.wrl already exists, the file name is |
---|
217 | incremented to g4_2.wrl. Similarly the file name is |
---|
218 | incremented to g4_3.wrl, g4_4.wrl, etc. |
---|
219 | The files are created in the directory where you invoked g4vrmlview. |
---|
220 | |
---|
221 | |
---|
222 | ===== End of document ===== |
---|