Open Tool Kit (Otk) is a portable widget library for making graphical user interfaces for C programs. It emphasizes simplicity for the application programmer without eliminating capability. Based on OpenGL, Otk supports Linux, Unix, and other OSs neutrally and efficiently. It is simple and compact, and it strives for easy compilation and linking to other applications. In seeking to address several issues associated with earlier graphics APIs, Otk explores some interesting methods, such as window-relative layout instead of pixel-based layout.
GtkDatabox is a widget for the GTK+ library designed to display large amounts of numerical data quickly and easily. It allows for one or more data sets of thousands of data points (X and Y coordinates) to be displayed and updated in split seconds. It offers the ability to zoom into and out of the data, and to navigate through your data by scrolling. In addition to rulers and a simple coordinate cross, it allows you to add one (or even more) configurable grids like on an oscilloscope. Data may be presented as dots, lines connecting the data, or vertical bars. The widget allows you to easily transform pixel coordinates into data coordinates, thus allowing you to easily create powerful applications for data analysis.
Papyrus is a 2D C++ scenegraph (canvas) library that utilizes the cairo library to perform drawing operations. Similar canvas libraries are the Gnome Canvas, Diacanvas, and the QT Canvas. Numerous canvas primitives are available, including arcs, rectangles, polylines, and line markers. An optional companion library, Papyrusmm, provides a set of Gtkmm widgets which includes viewports (a canvas display widget similar to Gtk::DrawingArea) and other UI widgets related to drawing interfaces.
JChart2D is a Swing widget for precise runtime visualization of numerical tuples in an x-y plot. It is easy to use and is designed for runtime display. Unlike other charting tools that cover all kinds of views (pie, bar, etc.), it just creates precise x-y plots. It is thread-safe: many different threads in an application may each add data to plot. A single chart may contain multiple different traces. It also features automatic scaling, choice of unit, viewports (zooming), output to images (PNG, JPEG, and EPS), logarithmic axis, and custom rendering of datapoints (lines, dots, discs, and filled polygons).
vtkFlRenderWindowInteractor is a class which enables you to create applications with full VTK and FLTK integration and interaction. This means that VTK renders to your FLTK UI, and your FLTK UI interacts with the VTK pipelines. Standard VTK interactor styles and picking work by default. This code has been tested successfully on Linux, SGI Irix, Sun Solaris, and Windows (NT, 2000, and XP).
bit is a library that makes it easier to dynamically manipulate data buffers containing fields that do not have octet (byte) boundaries. An example is the IP header, which is generally dealt with at compile time via bit fields in a structure. A key feature of the bit library is support for loading data formats described in XML files and dynamically parsing those fields at run time. This library was initially created to support reading various kinds of robotic device I/O (IR sensors, motors), but it has also been used for run time parsing of IP, TCP, UDP, and RTP headers.
vtkFLTK is a small C++ class library easing development of FLTK event-driven interfaces for use with VTK. It allows composition of complex graphical interfaces to complex visualization facilities by bridging disparities between FLTK and VTK event and windowing system handling. It eschews the use of C++ multiple inheritance as is consistent with the designs of both VTK and FLTK. A specialized VTK ObjectFactory is registered during static initialization of vtkFLTK's Fl_Gl_Window subclass, which ensures transparent instantiation of its RenderWindow and Interactor subclasses. In other words, most application code can be fully agnostic of anything other than VTK's standard RenderWindow and Interactor classes.
The JOpenChart library and toolkit provides the means to create different kinds of charts, including pie charts, line charts, and plot charts. Furthermore, it contains components for embedding charts into Swing or Web applications. The library's Renderer Interface API makes it very easy to add new renderers for different chart types. Classes to interpolate measured data and to plot mathematical functions are also included.