pigale Using Pigale SourceForge Logo


Starting Pigale

If pigale has been compiled with a Qt version at least 3.0, pigale first reads the settings that have been saved.
The input and output files can be overridden by the arguments passed to pigale.
The valid flags are:
-i file input-filename
-o file output-filename
-m file macro-filename
-s start pigale as a server
-v version
-style cde|CleanLooks|WindowsXP|MacIntosh|Motif style
-h help.
The filenames must include the paths, which will determined the repertories where the files are loaded and saved.
The first time you execute pigale, you are asked to give a location of input files and the location of this manual.
Graphs are either coded as tgf files , ascii files or graphml files
The arrows of the tool bar let you load the next or previous graph of the current tgf file or reload the current one.
left reload right
On the lowest band of the main window is displayed the current tgf input and output file.
In Pigale there always one active graph which is displayed in the Graph editor window. That graph can be saved, modified or displayed by different algorithms. A copy is created for any display not in the Graph editor window.


Under the menus, there is a tool bar that you can move around or hide.
Notice that some menus are not available if the current graph does not fulfill the right properties for a given algorithm.
If you see a small manual " xman " at the left of a menu item, you can get a small help using the WhatisThis button xman
The windows next, to the Graph editor window, are used to show different views of a graph and these few notes.
They can be printed (except the one for 3d embeddings) or exported as png images.
The top right window is for messages (properties of the graph, warnings, etc.). Just under are displayed the main properties of the graph, all of them are maintained in real time.

Pigale settings

Among other things, the Settings menu allows you to: Under Linux, the settings are saved in ~/.qt/pigalerc. The dashed line at the top of the settings menu, is used to create a floating settings menu.

Using the editor

Mouse Actions

By default, the left button of the mouse is use to move vertices.
Other actions can be selected, by clicking on the radio buttons (Left Button).
If the shift is pressed, the actions are toggled the following way: Other actions:

Colors and Thickness

The 16 upper small colored squares at the right of the editing window, defines the brush color which appears with a bigger square.
The brush color defines the color of the vertices when they are created, re colored or define the ones to be deleted.
The 16 lower squares have the same functionality for edges.
The last 3 squares are used to define the thickness of the edges.

Drawing on a grid

The grid size is defined by the slider position.
When a graph is loaded, Pigale computes the minimum size grid on which the graph can be drawn, without moving the vertices. When you click on Force G, Pigale will force all the vertices to fall on grid points, checking overlapping of vertices and checking that the map is unchanged. The undo G button, let you come back to the previous state. When you click on Fit grid, you are forced to move or create vertices on grid points.


If this function is enable, a copy of the current graph is appended each time a program adds or delete edges or one manually delete vertices.
One can always Redo an undo.
When a new graph is loaded, all the copies are destroyed and the current graph is saved.
The save icon let you manually append a copy.
leftarrow save rightarrow
Undo Save Redo
There is no limit of the number of copies which are placed in a temporary file, which name is written in log.txt


Normally one should use the mouse Wheel.
In the drawing window, the zoom operates around the last clicked position. If you have no mouse wheel, you can use the keyboard up and down arrows to zoom and home to reset the zoom provided you have clicked on the drawing.


You can record any number of functions from the menus Augment, Remove, Dual/Angle, Algo, Orient, Generate and UserMenu.
These macros can be saved as text files.
When you execute a macro, the recording is stopped but you can restart it.
Play macro
If the first record is not a graph generator, the macro will start loading the next graph of the current file.
If the repeat macro value is 0, the macro will be repeated until you quit that function by typing ESC, or if an error occurs..

Embedding a graph in space

The user have the choice among the following distances: The axes X,Y,Z are respectively colored Red,Green,Blue

Mouse Action


The rightmost spin boxes let you select the projection to display. The facet button triangulate the graph, if it is planar, and draw the facets.


Generating graphs

The planar graph generators are based on the algorithms of Gilles Schaeffer. They produce random planar graphs with prescribed properties.
The size input of these algorithms is either the number of edges The program automatically modified this value if unacceptable (e.g. a cubic graph has a number of edges divisible by three).
Depending on the prescribed properties, the algorithms, consume more or less memory and time. To get reasonable performance, we allow the algorithms to generate graphs with slightly different size than the prescribed one.
Loops are always erased (1-connected graphs get less edges than asked).
If the option Erase multiple edges is on, we erase multiple edges after the generation process, therefore we do not maintain the degree property.

Tgf, GRAPHML and ASCII files

We use a general proprietary format TGF.
A TGF file contains records, here corresponding to graphs. Each record consisting of a variable number of fields.
One of its main advantage is that we can write and read any complex data structure. But it is dependent of the processor type (Low or High indian etc).

We partially implemented the GRAPHML file format (cf. http://graphml.graphdrawing.org/), which is now the only way to add text labels to the vertices

We use a very simple ASCII file structure to store graphs.
For example, the following file defines a graph called Triangle with three vertices labeled 10,20,30 and three edges. The first 0 at the last line indicates the end of the list of edges, the second one indicates the end of the graph data.

PIG:0 Triangle
10 20
20 30
30 10
0 0

Last modified: Tue Jan 29 12:25:08 CET 2008

Valid XHTML 1.0 Strict