Changeset 18920
- Timestamp:
- 05/30/06 15:50:29 (2 years ago)
- Files:
-
- juggler/trunk/INSTALL.html (modified) (8 diffs)
- juggler/trunk/INSTALL.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
juggler/trunk/INSTALL.html
r18807 r18920 2 2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 3 3 <title>Building and Installing the Juggler Project (Version 4 2.1/2.2)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1. 69.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e1"></a>Building and Installing the Juggler Project (Version5 2.1/2.2)</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="othername">The Juggler Team</span></h3></div></div></div><div><p class="pubdate">$Date$</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e15">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e32">Important Notes for IRIX Users</a></span></dt><dt><span class="section"><a href="#d0e116">Important Note for Win 32 Users</a></span></dt></dl></dd><dt><span class="section"><a href="#source.code.section">Getting the Source Code and the Dependencies</a></span></dt><dd><dl><dt><span class="section"><a href="#section.cvs.access">How to Get the Juggler Suite from CVS</a></span></dt><dt><span class="section"><a href="#d0e218">Downloading Third-Party Dependencies</a></span></dt></dl></dd><dt><span class="section"><a href="#compile.section">Compiling</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e304">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e315">Compiling the Juggler Suite of Tools</a></span></dt><dt><span class="section"><a href="#compile.individual.section">Tips for Compiling Individual Tools in the Juggler4 2.1/2.2)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.70.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e1"></a>Building and Installing the Juggler Project (Version 5 2.1/2.2)</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="othername">The Juggler Team</span></h3></div></div></div><div><p class="pubdate">$Date$</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e15">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e32">Important Notes for IRIX Users</a></span></dt><dt><span class="section"><a href="#d0e116">Important Note for Windows Users</a></span></dt></dl></dd><dt><span class="section"><a href="#source.code.section">Getting the Source Code and the Dependencies</a></span></dt><dd><dl><dt><span class="section"><a href="#section.cvs.access">How to Get the Juggler Suite from CVS</a></span></dt><dt><span class="section"><a href="#d0e218">Downloading Third-Party Dependencies</a></span></dt></dl></dd><dt><span class="section"><a href="#compile.section">Compiling</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e310">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e321">Compiling the Juggler Suite of Tools</a></span></dt><dt><span class="section"><a href="#compile.individual.section">Tips for Compiling Individual Tools in the Juggler 6 6 Suite</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e15"></a>Introduction</h2></div></div></div><p>You have downloaded the source code for Version 2.1 of the Juggler 7 7 Project. This is the code that will become VR Juggler 2.2, and it is the … … 68 68 for free. When configuring the source with 69 69 <span><strong class="command">configure.pl</strong></span> (described later), use the option 70 <code class="option">--with-gcc</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e116"></a>Important Note for Win 32Users</h3></div></div></div><p>VR Juggler 1.1 and newer use a lot of C++ features not70 <code class="option">--with-gcc</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e116"></a>Important Note for Windows Users</h3></div></div></div><p>VR Juggler 1.1 and newer use a lot of C++ features not 71 71 supported by Visual Studio 6.0. Microsoft <a href="http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q243/4/51.asp&NoWebContent=1" target="_top">acknowledges</a> 72 72 the issues concerning noncompliance to the C++ Standard with Visual … … 127 127 Note that you need the command <span><strong class="command">bjam</strong></span> (referred 128 128 to as “<span class="quote">boost-jam</span>” on the Boost download page) to 129 build Boost.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e240"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.3.2 or newer. The source 129 build Boost.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Mac OS X users should compile the Boost libraries using 130 the “<span class="quote">darwin</span>” toolset.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e246"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.3.2 or newer. The source 130 131 and binary distributions for some platforms can be downloaded from 131 132 <a href="http://www.sf.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>. … … 133 134 must compile and install CppDOM yourself. Note that you need SCons 134 135 (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) 135 to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e25 1"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.3.2 or136 to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e257"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.3.2 or 136 137 newer. The source distribution can be downloaded from <a href="http://www.sf.net/projects/ggt/" target="_top">http://www.sf.net/projects/ggt/</a>. 137 138 Note that you need SCons (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) 138 to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e26 2"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR139 to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e268"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR 139 140 for operating system primitives. On some platforms (IRIX, FreeBSD, 140 141 Linux, Mac OS X), the use of NSPR is strictly optional. On others … … 142 143 system, you should decide whether you need NSPR. Binary versions 143 144 of NSPR can be downloaded from <a href="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases" target="_top">ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases</a>. 144 At this time, we recommend the use of version 4.2 or newer.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e27 0"></a>Java Developer Kit (also called the J2SE SDK)</h4></div></div></div><p>We make use of the Java programming language in addition to145 At this time, we recommend the use of version 4.2 or newer.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e276"></a>Java Developer Kit (also called the J2SE SDK)</h4></div></div></div><p>We make use of the Java programming language in addition to 145 146 C++. Java is used exclusively for GUIs such as Tweek and VRJConfig 146 147 (which is a JavaBean that is loaded into Tweek). To compile the 147 148 Java code, a JDK is necessary. We currently require version 1.4 or 148 149 newer. The Java Standard Edition can be downloaded from <a href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>. 149 More information can be found at <a href="http://java.sun.com/" target="_top">http://java.sun.com/</a>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e28 1"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required150 More information can be found at <a href="http://java.sun.com/" target="_top">http://java.sun.com/</a>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e287"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required 150 151 in order to compile the Tweek C++ API. At this time, the Tweek C++ 151 152 API is not required for VR Juggler, but this situation will change … … 159 160 configure script where to find everything. Please refer to <a href="#tweek.build.section" title="Tweek">the section called “Tweek”</a> for more details on this.</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compile.section"></a>Compiling</h2></div></div></div><p>In this section, we describe how to compile the Juggler Project. 160 161 We focus on VR Juggler as a whole, but information about some of the 161 individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3 04"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It162 individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e310"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It 162 163 may not be stable, and it may not even compile. Compiling VR Juggler 163 164 itself can be a little complicated for anyone who does not have some 164 165 background in using CVS, Autoconf, C++, and <span><strong class="command">make</strong></span> 165 or Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3 15"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of166 or Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e321"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of 166 167 the tools that make up VR Juggler. Each tool compiles to its own 167 168 library and can be installed individually. (Refer to the … … 170 171 solution. After getting the dependencies needed to compile VR Juggler 171 172 (see the next section), refer to the <a href="README-WINDOWS.html" target="_top">README-WINDOWS.html</a> file located in 172 this directory. Do not bother to the rest of this document.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="config.vrjuggler.section"></a>Configuring the Juggler Build</h4></div></div></div><p>We now explain the process by which the Juggler build is 173 this directory. Do not bother to the rest of this document.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e334"></a>Per-Module Dependencies</h4></div></div></div><p>Here, we provide per-module dependency information. Given 174 that the dependencies for any single module are met, the modules 175 may be reused effectively outside the scope of immersive VR 176 application development. Below, we list the 177 <span class="emphasis"><em>minimum</em></span> required version for each dependency, 178 and where appropriate, we note which dependencies are 179 optional.</p><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e342"></a>VPR</h5></div></div></div><p>VPR provides a cross-platform, object-oriented operating 180 system abstraction. It is the foundation for all other Juggler 181 modules.</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM 0.3.2</p></li><li><p>Boost headers and Boost.Filesystem 1.31.0</p></li><li><p>NSPR (Windows, Solaris, and HP-UX only) 4.4</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e357"></a>Tweek C++ API</h5></div></div></div><p>Tweek implements a distributed model/view/controller 182 system on top of CORBA. The Tweek C++ API provides the C++ 183 component of that system. Code written on top of the Tweek C++ 184 API normally acts as the model piece of the distributed 185 model/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li><li><p>omniORB 4.0</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e369"></a>Tweek Java API</h5></div></div></div><p>Tweek implements a distributed model/view/controller 186 system on top of CORBA. The Tweek Java API provides the Java 187 component of that system. The main part of the Tweek Java API 188 is the Tweek JavaBean Loader, a GUI application that loads 189 Tweek Beans that normally function as the view and controller 190 pieces of the distributed module/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>J2SE SDK 1.4</p></li><li><p>JDOM (included with Juggler source)</p></li><li><p>Ant (included with Juggler source)</p></li><li><p>JacORB IDL-to-Java compiler (included with Juggler 191 source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e387"></a>Tweek Python API</h5></div></div></div><p>Tweek implements a distributed model/view/controller 192 system on top of CORBA. The Tweek Python API provides the 193 Python component of that system. The main part of the Tweek 194 Java API is the <span class="emphasis"><em>unfinished</em></span> TweekQt GUI, an 195 application that loads Python modules that normally function as 196 the view and controller pieces of the distributed 197 module/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>Python 2.3</p></li><li><p>omniORBpy 2.0</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e402"></a>JCCL C++ API</h5></div></div></div><p>The JCCL C++ API provides an interface for loading 198 XML-based configurations. It includes the run-time 199 reconfiguration feature of Juggler.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e411"></a>JCCL Java API</h5></div></div></div><p>The JCCL Java API provides a programming interface for 200 editing Juggler configuration files and config definition files 201 as well as JavaBeans for editing these files using a graphical 202 interface.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek Java API</p></li><li><p>TableLayout package (included with Juggler 203 source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e423"></a>JCCL Remote Run-Time Reconfiguration Plug-in 204 (C++)</h5></div></div></div><p>The C++ JCCL Remote Run-Time Reconfiguration Plug-in is 205 an optional extension to the JCCL Config Manager for allowing 206 remote manipulation of a Juggler configuration at run time 207 based on Tweek.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek C++ API</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e432"></a>JCCL Remote Run-Time Reconfiguration Plug-in 208 (Java)</h5></div></div></div><p>The Java JCCL Remote Run-Time Reconfiguration Plug-in is 209 an optional extension that provides the features needed for a 210 Java-based editor to communicate with the C++ Remote Run-Time 211 Reconfiguration Plug-in to edit Juggler configurations 212 live.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek Java API</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e441"></a>Sonix</h5></div></div></div><p>Sonix is an abstraction layer for positional sound 213 software. Sonix itself cannot play audio, but it includes 214 plug-ins based on popular interfaces for playing audio. Each 215 plug-in depends on a specific audio software library.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li><li><p>GMTL 0.1.9</p></li></ul></div><div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="d0e453"></a>Sonix OpenAL Plug-in</h6></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Sonix</p></li><li><p>OpenAL</p></li><li><p>Free ALUT</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="d0e466"></a>Sonix Audiere Plug-in</h6></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Sonix</p></li><li><p>Audiere</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="d0e476"></a>Sonix AudioWorks Plug-in</h6></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Sonix</p></li><li><p>AudioWorks</p></li></ul></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e486"></a>Gadgeteer</h5></div></div></div><p>Gadgeteer handles all input devices that can be used by 216 VR Juggler applications.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li><li><p>JCCL</p></li><li><p>GMTL 0.1.9</p></li><li><p>X Window System (non-Windows platforms)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e504"></a>Gadgeteer Device Driver Plug-ins</h5></div></div></div><p>The device driver plug-ins for Gadgeteer are independent 217 components that are discovered and used at run time based on 218 the application configuration. Drivers with dependencies are 219 optional.</p><div class="itemizedlist"><ul type="disc"><li><p>Gadgeteer</p></li><li><p>VRPN 06.06 for the VRPN driver plug-in</p></li><li><p>TrackD API 4 for the TrackD API driver 220 plug-in</p></li><li><p>Microsoft Speech API for the MS Speech API driver 221 plug-in</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e522"></a>Gadgeteer Cluster Plug-ins</h5></div></div></div><p>The cluster plug-ins extend the functionality of the 222 clustering infrastructure built into Gadgeteer.</p><div class="itemizedlist"><ul type="disc"><li><p>Gadgeteer</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e531"></a>VR Juggler</h5></div></div></div><p>The VR Juggler module is the unifying piece that pulls 223 all the other Juggler modules together. It provides a virtual 224 platform for VR application development. Real-time rendering is 225 controlled by Draw Managers. The OpenGL Performer Draw Manager 226 is optional.</p><div class="itemizedlist"><ul type="disc"><li><p>Gadgeteer</p></li><li><p>Sonix</p></li><li><p>OpenGL</p></li><li><p>OpenGL Performer for the 227 <span class="emphasis"><em>optional</em></span> OpenGL Performer Draw 228 Manager</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e552"></a>VR Juggler Run-Time Performance Monitoring Plug-in 229 (C++)</h5></div></div></div><p>The C++ VR Juggler Run-Time Performance Monitoring 230 Plug-in provides an optional extension to VR Juggler for remote 231 visualization of performance metrics that are captured while 232 running a VR Juggler application. Communication is performed 233 using the Tweek C++ API on top of CORBA.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek C++ API</p></li><li><p>VR Juggler</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e564"></a>VR Juggler Run-Time Performance Monitoring Plug-in 234 (Java)</h5></div></div></div><p>The Java VR Juggler Run-Time Performance Monitoring 235 Plug-in is an optional extension that provides the features 236 needed for Java-based visualization of performance data 237 collected while a VR Juggler application is running. This is 238 another JavaBean handled by the Tweek JavaBean Loader, and it 239 uses CORBA to communicate with the C++ VR Juggler Run-Time 240 Performance Monitoring Plug-in.</p><div class="itemizedlist"><ul type="disc"><li><p>JCCL Java API</p></li><li><p>JFreeChart (included with Juggler source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e576"></a>VRJConfig</h5></div></div></div><p>VRJConfig is the graphical editor for Juggler 241 configurations. It is a JavaBean loaded by the Tweek JavaBean 242 Loader, and it makes use of the editor Beans provided by the 243 JCCL Java API.</p><div class="itemizedlist"><ul type="disc"><li><p>JCCL Java API</p></li><li><p>JGraph (included with Juggler source)</p></li></ul></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="config.vrjuggler.section"></a>Configuring the Juggler Build</h4></div></div></div><p>We now explain the process by which the Juggler build is 173 244 configured. The Juggler Suite makes use of the well-known, widely 174 245 used GNU tools Autoconf and GNU Make. We provide a wrapper script … … 254 325 has information on more advanced uses of 255 326 <span><strong class="command">configure.pl</strong></span> that are beyond the scope of 256 this document.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e 497"></a>Using Locally Installed Software</h5></div></div></div><p>As noted in <a href="#source.code.section" title="Getting the Source Code and the Dependencies">the section called “Getting the Source Code and the Dependencies”</a>, VR327 this document.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e757"></a>Using Locally Installed Software</h5></div></div></div><p>As noted in <a href="#source.code.section" title="Getting the Source Code and the Dependencies">the section called “Getting the Source Code and the Dependencies”</a>, VR 257 328 Juggler depends on several external software packages. As an 258 329 example, consider the case where the GMTL library is installed juggler/trunk/INSTALL.txt
r18807 r18920 18 18 Important Notes for IRIX Users 19 19 20 Important Note for Win 32Users20 Important Note for Windows Users 21 21 22 22 … … 136 136 137 137 138 Important Note for Win 32Users138 Important Note for Windows Users 139 139 140 140 VR Juggler 1.1 and newer use a lot of C++ features not supported by Visual … … 242 242 243 243 244 Important 245 246 Mac OS X users should compile the Boost libraries using the 247 "darwin" toolset. 248 249 244 250 CppDOM 245 251 … … 323 329 section), refer to the README-WINDOWS.html file located in this directory. 324 330 Do not bother to the rest of this document. 331 332 333 Per-Module Dependencies 334 335 Here, we provide per-module dependency information. Given that the 336 dependencies for any single module are met, the modules may be reused 337 effectively outside the scope of immersive VR application development. 338 Below, we list the minimum required version for each dependency, and where 339 appropriate, we note which dependencies are optional. 340 341 342 VPR 343 344 VPR provides a cross-platform, object-oriented operating system 345 abstraction. It is the foundation for all other Juggler modules. 346 347 348 * CppDOM 0.3.2 349 350 * Boost headers and Boost.Filesystem 1.31.0 351 352 * NSPR (Windows, Solaris, and HP-UX only) 4.4 353 354 355 356 Tweek C++ API 357 358 Tweek implements a distributed model/view/controller system on top of 359 CORBA. The Tweek C++ API provides the C++ component of that system. Code 360 written on top of the Tweek C++ API normally acts as the model piece of the 361 distributed model/view/controller system. 362 363 364 * VPR 365 366 * omniORB 4.0 367 368 369 370 Tweek Java API 371 372 Tweek implements a distributed model/view/controller system on top of 373 CORBA. The Tweek Java API provides the Java component of that system. The 374 main part of the Tweek Java API is the Tweek JavaBean Loader, a GUI 375 application that loads Tweek Beans that normally function as the view and 376 controller pieces of the distributed module/view/controller system. 377 378 379 * J2SE SDK 1.4 380 381 * JDOM (included with Juggler source) 382 383 * Ant (included with Juggler source) 384 385 * JacORB IDL-to-Java compiler (included with Juggler source) 386 387 388 389 Tweek Python API 390 391 Tweek implements a distributed model/view/controller system on top of 392 CORBA. The Tweek Python API provides the Python component of that system. 393 The main part of the Tweek Java API is the unfinished TweekQt GUI, an 394 application that loads Python modules that normally function as the view 395 and controller pieces of the distributed module/view/controller system. 396 397 398 * Python 2.3 399 400 * omniORBpy 2.0 401 402 403 404 JCCL C++ API 405 406 The JCCL C++ API provides an interface for loading XML-based 407 configurations. It includes the run-time reconfiguration feature of 408 Juggler. 409 410 411 * VPR 412 413 414 415 JCCL Java API 416 417 The JCCL Java API provides a programming interface for editing Juggler 418 configuration files and config definition files as well as JavaBeans for 419 editing these files using a graphical interface. 420 421 422 * Tweek Java API 423 424 * TableLayout package (included with Juggler source) 425 426 427 428 JCCL Remote Run-Time Reconfiguration Plug-in (C++) 429 430 The C++ JCCL Remote Run-Time Reconfiguration Plug-in is an optional 431 extension to the JCCL Config Manager for allowing remote manipulation of a 432 Juggler configuration at run time based on Tweek. 433 434 435 * Tweek C++ API 436 437 438 439 JCCL Remote Run-Time Reconfiguration Plug-in (Java) 440 441 The Java JCCL Remote Run-Time Reconfiguration Plug-in is an optional 442 extension that provides the features needed for a Java-based editor to 443 communicate with the C++ Remote Run-Time Reconfiguration Plug-in to edit 444 Juggler configurations live. 445 446 447 * Tweek Java API 448 449 450 451 Sonix 452 453 Sonix is an abstraction layer for positional sound software. Sonix itself 454 cannot play audio, but it includes plug-ins based on popular interfaces for 455 playing audio. Each plug-in depends on a specific audio software library. 456 457 458 * VPR 459 460 * GMTL 0.1.9 461 462 463 464 Sonix OpenAL Plug-in 465 466 467 * Sonix 468 469 * OpenAL 470 471 * Free ALUT 472 473 474 475 Sonix Audiere Plug-in 476 477 478 * Sonix 479 480 * Audiere 481 482 483 484 Sonix AudioWorks Plug-in 485 486 487 * Sonix 488 489 * AudioWorks 490 491 492 493 Gadgeteer 494 495 Gadgeteer handles all input devices that can be used by VR Juggler 496 applications. 497 498 499 * VPR 500 501 * JCCL 502 503 * GMTL 0.1.9 504 505 * X Window System (non-Windows platforms) 506 507 508 509 Gadgeteer Device Driver Plug-ins 510 511 The device driver plug-ins for Gadgeteer are independent components that 512 are discovered and used at run time based on the application configuration. 513 Drivers with dependencies are optional. 514 515 516 * Gadgeteer 517 518 * VRPN 06.06 for the VRPN driver plug-in 519 520 * TrackD API 4 for the TrackD API driver plug-in 521 522 * Microsoft Speech API for the MS Speech API driver plug-in 523 524 525 526 Gadgeteer Cluster Plug-ins 527 528 The cluster plug-ins extend the functionality of the clustering 529 infrastructure built into Gadgeteer. 530 531 532 * Gadgeteer 533 534 535 536 VR Juggler 537 538 The VR Juggler module is the unifying piece that pulls all the other 539 Juggler modules together. It provides a virtual platform for VR application 540 development. Real-time rendering is controlled by Draw Managers. The OpenGL 541 Performer Draw Manager is optional. 542 543 544 * Gadgeteer 545 546 * Sonix 547 548 * OpenGL 549 550 * OpenGL Performer for the optional OpenGL Performer Draw Manager 551 552 553 554 VR Juggler Run-Time Performance Monitoring Plug-in (C++) 555 556 The C++ VR Juggler Run-Time Performance Monitoring Plug-in provides an 557 optional extension to VR Juggler for remote visualization of performance 558 metrics that are captured while running a VR Juggler application. 559 Communication is performed using the Tweek C++ API on top of CORBA. 560 561 562 * Tweek C++ API 563 564 * VR Juggler 565 566 567 568 VR Juggler Run-Time Performance Monitoring Plug-in (Java) 569 570 The Java VR Juggler Run-Time Performance Monitoring Plug-in is an optional 571 extension that provides the features needed for Java-based visualization of 572 performance data collected while a VR Juggler application is running. This 573 is another JavaBean handled by the Tweek JavaBean Loader, and it uses CORBA 574 to communicate with the C++ VR Juggler Run-Time Performance Monitoring 575 Plug-in. 576 577 578 * JCCL Java API 579 580 * JFreeChart (included with Juggler source) 581 582 583 584 VRJConfig 585 586 VRJConfig is the graphical editor for Juggler configurations. It is a 587 JavaBean loaded by the Tweek JavaBean Loader, and it makes use of the 588 editor Beans provided by the JCCL Java API. 589 590 591 * JCCL Java API 592 593 * JGraph (included with Juggler source) 594 325 595 326 596
