Asymptote is a powerful descriptive 2D and 3D vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. It provides for figures the same high-quality level of typesetting that LaTeX does for scientific text. Asymptote is a programming language as opposed to just a graphics program. It can exploit the best features of script (command-driven) and graphical user interface (GUI) methods. High-level graphics commands are implemented in the language itself, allowing them to be easily tailored to specific applications.
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.
pythonOCC is a 3D CAD/PLM development library for the Python programming language. It provides 3D hybrid modeling, data exchange (support for the STEP/IGES file format), GUI management support (wxPython, PyQt, python-xlib), parametric modeling, and advanced meshing features. pythonOCC is built upon the OpenCASCADE 3D modeling kernel and the salomegeom and salomesmesh packages. Some high level packages (for parametric modeling, topology, data exchange, webservices, etc.) extend the builtin features of those libraries to enable highly dynamic and modular programming of any CAD application.
libcfp analyzes and parses the syntax of a user-supplied chemical formula in ASCII notation. It does not know anything about the semantics of real world physical element characteristics. But it requires no external library dependencies and uses namespace std:: only. Furthermore, it uses UnitTest++ during development to ensure consistent behavior of formula parsing.