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.
Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. The API is deliberately similar to Matlab's. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS numerics libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
wxFreeChart is powerful charting library based on wxWidgets. It is designed with flexibility in mind, and supports many types of charts with many different configurations. These include line/histogram charts base on x/y coordinates, bar charts (vertical or horizontal), stacked bar charts, layered bar charts, OHLC financial charts (bars or candlesticks), pie charts, bubble charts, and Gantt charts.
Assimp is a portable and extensible library designed for reading various well-known 3D file formats. It provides APIs for C and C++ and several wrappers for other languages. It reads more than 20 different 3D file formats (including Collada, 3DS, OBJ, LWO, and X) into a straightforward, hierarchical in-memory data structure that can easily be read and processed by applications. Several post processing steps can be applied, such as normal and tangent computations, index buffer, and vertex cache optimization. The library supports complex multi-layer materials and skinned meshes with multiple animations. A Windows-based viewer utility is provided as an implementation reference.
The Parsing Expression Grammar Template Library (PEGTL) is a C++0x library for creating parsers according to a Parsing Expression Grammar (PEG). Grammars are embedded as regular C++ code, created with template programming (not template meta programming). These hierarchies naturally correspond to the inductive definition of PEGs. The library extends on the subject of PEGs with new expression types, actions that can be attached to grammar rules, and mechanisms to ensure helpful diagnostics in case of parsing errors. PEGs are superficially similar to Context-Free Grammars (CFGs).
TooN is a very efficient numerics library for C++. The main focus of the library is efficient and safe handling of large numbers of small vector matrices and providing as much compile time checking as is possible. The library also works with large vectors and matrices and integrates easily with existing code. In addition to elementary vector and matrix operations, the library also providers linear solvers, matrix decompositions, optimization, and wrappers around LAPACK.