package picasso

  1. Overview
  2. Docs
Abstract elements drawing library

Install

Dune Dependency

Authors

Maintainers

Sources

v0.2.0.tar.gz
md5=c3016b30afc69954d229848b75bb0712
sha512=ca5ec5a2cb621cdd958b03491931c852ce4b474d50b6a0fec3559bf0afcdceb087006eea05e6487ccfd7981d3aabc967ba62b86786ea3b51ea0ccda57792b9e3

Description

A toolbox for drawing abstract elements

Published: 29 Jan 2021

README

Picasso

Picasso is an Abstract element drawing library which provides several ways of drawing abstract element.

Visualization of abstract element poses two practical problems:

  • abstract elements may be unbounded, are generally defined on more than 2 dimensions, thus rendering them in a 2d context can be difficult.

  • managing graphical libraries can be really painful (especially in OCaml) and requires unnecessary efforts.

Picasso solves these issues by providing functions that handle most of the boilerplate you usually write to draw abstract elements and also tries to use already installed graphical libraries instead of requiring heavy dependencies.

Documentation

you can build it locally by doing make doc or consult the online documentation

Different Abstract Domains

Picasso handles non-necessarily convex linear spaces of several dimensions, bounded or not. It provides utilities to draw abstract element of the Apron library in a straightforward way, plus some other ways of defining drawable values (see the Drawable module).

Dependencies and build

Picasso can use different graphical library without imposing heavy dependencies for the end-user. It uses the opam optional dependency feature, along with dune's alternative dependencies, to look for available graphical library on your system to use those. Also note that using opam, while installing a new graphical package, picasso will be recompiled automatically make the new library usable.

Current backends include:

  • interactive Gtk window (scrollable, zoomable)

  • SVG generation

  • LaTex generation (using TikZ)

  • 3D .obj file generation (you can use g3dviewer, among others, to visualize the 3d model)

  • Non-interractive graphics window

Dependencies (4)

  1. apron
  2. apronext >= "1.0.3"
  3. ocaml >= "4.08"
  4. dune >= "2.1"

Dev Dependencies

None

Used by (1)

  1. absolute < "0.2"

Conflicts

None

OCaml

Innovation. Community. Security.