org.graphstream.stream.file
Class FileSinkTikZ

java.lang.Object
  extended by org.graphstream.stream.file.FileSinkBase
      extended by org.graphstream.stream.file.FileSinkTikZ
All Implemented Interfaces:
AttributeSink, ElementSink, FileSink, Sink

public class FileSinkTikZ
extends FileSinkBase

An export of a graph to PGF/TikZ format. http://sourceforge.net/projects/pgf/ This allows to include graph in a latex document. Only writeAll(Graph,*) is working, dynamics is not handle. If the exported graph is a GraphicGraph, then CSS style of the graph will be used. For a better rendering, it is strongly recommended to run previously a layout algorithm that will add coordinates on nodes. Else, random coordinates will be choosen for nodes. Layout can be run in this way : Graph g; ... SpringBox sbox = new SpringBox(); g.addSink(sbox); sbox.addAttributeSink(g); do sbox.compute(); while (sbox.getStabilization() < 0.9); g.removeSink(sbox); sbox.remoteAttributeSink(g); TikZ pictures are scalable so pixel units is not handle here. The picture is bounded in a box which width and height can be defined by adding attributes to the graph:

The value of these attributes has to be considered as centimeters. Common supported style : Node supported style : Edge supported style :


Field Summary
static double DEFAULT_HEIGHT
           
static double DEFAULT_WIDTH
           
static double DISPLAY_MAX_SIZE_IN_MM
          Define the default maximum size of nodes when using a dynamic size.
static double DISPLAY_MIN_SIZE_IN_MM
          Define the default minimum size of nodes when using a dynamic size.
static String HEIGHT_ATTR
          Graph attribute storing height of the TikZ picture.
static String WIDTH_ATTR
          Graph attribute storing width of the TikZ picture.
static String XYZ_ATTR
          Node attribute storing coordinates.
 
Constructor Summary
FileSinkTikZ()
           
 
Method Summary
 void edgeAdded(String sourceId, long timeId, String edgeId, String fromNodeId, String toNodeId, boolean directed)
          An edge was inserted in graph.
 void edgeAttributeAdded(String sourceId, long timeId, String edgeId, String attribute, Object value)
          A edge attribute was added.
 void edgeAttributeChanged(String sourceId, long timeId, String edgeId, String attribute, Object oldValue, Object newValue)
          A edge attribute was changed.
 void edgeAttributeRemoved(String sourceId, long timeId, String edgeId, String attribute)
          A edge attribute was removed.
 void edgeRemoved(String sourceId, long timeId, String edgeId)
          An edge of graph was removed.The nodes the edge connects may already have been removed from the graph.
 double getHeight()
           
 double getWidth()
           
 void graphAttributeAdded(String sourceId, long timeId, String attribute, Object value)
          A graph attribute was added.
 void graphAttributeChanged(String sourceId, long timeId, String attribute, Object oldValue, Object newValue)
          A graph attribute was changed.
 void graphAttributeRemoved(String sourceId, long timeId, String attribute)
          A graph attribute was removed.
 void graphCleared(String sourceId, long timeId)
          The whole graph was cleared.
 void nodeAdded(String sourceId, long timeId, String nodeId)
          A node was inserted in the given graph.
 void nodeAttributeAdded(String sourceId, long timeId, String nodeId, String attribute, Object value)
          A node attribute was added.
 void nodeAttributeChanged(String sourceId, long timeId, String nodeId, String attribute, Object oldValue, Object newValue)
          A node attribute was changed.
 void nodeAttributeRemoved(String sourceId, long timeId, String nodeId, String attribute)
          A node attribute was removed.
 void nodeRemoved(String sourceId, long timeId, String nodeId)
          A node was removed from the graph.
 void setCSS(String css)
           
 void setDisplaySize(double min, double max)
           
 void setHeight(double height)
           
 void setLayout(boolean layout)
           
 void setWidth(double width)
           
 void stepBegins(String sourceId, long timeId, double step)
           Since dynamic graphs are based on discrete event modifications, the notion of step is defined to simulate elapsed time between events.
 
Methods inherited from class org.graphstream.stream.file.FileSinkBase
begin, begin, begin, end, flush, writeAll, writeAll, writeAll
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XYZ_ATTR

public static final String XYZ_ATTR
Node attribute storing coordinates.

See Also:
Constant Field Values

WIDTH_ATTR

public static final String WIDTH_ATTR
Graph attribute storing width of the TikZ picture.

See Also:
Constant Field Values

HEIGHT_ATTR

public static final String HEIGHT_ATTR
Graph attribute storing height of the TikZ picture.

See Also:
Constant Field Values

DEFAULT_WIDTH

public static final double DEFAULT_WIDTH
See Also:
Constant Field Values

DEFAULT_HEIGHT

public static final double DEFAULT_HEIGHT
See Also:
Constant Field Values

DISPLAY_MIN_SIZE_IN_MM

public static final double DISPLAY_MIN_SIZE_IN_MM
Define the default minimum size of nodes when using a dynamic size. This size is in millimeter.

See Also:
Constant Field Values

DISPLAY_MAX_SIZE_IN_MM

public static final double DISPLAY_MAX_SIZE_IN_MM
Define the default maximum size of nodes when using a dynamic size. This size is in millimeter.

See Also:
Constant Field Values
Constructor Detail

FileSinkTikZ

public FileSinkTikZ()
Method Detail

getWidth

public double getWidth()

setWidth

public void setWidth(double width)

getHeight

public double getHeight()

setHeight

public void setHeight(double height)

setDisplaySize

public void setDisplaySize(double min,
                           double max)

setCSS

public void setCSS(String css)

setLayout

public void setLayout(boolean layout)

graphAttributeAdded

