SourceForge Logo
Public Implementation of a Graph Algorithm
Library and Editor

H. de Fraysseix      P. Ossona de Mendez



Pigale is an algorithm library and a graph editor which has been designed for graph theoretical research. It is based over a new graph data structure optimizing topological operations on static graphs.
It consists of three parts:


This package includes the source files of the library tgraph, the editor pigale, the client program and the souces of the freeglut library.
The editor and the client use the Qt4 toolkit, the OpenGL libraries for the 3-dimensional drawings, and the library freeglut to draw text on 3d objects.

Organisation of files

In the main directory one find the following directories: qt contains also all the headers that need to be proceceeded by moc.
The header incl/QT/Action.h is generated by awk from incl/QT/Action_def.h

Platform dependancy

Pigale has been tested on Linux and Windows.
There is very little code platform dependant.
We define _WIN32 when compiling on a Windows platform and _WINDOWS when using a Microsoft compiler.

Architecture of the Editor

Pigale uses two threads: We give below a rough idea how Pigale works.

When a menu is clicked a Qaction action signal is emitted. That action contains an integer which identifies the algorihtm to be performed.
The signal is received by pigaleWindow::handler(QAction *qaction) who passes the identifier to pigaleThread.
pigaleThread call a hanler (defined in handler.h) which execute the needed action and returns a value which indicates if some graphical needs to be performed.
The pigaleThread sends a signal to the main thread telling which graphic action should be done.
The pigaleThread sleeps until the main thread has finished its graphic action.

Generated on Thu Jan 31 16:50:45 2008 for Pigale by  doxygen 1.5.4