[ The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]

# library(daVinci)

This library provides a simple interface to the daVinci graph drawing tool

## Predicates

> daVinci_begin
>   Start the connection to daVinci and begin the transfer of a new graph
> daVinci_draw_graph(+Graph)
>   Draw a graph in lib(graph_algorithms) format
> daVinci_edge(?Name, ?Node1, ?Node2)
>   This command adds an edge between two nodes in the graph.
> daVinci_edge_attribute(?Name, ++Type, ++Value)
>   Set an attribute for an edge in the graph
> daVinci_end
>   This commands ends the information about a graph and calls daVinci to draw it.
> daVinci_exit
>   This commands closes the connection and exits daVinci.
> daVinci_node(?Node)
>   Define one node for the graph. The label of the node is equal to its name.
> daVinci_node(?Node, ?Info)
>   Defines a node in the graph. The label of the node can be different from the name.
> daVinci_node_attribute(?Name, ++Type, ++Value)
>   Set an attribute for a node in the graph

## Description

This library provides a simple interface to the daVinci graph drawing tool. It allows to specify a graph with nodes, edges and their attributes, and draws the graph inside the daVinci tool. The interface does not allow callbacks back from the daVinci system, nor does it handle the customisation of the daVinci interface that is possible.

The daVinci system is a graph drawing tool developed at the University of Bremen in Germany and is freely available for non-profit and internal use. Please download the software from their WEB site daVinci Home page and register with the developers. We do not provide the executable as part of this library.

The communication between Eclipse and daVinci is handled by a socket interface, where we exchange text messages terminated by a line-feed. In order to gain a bit of flexibility in the interface, we use two string streams to buffer information about edges and attributes. The three streams used for communication are called daVinciOut, daVinciEdge and daVinciAttribute. If the stream daVinciOut exists, we assume that the daVinci server is running and that we can send information to it. If the stream does not exist, then we open the daVinci program in server mode and connect the stream to the socket connection on the port 2542.

## About

- Author: H. Simonis
- Date: $Date: 2006/09/23 01:54:55 $

Generated from daVinci.eci on Sat Nov 8 06:57:38 2008