public void graphAttributeAdded(String sourceId,
                                long timeId,
                                String attribute,
                                Object value)
Description copied from interface: AttributeSink
A graph attribute was added.

Parameters:
sourceId - Identifier of the graph where the attribute changed.
attribute - The attribute name.
value - The attribute new value.

graphAttributeChanged

public void graphAttributeChanged(String sourceId,
                                  long timeId,
                                  String attribute,
                                  Object oldValue,
                                  Object newValue)
Description copied from interface: AttributeSink
A graph attribute was changed.

Parameters:
sourceId - Identifier of the graph where the attribute changed.
attribute - The attribute name.
oldValue - The attribute old value.
newValue - The attribute new value.

graphAttributeRemoved

public void graphAttributeRemoved(String sourceId,
                                  long timeId,
                                  String attribute)
Description copied from interface: AttributeSink
A graph attribute was removed.

Parameters:
sourceId - Identifier of the graph where the attribute was removed.
attribute - The removed attribute name.

nodeAttributeAdded

public void nodeAttributeAdded(String sourceId,
                               long timeId,
                               String nodeId,
                               String attribute,
                               Object value)
Description copied from interface: AttributeSink
A node attribute was added.

Parameters:
sourceId - Identifier of the graph where the change occurred.
nodeId - Identifier of the node whose attribute changed.
attribute - The attribute name.
value - The attribute new value.

nodeAttributeChanged

public void nodeAttributeChanged(String sourceId,
                                 long timeId,
                                 String nodeId,
                                 String attribute,
                                 Object oldValue,
                                 Object newValue)
Description copied from interface: AttributeSink
A node attribute was changed.

Parameters:
sourceId - Identifier of the graph where the change occurred.
nodeId - Identifier of the node whose attribute changed.
attribute - The attribute name.
oldValue - The attribute old value.
newValue - The attribute new value.

nodeAttributeRemoved

public void nodeAttributeRemoved(String sourceId,
                                 long timeId,
                                 String nodeId,
                                 String attribute)
Description copied from interface: AttributeSink
A node attribute was removed.

Parameters:
sourceId - Identifier of the graph where the attribute was removed.
nodeId - Identifier of the node whose attribute was removed.
attribute - The removed attribute name.

edgeAttributeAdded

public void edgeAttributeAdded(String sourceId,
                               long timeId,
                               String edgeId,
                               String attribute,
                               Object value)
Description copied from interface: AttributeSink
A edge attribute was added.

Parameters:
sourceId - Identifier of the graph where the change occurred.
edgeId - Identifier of the edge whose attribute changed.
attribute - The attribute name.
value - The attribute new value.

edgeAttributeChanged

public void edgeAttributeChanged(String sourceId,
                                 long timeId,
                                 String edgeId,
                                 String attribute,
                                 Object oldValue,
                                 Object newValue)
Description copied from interface: AttributeSink
A edge attribute was changed.

Parameters:
sourceId - Identifier of the graph where the change occurred.
edgeId - Identifier of the edge whose attribute changed.
attribute - The attribute name.
oldValue - The attribute old value.
newValue - The attribute new value.

edgeAttributeRemoved

public void edgeAttributeRemoved(String sourceId,
                                 long timeId,
                                 String edgeId,
                                 String attribute)
Description copied from interface: AttributeSink
A edge attribute was removed.

Parameters:
sourceId - Identifier of the graph where the attribute was removed.
edgeId - Identifier of the edge whose attribute was removed.
attribute - The removed attribute name.

nodeAdded

public void nodeAdded(String sourceId,
                      long timeId,
                      String nodeId)
Description copied from interface: ElementSink
A node was inserted in the given graph.

Parameters:
sourceId - Identifier of the graph where the node was added.
nodeId - Identifier of the added node.

nodeRemoved

public void nodeRemoved(String sourceId,
                        long timeId,
                        String nodeId)
Description copied from interface: ElementSink
A node was removed from the graph.

Parameters:
sourceId - Identifier of the graph where the node will be removed.
nodeId - Identifier of the removed node.

edgeAdded

public void edgeAdded(String sourceId,
                      long timeId,
                      String edgeId,
                      String fromNodeId,
                      String toNodeId,
                      boolean directed)
Description copied from interface: ElementSink
An edge was inserted in graph.

Parameters:
sourceId - Identifier of the graph where the edge was added.
edgeId - Identifier of the added edge.
fromNodeId - Identifier of the first node of the edge.
toNodeId - Identifier of the second node of the edge.
directed - If true, the edge is directed.

edgeRemoved

public void edgeRemoved(String sourceId,
                        long timeId,
                        String edgeId)
Description copied from interface: ElementSink
An edge of graph was removed.The nodes the edge connects may already have been removed from the graph.

Parameters:
sourceId - The graph where the edge will be removed.
edgeId - The edge that will be removed.

graphCleared

public void graphCleared(String sourceId,
                         long timeId)
Description copied from interface: ElementSink
The whole graph was cleared. All the nodes, edges and attributes of the graph are removed.

Parameters:
sourceId - The graph cleared.

stepBegins

public void stepBegins(String sourceId,
                       long timeId,
                       double step)
Description copied from interface: ElementSink

Since dynamic graphs are based on discrete event modifications, the notion of step is defined to simulate elapsed time between events. So a step is a event that occurs in the graph, it does not modify it but it gives a kind of timestamp that allow the tracking of the progress of the graph over the time.

This kind of event is useful for dynamic algorithms that listen to the dynamic graph and need to measure the time in the graph's evolution.

Parameters:
sourceId - Identifier of the graph where the step starts.
timeId - A numerical value that may give a timestamp to track the evolution of the graph over the time.


Copyright © 2013. All Rights Reserved.