BRL-CAD is a powerful constructive solid geometry solid modeling system that includes an interactive geometry editor, ray-tracing support for rendering and geometric analysis, path-tracing for realistic image synthesis, network distributed framebuffer support, and image and signal-processing tools.
The pilot-link suite of tools contains a robust library and a series of conduits for moving information between your desktop or workstation and your Palm handheld device, such as those made by Palm, Sony, Handspring, Handera, and others. It also includes language bindings for languages such as Perl, Python, and Java.
XmlBlaster is XML based MOM (Message oriented Middleware) with a lot of features. It is a publish/subscribe and point-to-point MOM server which exchanges XML-encoded messages. Communication with the server is based on CORBA (using JacORB), RMI, XML-RPC, native socket, or a persistent HTTP plugin. Subscribers can use XPath expressions to filter the messages they wish to receive and add their own MIME-based filter plugins. C/C++, Java, Perl, Python, VisualBasic.net, C#, and PHP client demos are included in the xmlBlaster test suite, and Tcl and Python demo clients are scheduled. XmlBlaster also provides a browser callback framework, allowing browsers (Netscape, Mozilla, MSIE) to receive instant callbacks over a persistent http connection. A security plugin framework allows authentication/authorization in many ways. Currently there are LDAP- and passwd-based plugins available.
The GOBLIN project consists of a C++ class library for a large series of graph optimization problems, GOSH, an extension of the Tcl/Tk scripting language to graph objects, and GOBLET, a graphical user interface to the library functions. GOBLET includes a graph editor and supports the standard graph layout methods.
ACDK is a development framework with a similar target of Microsoft's .NET or Sun's ONE platform, but it uses C++ as a core implementation language. It implements the standard library packages, including acdk::lang, acdk::lang::reflect, acdk::util, acdk::io, acdk::text (including regexpr), acdk::net, acdk::sql, acdk::xml, and more. Flexible allocator/garbage collection, threading, and Unicode are implemented in the core of ACDK. Extensions make C++ objects available for reflection, serialization, aspect-oriented class attributes, and [D]ynamic [M] ethod [I]nvocation. This DMI acts as an universal object oriented call interface to connect C++ with scripting languages (Java, Perl, Tcl, Python, Lisp, Visual Basic, and VBScript) and standard component technologies (CORBA and COM).
PLplot is a library of C functions that are useful for making scientific plots from programs written in a wide variety of languages. It can be used to create standard x-y plots, semi-log plots, log-log plots, contour plots, 3D plots, shade (gray-scale and color) plots, mesh plots, bar charts, and pie charts. Multiple graphs may be placed on a single page with multiple lines in each graph. Different line styles, widths, and colors are supported. A virtually infinite number of distinct area fill patterns may be used. A variety of output devices and file formats are supported.
Zinc is a Tk widget developed with Perl/Tk, Tcl/Tk and Python/Tk bindings. Zinc widgets are very similar to Tk canvases in that they support structured graphics. Graphical items can be manipulated, and bindings can be associated with them to implement interaction behaviors. But unlike the canvas, zinc can structure the items in a hierarchy, and has support for affine 2D transforms. Clipping can be set for sub-trees of the item hierarchy and the item set is quite more powerful, including field-specific items for Air Traffic systems. Zinc is fast enough to allow the implementation of 2k2k radar displays with smooth animations. It is structured enough to allow the implementation of direct manipulation desktop GUIs.
libuninum is a library for converting Unicode strings to integers and integers to Unicode strings. Internal computation is done using arbitrary precision arithmetic, so there is no limit on the size of the integer that can be converted. Values are passed and returned as ASCII decimal strings, GNU MP mpz_t objects, or unsigned long integers. Auto-detection of the number system is provided. Very many number systems are supported. Group delimitation for output strings is fully controllable. Command line and graphical interfaces are also provided.