summaryrefslogtreecommitdiff
path: root/swigweb/projects.ht
diff options
context:
space:
mode:
Diffstat (limited to 'swigweb/projects.ht')
-rw-r--r--swigweb/projects.ht534
1 files changed, 0 insertions, 534 deletions
diff --git a/swigweb/projects.ht b/swigweb/projects.ht
deleted file mode 100644
index 3445adb94..000000000
--- a/swigweb/projects.ht
+++ /dev/null
@@ -1,534 +0,0 @@
-The SWIG Files
-
-<p><img src="images/projects.png" alt="Projects">
-
-<p>
-SWIG is being used in an increasing number of applications. Applications cover the broad spectrum of
-open source projects, inhouse projects within corporations or organisations as well as commercial software projects.
-
-<h1>Open source projects using SWIG</h1>
-The following are some of the large open source projects which use SWIG.
-These can be a useful reference for seeing how SWIG used in real projects as the source is available.
-
-<li>
- <a href="http://subversion.tigris.org/">Subversion</a> Version control system.
-</li>
-
-<li>
- <a href="http://www.ogre3d.org/wiki/index.php/PyOgre">PyOgre</a> 3D graphics engine.
-</li>
-
-<li>
- <a href="http://www.remotesensing.org/gdal/">GDAL</a> Geospatial Data Abstraction library.
-</li>
-
-<li>
- <a href="http://www.scipy.org/documentation/weave/">Weave</a> Scientific tools library.
-</li>
-
-<li>
- <a href="http://www.xapian.org/">Xapian</a> Probabilistic Information Retrieval library.
-</li>
-
-<li>
- <a href="http://pyicu.osafoundation.org/">PyICU</a> Unicode support library.
-</li>
-
-<li>
- <a href="http://pyopengl.sourceforge.net/">PyOpenGL</a> OpenGL graphics.
-</li>
-
-<li>
- <a href="http://www.wxwindows.org/">wxWindows</a> GUI framework.
-</li>
-
-<li>
- <a href="http://www.tcl3d.org/">Tcl3D</a> 3D libraries for use with Tcl/Tk.
-</li>
-
-<li>
- <a href="http://software.sandia.gov/trilinos;">Trilinos</a> Parallel, matrix OO solver packages.
-</li>
-
-<li>
- <a href="http://www.vscp.org/">VSCP</a> Very Simple Control Protocol - Automation software suite for TCP/IP, CAN, PLC and more.
-</li>
-
-<li>
- <a href="http://openbabel.sf.net/">OpenBabel</a> Chemistry open source package, used in molecular modeling, computational chemistry, and many related areas
-</li>
-
-<li>
- <a href="https://pse.cheme.cmu.edu/wiki/view/Ascend/PythonWrapper">Python Ascend</a> Python Interface for ASCEND.
- ASCEND is both a large-scale object-oriented mathematical modeling environment and a strongly typed mathematical modeling language
-</li>
-
-<li>
- <a href="http://www.quantlib.org/">QuantLib</a> A free/open-source
- library for quantitative finance with ports for C#, Guile, Java, MzScheme, Perl, Python, and Ruby.
-</li>
-
-<li>
- <a href="http://geos.refractions.net/">GEOS</a>: GEOS (Geometry Engine - Open Source) is a C++ port of the
- <a href="http://www.jump-project.org/project.php?PID=JTS&SID=OVER">Java
- Topology Suite with ports for Python and Ruby</a>.
-</li>
-
-<li>
- <a href="http://www.gfd-dennou.org/arch/ruby/products/ruby-vtk/">Ruby-VTK</a>:
-Ruby-VTK is an one-to-one wrapper of The Visualization ToolKit (VTK) for Ruby.
-</li>
-
-<li>
- <a href="http://www.gnu.org/software/gnuradio/">GNURadio</a>: GNU Radio - The GNU Software Radio.
-</li>
-
-<li> <a href="http://www.mic.atr.co.jp/~gulliver/WTK/www/">PyWTK</a>: A Python
-interface to the WorldToolKit (a virtual reality modeling
-toolkit). (Roberto Lopez Gulliver) </li>
-
-
-<li> <a href="http://www.wxPython.org/">wxPython</a>: A Python extension
-module that encapsulates the wxWindows GUI classes. </li>
-
-<li> <a
-href="http://search.cpan.org/~jhpb/X11-Wcl-0.3/Wcl.pm">X11::Wcl</a>: A
-Perl interface to the Widget Creation Library (Joe Buehler). </li>
-
-<li> <a href="http://xml.apache.org/xerces-p/">XML::Xerces</a>:
-XML::Xerces is the Perl API to the Apache project's Xerces XML parser.
-</li>
-
-<li> <a
-href="http://mpa.itc.it/markus/grass61progman/swig/main.html">GRASS-SWIG</a>:
-GRASS GIS (Geographic Resources Analysis Support System)- SWIG interface.</li>
-
-
-<li> <a
-href="http://www.opensourcepartners.nl/~costar/gramofile/">Gramofile</a>:
-The main goal of Gramofile is putting the sound of for example
-gramophone records on CDs, and includes a Perl port.
-</li>
-
-<li> <a href="http://pivy.tammura.at/">Pivy</a>:Coin3D (a high-level
-3D graphics toolkit) binding for Python.
-</li>
-
-<li> <a href="http://www.crystalspace3d.org">Crystal Space 3D</a>:
-Crystal Space is a free (LGPL) and portable 3D Game Development Kit written in C++.
-</li>
-
-
-<h1>Other projects using SWIG</h1>
-<p>
-Below are some comments received on usage of SWIG by various organisations.
-(Note : the
-opinions expressed here do not necessarily reflect those of any
-given employer or organization).
-
-<hr>
-<p>
-David Beazley (dmb@viking.lanl.gov) and Peter Lomdahl (pxl@viking.lanl.gov)<br>
-
-<p>
-SWIG is being used to construct a Python interface to the <a
-href="http://bifrost.lanl.gov/MD/MD.html">SPaSM</a> molecular dynamics
-code at Los Alamos National Laboratory. Currently this code is being
-used to perform large-scale simulations of fracture, shock waves, and
-dislocation dynamics. The system runs in parallel on a 12 processor
-Sun Enterprise 4000 server and is implemented with MPI and Solaris
-multithreading. The Python interface is used to provide users with an
-interactive data analysis, visualization, and prototyping environment.
-Users can also interact with underlying C data structures and "steer"
-computations as needed. One of the advantages of SWIG is that it
-allows interfaces to be easily constructed from existing code. The
-SPaSM system consists of nearly 300 C functions and the Python
-interface is automatically generated during compilation. This work
-was recently featured on the cover of "Computers in Physics" (June,
-1997).
-
-<hr>
-<p>
-John Schmidt (jas@cs.utah.edu) <br>
-
-<p>
-I am using SWIG to integrate four stand alone software packages into a
-unified system controlled by Tcl/Tk scripts. The unified software
-system is used to design and test defibrillation electrodes via
-computer simulations of a human subject. The individual software
-pieces include: a visualization package written in C++ using
-OpenInventor and Motif, an unstructured mesh generator written in C, a
-Finite Element Solver written in C, and a segmentation software
-written in C++ using OpenGL and Motif. SWIG has been crucial to the
-development of this project. With SWIG, the integration of the
-individual pieces was trivial.
-
-<hr>
-<p>
-David Brydon (brydon@lanl.gov) <br>
-
-<p>
-We are using swig with python to retrieve, analyze, and visualize very
-large data sets from ocean model simulations on parallel computers.
-We have written C routines that access our data. Graphics libraries
-and Matlab are used to visualize the data. We are very happy with the
-flexible, programmable, powerful tool that results.
-
-<hr>
-<p>
-Mike Weiblen (mew@paradigmsim.com) <br>
-
-<p>
-Paradigm sells modular C toolkits for developing visual
-simulation/virtual reality graphics applications called Vega and another
-for spatial audio simulation called AudioWorks. I've used SWIG to wrap
-Vega's and AW's APIs with Silicon Graphics' "sgitcl" to create "vgTcl"
-and "awTcl". Exploiting the power of interactive scripting languages,
-they provide the full power of the APIs at runtime, without an
-application developer having to anticipate flexibility a priori. SWIG
-has enabled our customers to interact with our toolkits in fundamentally
-new ways.
-<p>
-Several years ago (I believe we discussed this stuff way back in 1994
-;-), I created a set of C preprocessor macros that did SWIG-like
-things. It was a very tedious process, making it difficult to follow
-changes to an evolving API, but it was useful for proof-of-concept.
-When SWIG 1.1B1 came out in October, I was generously given a R&amp;D budget
-to reimplement my project in SWIG. The project has been a resounding
-success!
-
-<hr>
-<p>
-Jonah Lee (jonah@melab.uafsoe.alaska.edu)
-
-<p>
-[We're using SWIG for] wrapping up engineering applications using
-finite element method including pre- and post-processing. My program
-is somewhat general and is used to solve problems for engineering
-materials--metals, polymers and ice-- undergoing plastic (permanent)
-deformations. It's mainly used for rapid prototyping, development and
-testing. The code runs on workstations, Cray Y-MPs and Cray T3E (when
-I get there... that is).
-
-<hr>
-<p>Jody Winston (jody@sccsi.com)
-
-<p>
-
-I have used SWIG to wrap an API that controlled two stepper motors and
-a CCD camera on a Linux system that gathered real time image data. In
-Windows, I wrapped an application's C++ API and used SWIG to embed a
-Python (pywin) interpreter into the C++ application. I also used SWIG
-to wrap a FORTRAN API that was used to read and write data into a
-custom data base.
-<p>
-SWIG has allowed me to move the time critical code into C, C++, or
-FORTRAN while having the application being controlled by Python. I
-can quickly embed an interpreter into an application.
-
-<hr>
-<p>
-Peter Lister (p.lister@cranfield.ac.uk)<br>
-
-<p>
-I'm using [SWIG] for a Perl scriptable version of Van Jacobson's libpcap
-packet capture library. I can now use Perl regular expressions to
-process packets on the fly. My main reason is to extract information
-from ARP packets and automatically maintain our database of IP/MAC
-address mappings directly from perl rather than hacking the output of
-arpwatch or tcpdump.
-
-<hr>
-<p>
-Harald Singer (singer@itl.atr.co.jp)
-
-<p>
-[We are using SWIG for] wrapping C libraries to Python for speech recognition research
-at ATR Interpreting Telecommunications Laboratories.
-<p>
-We are working in a multi-vendor environment (HP-UX, OSF1, Linux,
-SunOS, Solaris) and writing new applications has become very tedious.
-Therefore, we decided to employ python, but at the same time we would
-like to have access to our signal processing libraries etc. that were
-and are still written in C.
-<p>
-The advantages of using Python become more evident every day. For
-example, it was fairly easy to write a GUI using python/tk. We are
-using this now for interactive error analysis. A typical scenario is
-like this:
-
-<ul>
-<li> audio data is collected via microphone/AD (in Python) and sent to the
-recognizer frame by frame.
-
-<li> the recognizer (C code) makes a decision about speech endpointing and
-once it has discovered end of utterance does a callback to the
-application (python/tk) with a word lattice as result.
-
-<li> this word lattice is now displayed for the user in python/tk.
-
-<li> the user can now interactively rescore part of the lattices, look at
-the detailed acoustic and language model scores, listen to parts of
-the utterance, etc.
-</ul>
-<p>
-SWIG helps us in taking away part of the error-prone task of making
-the C routines accessible from python and has considerably improved
-our efficiency.
-
-<hr>
-<p>
-Dominique Dumont (domi@ss7serv.grenoble.hp.com)
-<p>
-I'm using SWIG to generate a perl5 API on top of HP's OpenCall TCAP
-API. TCAP is the top protocol layer of HP's SS7 stack of telecom
-protocol. The perl5 API developemnt effort is a part of the systematic
-testing approach we're implementing in the division.
-<p>
-The usual way was to write test programs
-in C. The main drawback being that developing and running the tests
-consumes a lot of time.
-<p>
-Now the goal is to write all (or at least most of) the test in perl
-allowing a faster cycle time between modifying the API and testing
-it. (We'll also be able to debug faster the test programs).
-<p>
-Perl's power also enables us to write test using oo methodology
-(although the API is strictly procedural), thus we can easily develop
-complex test scenarios.
-<p>
-Hopefully (i.e. if we have some spare time), the next step will be to
-combine Tk with Perl and SWIG so we'll be able to monitor with a user
-friendly interface the progress of the test suite.
-
-<hr>
-<p>Daniel Michelson (Daniel.Michelson@smhi.se)
-
-<p>
-A collegue and I are using SWIG for two purposes, both of which
-centre around the creation of a Python-based environment for analysis
-and visualization of data from the Swedish national weather radar
-network:
-<ul>
-<li> interfacing old code
-<li> interfacing new, performance critical, code.
-</ul>
-<p>
-We have a couple of other collegues, also at SMHI R&amp;D, who are working
-in satellite-based remote sensing activities and who will be starting to
-use SWIG in the near future for their purposes.
-
-<hr>
-<p>Roger Burnham (rburnham@cri-inc.com)
-
-<p>
-Thanks again for SWIG... Its fun, allows great productivity while
-avoiding much tedium...
-<p>
-The current application (there will be many spin-offs/variations) is
-in polarization microscopy. We manufacture electronically
-controllable retarder plates, and along with a scientist at the
-Marine Biological Lab in Woods Hole have developed an algo/method
-that allows us to visualize a sample's retardance (direction and
-magnitude) over the whole image. Conventional methods allow you to
-see this structure only along one axis at a time... The main tools
-I'm using are Python/Tkinter/PIL/NumPy/SWIG.
-<p>
-So, I've use SWIG to:
-<ul>
-<li> Wrap a commercial serial communications DLL.
-<li> Wrap a commercial frame grabber interface
-<li> After prototyping in Python, I move compute intensive routines
- into DLL's.
-</ul>
-Our apps are running under Win95. I thought it was pretty cool to be
-able to control a frame grabber, display live/acquired images, all
-from within Python, within the same day I received the frame grabber
-SDK, never having dealt with such hardware before!
-
-<hr>
-<p>
-Simon Gibson (gibson@dstc.qut.edu.au)
-<p>
-
-I have been using SWIG to create a Python interface for our
-prototype implementation of GSSAPI. This is being done so
-that we can incorporate security into the Hector project here
-at DSTC. It also means that I can write Python application
-programmes. Also now we have a standard interface to GSSAPI
-and any implementation should be able to be plugged in.
-<p>
-Hector is described in an article in the January/February
-1997 - Distributed Objects <a href="http://www.ddj.com/ddsbk/1997/1997.01/index.htm">Dr. Dobb's Sourcebook</a>.
-
-<hr>
-<p>
-Mark Hammond (MHammond@skippinet.com.au)
-
-<p>
-
-I'm using [SWIG] to write a commericial application, which runs as an NT
-service. It uses the COM extensions to talk native MAPI to exchange
-server, the service extensions to run unattended on NT, and the pipe, file
-and event modules to manage the service control messages and named pipe
-connections from clients. All modules named above were generated by SWIG.
-The COM extensions will allow (once the .i file is up to it :-) any native
-COM interface (ie, not IDispatch (eg, VB/Word/Excel) based) to be supported
-by Python.
-
-<hr>
-<p> Michael Bell (michaelb@gold.net.au)
-
-<p>
-I've used SWIG on a Linux platform to create Python modules for
-graphing and database access.
-<p>
-The PGPLOT Graphics Subroutine Library is a Fortran library by Tim
-Pearson (tjp@astro.caltech.edu). I understand it is often used by
-astronomers. It may also be built into a C library.
-<p>
-I used SWIG to wrap the C library wrapping the Fortran library (!)
-into a Python module, using some straightforward typemaps to convert
-one and two dimensional Python Numeric arrays into the appropriate
-pointers. I haven't methodically tested the full functionality, but
-everything I tried works just fine.
-<p>
-I've also used SWIG to wrap up a library of Fortran subroutines
-developed within the Western Australian Department of Environmental
-Protection to manage databases of time series meteorological and air
-quality data. I used SWIG to generate a simple shadow class which I
-then extended further to make the interface nicer.
-<p>
-The original library provided, for instance, subroutines opendb(),
-writdb(), readdb() and closdb(). My module, epadb.py, provides a
-database class, epadb.DB, which is instantiated, d=epadb.DB(). The
-database instance then provides methods d.open(), d.read(), d.write()
-and d.close(), returning data as Python lists and arrays.
-<p>
-I'm particularly pleased that I managed to do these things with my
-reading only knowledge of C, and lots of cutting and pasting.
-
-<hr>
-<p>
-Soeren Henkel (soeren@hni.uni-paderborn.de)
-<p>
-We are currently in the process of redeveloping OOPUS, a system for
-modeling plant systems and generate plant control software from a model.
-(Don't ask what OOPUS stands for -it's a German acronym.) We decided to
-reimplement its user inteface using Tcl/Tk. OOPUS puts its models
-into an OODBMS, namely POET. So we needed an integration of POET
-(which is tightly coupled to C++) with Tcl/Tk, and we've successfully
-done that with SWIG.
-
-<hr>
-<p>
-Peter A. Tinker (patinker@msmail4.hac.com)
-<p>
-We're using SWIG to "glue" Tcl/Tk to custom and third-party libraries. In
-particular, SWIG provides an elegant means for controlling Sense8
-Corporation's WorldToolKit (WTK) virtual environment development system from a
-Tk GUI. The result is highly portable code that is
-independent of WTK's proprietary GUI yet allows access to virtually all WTK
-functions from a Tcl script and/or a Tk GUI. This approach is
-being used in a variety of projects involving advanced 3D visualization
-on a variety of imcompatible systems.
-
-<hr>
-<p>
-Peter-Pike Sloan (ppsloan@cs.utah.edu)
-<p>
-I have been using SWIG for several projects, mostly to streamline
-working with OpenGL under Tcl/Tk. Examples are a time-critical
-framework for viewing Lumigraphs (basically a digital hologram) and a
-proof of concept application for optimizing texture coordinates based
-on relative importance (determined by analyzing the existing texture
-and user specification.) Using SWIG has dramatically reduced my
-development time allowing me to develop code and debug state in an
-interpreted environment (currently Tcl, but I think I am going to move
-to Python).
-
-<hr>
-<p>
-Chris Myers (myers@beamtech.com)
-<p>
-We at Beam Technologies, Inc. have used SWIG to begin developing an
-interpreted Python interface to our PDESolve library. PDESolve is a
-C++ class library for formulating and solving partial differential
-equations (using either finite difference methods or finite element
-methods), and makes use of OO technology to present a high-level
-symbolic interface to the programmer. This makes the description of
-PDE-based problems concise, and enables the embedding of PDE-based
-models in larger computational frameworks (e.g., to do PDE-based
-design optimization or coupled PDE-based systems). SWIG has allowed
-us very quickly to develop a prototype Python interface to that
-library. Such an interface holds the promise of: (1) allowing even
-more rapid prototyping of models, (2) dynamic formulation of models
-and solution methods, and (3) a method for conveniently integrating
-PDESolve with other packages (i.e., through the Python substrate).
-My hope is to make a Python-enabled PDESolve a tool for PDEs something
-like what Matlab provides for linear algebra, i.e., a high-level,
-interpreted environment for rapid prototyping and interactive
-exploration, with an embedded programming language for scripting
-complex codes.
-
-<p>
-And while I have been looking for a while for a powerful and
-extensible interpreted language for use as a front-end to compile codes
-(which Python is), SWIG has made the interfacing of that code vastly
-easier than it would have been otherwise. While we are still in the
-prototyping stages of this overall approach, SWIG enabled us to get up
-and running quickly with a Python interface to PDESolve, and
-demonstrate the utility of such an approach for a complex C++ library
-(something that SWIG was not originally designed to really tackle).
-
-<hr>
-<p>
-Vladimir I.Ulogov (gandalf@starship.skyport.net)
-<p>
-
-SWIG is being used to create a Python interface to CLIPS expert system shell
-inside my general research job under OODBMS DNET. This extention module
-provide full control from Python environment to expert system: Change a
-global valiables, register a fact, manipulation with agenda, fact lists,
-modules, functions, classes and instances. You can dynamicaly create and
-execute CLIPS commands using clips.RouteCommand function call. Module
-interface are similar to CLIPS Advanced API, who described into CLIPS
-documentation. All additional documentation, Python classes are distributed
-too. Module was be tested on Windows/NT and SUN Solaris 2.4 host platforms,
-CLIPS version: 6.04, Python version 1.4. This module consist about 270
-functions. This job took 3 days of my job at october 1997.
-
-<hr>
-<p>
-Pinhong Chen (phchenb@tsmc.com)
-<p>
-I got a page for
-<a href="http://www-cad.eecs.berkeley.edu/~pinhong/scriptEDA"
->EDA applications</a>
-using SWIG.
-
-<hr>
-
-
-<hr>
-<h3> Other Application Areas </h3>
-
-These are some of the application areas that I've heard about SWIG being
-used (but don't have many details).
-
-<ul>
-<li> Semiconductor CAD.
-<li> Databases.
-<li> Remote sensing.
-<li> Scientific visualization and simulation.
-<li> Financial Modeling.
-<li> Distributed and parallel computing.
-<li> Distributed objects (use with CORBA).
-<li> Software testing.
-</ul>
-
-<hr>
-<h3> How are you using SWIG? </h3>
-
-If you would like to list your project here, please
-send e-mail to beazley@cs.uchicago.edu.