Gumbo - Patterns and code for 2D/3D Applications

Links

Overview

The purpose of the Gumbo open source project is to develop a Java library/toolkit/framework that supports rich applications with compelling 2D/3D user interfaces. Rather than being an end unto itself this work serves as an evolving toolkit for combining widgets, data models, and ingredients from various sources to form a rich "gumbo" for the rich application developer.

This work expands on the principles and Java 3D code base described in the book "3D User Interfaces with Java 3D" published by Manning. This work also includes a generous contribution of RCP code from Meyer Sound.  Overall this project emphasizes direct manipulation in desktop applications; however, passive visualization and immersive VR applications may also benefit. 

Rather than focusing on GUI widgets and a particular graphics dimensionality or technology, this project instead offers architectural patterns and building blocks for MVC, delegation, event routing, in-scene manipulation, navigation, graph visualization, interaction dynamics, etc. Fundamental to this work is an abstraction of the graphics layers, allowing the patterns and techniques to work with Swing, SWT, Java 2D, OpenGL, Java 3D, and what may come.

Licensing

The intent for open sourcing this software is as follows: You may:
The original Java 3D Gumbo code, located in the "gumbo-j3dui" sub-project, is released under LGPL., with the following copyright notice:
 Copyright (c) 2002 Jon Barrilleaux

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

The original Meyer Sound code, located in the "com.msli...." sub-projects, is released under the OpenBSD (i.e. ISC license), with the following copyright notice:
Copyright (c) 2008-2009, Meyer Sound <meyersound.com>

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Project Downloads

Gumbo (060210)

Follow the above link to an old but full release of the Gumbo project, with source code, test code, javadoc, and class files.  It does not include the J3dui code, which is a separate download.  The javadoc can be accessed online here.

Gumbo.J3duiBook_LGPL

This code is essentially the same as that of the "version 2.0" release for the book "3D User Interfaces with Java 3D", by Jon Barrilleaux, and published by Manning.

The major difference in this release is that the source code is now under the LGPL license.

One minor difference in this release is that the source code and library have been located in separate directories, "src" and "lib", respectively. Also, the class j3dui.utils.app.AppDisplay has been modified to avoid the "null graphics context" message in the book release.

As with the book release, javadoc can be found in the "docs" directory, and the easiest way to run the examples (if you are using Windows) is to double-click on the .bat file in an "examples" directory.


SourceForge.net Logo