mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-25 07:42:13 +08:00
9f12e36459
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@6192 af4574ff-66df-0310-9fd7-8a98e5e911e0
595 lines
24 KiB
XML
595 lines
24 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY graphviz-download-http "http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-&graphviz-version;.tar.gz">
|
|
<!ENTITY graphviz-download-ftp " ">
|
|
<!ENTITY graphviz-md5sum "ca921b4a9bcd86da4a1092bb17a57d83">
|
|
<!ENTITY graphviz-size "4.2 MB">
|
|
<!ENTITY graphviz-buildsize "114 MB">
|
|
<!ENTITY graphviz-time "2.1 SBU">
|
|
]>
|
|
|
|
<sect1 id="graphviz" xreflabel="Graphviz-&graphviz-version;">
|
|
<?dbhtml filename="graphviz.html"?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>Graphviz-&graphviz-version;</title>
|
|
|
|
<indexterm zone="graphviz">
|
|
<primary sortas="a-Graphviz">Graphviz</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to Graphviz</title>
|
|
|
|
<para>The <application>Graphviz</application> package contains graph
|
|
visualization software. Graph visualization is a way of representing
|
|
structural information as diagrams of abstract graphs and networks.
|
|
<application>Graphviz</application> has several main graph layout
|
|
programs. It also has web and interactive graphical interfaces, auxiliary
|
|
tools, libraries, and language bindings.</para>
|
|
|
|
<para>The <application>Graphviz</application> layout programs take
|
|
descriptions of graphs in a simple text language, and creates diagrams in
|
|
several useful formats such as images and SVG for web pages, Postscript for
|
|
inclusion in PDF or other documents, or as objects displayed in an
|
|
interactive graph browser. (Graphviz also supports GXL, an XML dialect.) In
|
|
practice, graphs are usually generated from external data sources, but they
|
|
can also be created and edited manually, either as raw text files or within
|
|
a graphical editor. (Graphviz was not intended to be a
|
|
<application>Visio</application> replacement, so it would probably be
|
|
frustrating to try to use it that way.)</para>
|
|
|
|
<para>This package is useful for automatic graph drawing which has many
|
|
important applications in software engineering, database and web design,
|
|
networking, and in visual interfaces for many other domains. Graphviz has
|
|
many useful features for concrete diagrams, such as options for colors,
|
|
fonts, tabular node layouts, line styles, hyperlinks, and custom
|
|
shapes.</para>
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>Download (HTTP): <ulink url="&graphviz-download-http;"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download (FTP): <ulink url="&graphviz-download-ftp;"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download MD5 sum: &graphviz-md5sum;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download size: &graphviz-size;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Estimated disk space required: &graphviz-buildsize;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Estimated build time: &graphviz-time;</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Graphviz Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional"><xref linkend="x-window-system"/>,
|
|
<xref linkend="pkgconfig"/>,
|
|
<xref linkend="expat"/>,
|
|
<xref linkend="libpng"/>,
|
|
<xref linkend="libjpeg"/>,
|
|
<xref linkend="freetype2"/>,
|
|
<xref linkend="fontconfig"/>,
|
|
<xref linkend="tcl"/>,
|
|
<xref linkend="tk"/>, and
|
|
<ulink url="http://www.perens.com/FreeSoftware/ElectricFence/">Electric Fence</ulink>
|
|
<!-- Commenting this out for now until an updated version of the
|
|
GD library becomes available. Graphviz uses its internal copy for now
|
|
<ulink url="http://www.boutell.com/gd/">GD Library</ulink>, --></para>
|
|
|
|
<bridgehead renderas="sect4">Optional
|
|
(to Build Language Bindings)</bridgehead>
|
|
<para role="optional"><ulink url="http://www.swig.org/">SWIG</ulink>
|
|
(<application>SWIG</application> must be installed or no bindings will be
|
|
built),
|
|
<xref linkend="guile"/>,
|
|
<xref linkend="jdk"/>,
|
|
<xref linkend="php"/>,
|
|
<xref linkend="python"/>,
|
|
<xref linkend="ruby"/>,
|
|
<xref linkend="tcl"/>,
|
|
C# (<ulink url="http://www.southern-storm.com.au/portable_net.html">DotGNU Portable.NET</ulink>
|
|
or <ulink url="http://www.mono-project.com/Main_Page">Mono</ulink>),
|
|
<ulink url="http://www.iolanguage.com/about/">Io</ulink>,
|
|
<ulink url="http://www.lua.org/">Lua</ulink>, and
|
|
<ulink url="http://caml.inria.fr/ocaml/index.en.html">Objective Caml</ulink></para>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/graphviz"/></para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of Graphviz</title>
|
|
|
|
<para>Install <application>Graphviz</application> by running the following
|
|
commands:</para>
|
|
|
|
<screen><userinput>./configure --prefix=/usr &&
|
|
make</userinput></screen>
|
|
|
|
<para>This package does not come with a test suite.</para>
|
|
|
|
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
|
|
|
|
<screen role="root"><userinput>make install</userinput></screen>
|
|
|
|
<para>If desired, create a symbolic link in the system documents directory
|
|
to the documentation installed in
|
|
<filename class='directory'>/usr/share/graphviz/doc</filename> using the
|
|
following command as the <systemitem class="username">root</systemitem>
|
|
user:</para>
|
|
|
|
<screen role="root"><userinput>ln -v -s /usr/share/graphviz/doc \
|
|
/usr/share/doc/graphviz-&graphviz-version;</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring Graphviz</title>
|
|
|
|
<sect3 id="graphviz-config">
|
|
<title>Config Files</title>
|
|
<para><filename>/usr/lib/graphviz/config</filename></para>
|
|
|
|
<indexterm zone="graphviz graphviz-config">
|
|
<primary sortas="e-usr-share-graphviz-config">/usr/share/graphviz/config</primary>
|
|
</indexterm>
|
|
|
|
</sect3>
|
|
|
|
<sect3><title>Configuration Information</title>
|
|
|
|
<para>There are no specific configuration requirements for
|
|
<application>Graphviz</application>. You may consider installing the
|
|
additional plugins and tools available from the download page at
|
|
<ulink url="http://www.graphviz.org/Download_source.php"/> for additional
|
|
capabilities. If additional plugins are installed, you can run
|
|
<command>dot_static -c</command> (as the
|
|
<systemitem class="username">root</systemitem> user) to update the
|
|
<filename>config</filename> file in
|
|
<filename class='directory'>/usr/lib/graphviz</filename>.</para>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>acyclic, bcomps, ccomps, circo, dijkstra, dot, dot2gxl,
|
|
dot_static, dotty, fdp, gc, gvcolor, gvpack, gvpr, gxl2dot, lefty,
|
|
lneato, nop, prune, sccmap, tred, twopi and unflatten</seg>
|
|
<seg>libagraph.{so,a}, libcdt.{so,a}, libexpr.{so,a}, libgraph.{so,a},
|
|
libpack.{so,a}, libpathplan.{so,a}, additional support libraries
|
|
and language bindings</seg>
|
|
<seg>/usr/include/graphviz, /usr/lib/graphviz and
|
|
/usr/share/graphviz</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="acyclic">
|
|
<term><command>acyclic</command></term>
|
|
<listitem>
|
|
<para>is a filter that takes a directed graph as input and outputs a
|
|
copy of the graph with sufficient edges reversed to make the graph
|
|
acyclic. The reversed edge inherits all of the attributes of the
|
|
original edge.</para>
|
|
<indexterm zone="graphviz acyclic">
|
|
<primary sortas="b-acyclic">acyclic</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="bcomps">
|
|
<term><command>bcomps</command></term>
|
|
<listitem>
|
|
<para>decomposes graphs into their biconnected components, printing
|
|
the components to standard output.</para>
|
|
<indexterm zone="graphviz bcomps">
|
|
<primary sortas="b-bcomps">bcomps</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="ccomps">
|
|
<term><command>ccomps</command></term>
|
|
<listitem>
|
|
<para>decomposes graphs into their connected components, printing the
|
|
components to standard output.</para>
|
|
<indexterm zone="graphviz ccomps">
|
|
<primary sortas="b-ccomps">ccomps</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="circo">
|
|
<term><command>circo</command></term>
|
|
<listitem>
|
|
<para>draws graphs using a circular layout. The tool identifies
|
|
biconnected components and draws the nodes of the component on a
|
|
circle. The block-cutpoint tree is then laid out using a recursive
|
|
radial algorithm. Edge crossings within a circle are minimized by
|
|
placing as many edges on the circle's perimeter as possible. In
|
|
particular, if the component is outerplanar, the component will have
|
|
a planar layout.</para>
|
|
<indexterm zone="graphviz circo">
|
|
<primary sortas="b-circo">circo</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dijkstra">
|
|
<term><command>dijkstra</command></term>
|
|
<listitem>
|
|
<para>reads a stream of graphs and for each computes the distance of
|
|
every node from sourcenode.</para>
|
|
<indexterm zone="graphviz dijkstra">
|
|
<primary sortas="b-dijkstra">dijkstra</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dot">
|
|
<term><command>dot</command></term>
|
|
<listitem>
|
|
<para>draws directed graphs. It works well on DAGs and other graphs
|
|
that can be drawn as hierarchies. It reads attributed graph files and
|
|
writes drawings. By default, the output format dot is the input file
|
|
with layout coordinates appended.</para>
|
|
<indexterm zone="graphviz dot">
|
|
<primary sortas="b-dot">dot</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dot2gxl">
|
|
<term><command>dot2gxl</command></term>
|
|
<listitem>
|
|
<para>converts between graphs represented in GXL and in the DOT
|
|
language. Unless a conversion type is specified using a flag,
|
|
<command>gxl2dot</command> will deduce the type of conversion from
|
|
the suffix of the input file, a
|
|
<filename class='extension'>.dot</filename> suffix causing a
|
|
conversion from DOT to GXL, and a
|
|
<filename class='extension'>.gxl</filename> suffix causing a
|
|
conversion from GXL to DOT.</para>
|
|
<indexterm zone="graphviz dot2gxl">
|
|
<primary sortas="b-dot2gxl">dot2gxl</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dot_static">
|
|
<term><command>dot_static</command></term>
|
|
<listitem>
|
|
<para>is a version of <command>dot</command>that has all the
|
|
<application>Graphviz</application> libraries compiled
|
|
statically.</para>
|
|
<indexterm zone="graphviz dot_static">
|
|
<primary sortas="b-dot_static">dot_static</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dotty">
|
|
<term><command>dotty</command></term>
|
|
<listitem>
|
|
<para>is a graph editor for the X Window System. It may be run as a
|
|
standalone editor, or as a front end for applications that use
|
|
graphs. It can control multiple windows viewing different
|
|
graphs.</para>
|
|
<indexterm zone="graphviz dotty">
|
|
<primary sortas="b-dotty">dotty</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="fdp">
|
|
<term><command>fdp</command></term>
|
|
<listitem>
|
|
<para>draws undirected graphs using a <quote>spring</quote> model. It
|
|
relies on a force-directed approach in the spirit of Fruchterman and
|
|
Reingold.</para>
|
|
<indexterm zone="graphviz fdp">
|
|
<primary sortas="b-fdp">fdp</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gc-graphviz">
|
|
<term><command>gc</command></term>
|
|
<listitem>
|
|
<para>is a graph analogue to <command>wc</command> in that it prints
|
|
to standard output the number of nodes, edges, connected components
|
|
or clusters contained in the input files. It also prints a total
|
|
count for all graphs if more than one graph is given.</para>
|
|
<indexterm zone="graphviz gc-graphviz">
|
|
<primary sortas="b-gc">gc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gvcolor">
|
|
<term><command>gvcolor</command></term>
|
|
<listitem>
|
|
<para>is a filter that sets node colors from initial seed values.
|
|
Colors flow along edges from tail to head, and are averaged (as HSB
|
|
vectors) at nodes. The graph must already have been processed by
|
|
<command>dot</command>.</para>
|
|
<indexterm zone="graphviz gvcolor">
|
|
<primary sortas="b-gvcolor">gvcolor</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gvpack">
|
|
<term><command>gvpack</command></term>
|
|
<listitem>
|
|
<para>reads in a stream of graphs, combines the graphs into a single
|
|
layout, and produces a single graph serving as the union of the input
|
|
graphs. The input graphs must be in <command>dot</command> format, and
|
|
must have all necessary layout information.</para>
|
|
<indexterm zone="graphviz gvpack">
|
|
<primary sortas="b-gvpack">gvpack</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gvpr">
|
|
<term><command>gvpr</command></term>
|
|
<listitem>
|
|
<para>is a graph stream editor inspired by <command>awk</command>. It
|
|
copies input graphs to its output, possibly transforming their
|
|
structure and attributes, creating new graphs, or printing arbitrary
|
|
information.</para>
|
|
<indexterm zone="graphviz gvpr">
|
|
<primary sortas="b-gvpr">gvpr</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gxl2dot">
|
|
<term><command>gxl2dot</command></term>
|
|
<listitem>
|
|
<para>converts between graphs represented in GXL and in the DOT
|
|
language. Unless a conversion type is specified using a flag,
|
|
<command>gxl2dot</command> will deduce the type of conversion from
|
|
the suffix of the input file, a
|
|
<filename class='extension'>.dot</filename> suffix causing a
|
|
conversion from DOT to GXL, and a
|
|
<filename class='extension'>.gxl</filename> suffix causing a
|
|
conversion from GXL to DOT.</para>
|
|
<indexterm zone="graphviz gxl2dot">
|
|
<primary sortas="b-gxl2dot">gxl2dot</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lefty">
|
|
<term><command>lefty</command></term>
|
|
<listitem>
|
|
<para>is a two-view graphics editor for technical pictures.</para>
|
|
<indexterm zone="graphviz lefty">
|
|
<primary sortas="b-lefty">lefty</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="lneato">
|
|
<term><command>lneato</command></term>
|
|
<listitem>
|
|
<para>is a graph editor for the X Window System. It may be run as a
|
|
standalone editor, or as a front end for applications that use
|
|
graphs. It can control multiple windows viewing different
|
|
graphs.</para>
|
|
<indexterm zone="graphviz lneato">
|
|
<primary sortas="b-lneato">lneato</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="nop">
|
|
<term><command>nop</command></term>
|
|
<listitem>
|
|
<para>reads a stream of graphs and prints each in pretty-printed
|
|
(canonical) format on stdout. If no files are given, it reads from
|
|
stdin.</para>
|
|
<indexterm zone="graphviz nop">
|
|
<primary sortas="b-nop">nop</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="prune">
|
|
<term><command>prune</command></term>
|
|
<listitem>
|
|
<para>reads directed graphs in the same format used by
|
|
<command>dot</command> and removes subgraphs rooted at nodes
|
|
specified on the command line via options. These nodes themselves
|
|
will not be removed, but can be given attributes so that they can be
|
|
easily located by a graph stream editor such as
|
|
<command>gpr</command>. <command>prune</command> correctly handles
|
|
cycles, loops and multi-edges.</para>
|
|
<indexterm zone="graphviz prune">
|
|
<primary sortas="b-prune">prune</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="sccmap">
|
|
<term><command>sccmap</command></term>
|
|
<listitem>
|
|
<para>decomposes digraphs into strongly connected components and an
|
|
auxiliary map of the relationship between components. In this map,
|
|
each component is collapsed into a node. The resulting graphs are
|
|
printed to standard out. The number of nodes, edges and strongly
|
|
connected components are printed to standard error.
|
|
<command>sccmap</command> is a way of partitioning large graphs into
|
|
more manageable pieces.</para>
|
|
<indexterm zone="graphviz sccmap">
|
|
<primary sortas="b-sccmap">sccmap</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="tred">
|
|
<term><command>tred</command></term>
|
|
<listitem>
|
|
<para>computes the transitive reduction of directed graphs, and
|
|
prints the resulting graphs to standard output. This removes edges
|
|
implied by transitivity. Nodes and subgraphs are not otherwise
|
|
affected. The <quote>meaning</quote> and validity of the reduced
|
|
graphs is application dependent. <command>tred</command> is
|
|
particularly useful as a preprocessor to <command>dot</command> to
|
|
reduce clutter in dense layouts.</para>
|
|
<indexterm zone="graphviz tred">
|
|
<primary sortas="b-tred">tred</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="twopi">
|
|
<term><command>twopi</command></term>
|
|
<listitem>
|
|
<para>draws graphs using a radial layout. Basically, one node is
|
|
chosen as the center and put at the origin. The remaining nodes are
|
|
placed on a sequence of concentric circles centered about the origin,
|
|
each a fixed radial distance from the previous circle.</para>
|
|
<indexterm zone="graphviz twopi">
|
|
<primary sortas="b-twopi">twopk</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="unflatten">
|
|
<term><command>unflatten</command></term>
|
|
<listitem>
|
|
<para>is a preprocessor to <command>dot</command> that is used to
|
|
improve the aspect ratio of graphs having many leaves or disconnected
|
|
nodes. The usual layout for such a graph is generally very wide or
|
|
tall. <command>unflatten</command> inserts invisible edges or adjusts
|
|
the minlen on edges to improve layout compaction.</para>
|
|
<indexterm zone="graphviz unflatten">
|
|
<primary sortas="b-unflatten">unflatten</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libagraph">
|
|
<term><filename class='libraryfile'>libagraph.{so,a}</filename></term>
|
|
<listitem>
|
|
<para>supports graph programming by maintaining graphs in memory and
|
|
reading and writing graph files. Graphs, nodes and edges may be
|
|
attributed with programmer-defined records and string name-value
|
|
pairs. Graphs are composed of nodes, edges, and nested subgraphs.
|
|
Internally, <filename class='libraryfile'>libagraph</filename>
|
|
depends extensively on
|
|
<filename class='libraryfile'>libcdt</filename> (formerly
|
|
<filename class='libraryfile'>libdict</filename>) for set
|
|
representation.</para>
|
|
<indexterm zone="graphviz libagraph">
|
|
<primary sortas="c-libagraph">libagraph.{so,a}</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libcdt">
|
|
<term><filename class='libraryfile'>libcdt.{so,a}</filename></term>
|
|
<listitem>
|
|
<para>manages run-time dictionaries using standard container data
|
|
types: unordered set/multiset, ordered set/multiset, list, stack,
|
|
and queue.</para>
|
|
<indexterm zone="graphviz libcdt">
|
|
<primary sortas="c-libcdt">libcdt.{so,a}</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libexpr">
|
|
<term><filename class='libraryfile'>libexpr.{so,a}</filename></term>
|
|
<listitem>
|
|
<para>is a C-like expression library.</para>
|
|
<indexterm zone="graphviz libexpr">
|
|
<primary sortas="c-libexpr">libexpr.{so,a}</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libgraph">
|
|
<term><filename class='libraryfile'>libgraph.{so,a}</filename></term>
|
|
<listitem>
|
|
<para>maintains directed and undirected attributed graphs in memory
|
|
and reads and writes graph files. Graphs are composed of nodes,
|
|
edges, and nested subgraphs. A subgraph may contain any nodes and
|
|
edges of its parents, and may be passed to any
|
|
<filename class='libraryfile'>libgraph</filename> function taking a
|
|
graph pointer, except the three that create new attributes (where a
|
|
main graph is required).</para>
|
|
<indexterm zone="graphviz libgraph">
|
|
<primary sortas="c-libgraph">libgraph.{so,a}</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libpack">
|
|
<term><filename class='libraryfile'>libpack.{so,a}</filename></term>
|
|
<listitem>
|
|
<para>supports the use of connected components in the context of
|
|
laying out graphs using other <application>Graphviz</application>
|
|
libraries. One set of functions can be used to take a single graph
|
|
and break it apart into connected components. A complementary set of
|
|
functions takes a collection of graphs (not necessarily components of
|
|
a single graph) which have been laid out separately, and packs them
|
|
together moderately tightly. The packing is done using the polyomino
|
|
algorithm of K. Freivalds et al.</para>
|
|
<indexterm zone="graphviz libpack">
|
|
<primary sortas="c-libpack">libpack.{so,a}</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libpathplan">
|
|
<term><filename class='libraryfile'>libpathplan.{so,a}</filename></term>
|
|
<listitem>
|
|
<para>contains functions to find the shortest path between two points
|
|
in a simple polygon.</para>
|
|
<indexterm zone="graphviz libpathplan">
|
|
<primary sortas="c-libpathplan">libpathplan.{so,a}</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|