RELEASE NOTES
What is new in release 1.1?
1. GraphStream 1.1 supports most of the commonly used graph file formats
(DOT, GML, GEXF, Pajek, GraphML, TLP). It can read files in these formats
thus making the interface with other graph libraries easier. Some of these
parsers (DOT, GML, Pajek, TLP) are (re)written using a JavaCC grammar to
reproduce the exact format specifications.
2. There is a new way to access graph elements (nodes and edges) by index
in addition to the access by identifier. The access by index is faster and
allows easy interfacing with APIs that use arrays.
3. New methods are added to Graph and Node interfaces for more flexibility.
In general, there are three ways to pass a graph element to a method: by id,
by index and by reference.
4. The Graph implementations (AdjacencyListGraph, SingleGraph and MultiGraph)
were completely rewritten. The common code (Sink and Source implementation)
was refactored. The new implementations are more stable and provide faster
access and iteration (especially breadth-first and depth-first iteration) with
almost no memory overhead.
5. Concept of "Camera" has been extracted from the previous implementation.
With this new version, each view of a viewer has to return a camera object. This
object allows to get informations about the view (view center, zoom, etc ...), to
control this view and to convert pixels to graphic units and vice-versa.
6. There is a new directive in the DGS specifications. This directive, called "cl",
is linked to the "graphCleared()" event of a sink.
7. Dijkstra's algorithm was reimplemented. The new implementation is much faster.
The API has slightly changed.
With the help of our users many bugs were detected and fixed.
Special thanks to all of them for their feedback.