<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Progressive graph</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="GTS Library Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="Graph and operations on graphs" HREF="c17114.html"><LINK REL="PREVIOUS" TITLE="Weighted graph" HREF="gts-weighted-graph.html"><LINK REL="NEXT" TITLE="Graph partitioning" HREF="gts-graph-partitioning.html"><STYLE TYPE="text/css" >.synopsis, .classsynopsis { background: #eeeeee; border: solid 1px #aaaaaa; padding: 0.5em; } .programlisting { background: #eeeeff; border: solid 1px #aaaaff; padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .navigation { background: #ffeeee; border: solid 1px #ffaaaa; margin-top: 0.5em; margin-bottom: 0.5em; } .navigation a { color: #770000; } .navigation a:visited { color: #550000; } .navigation .title { font-size: 200%; }</STYLE ></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><TABLE WIDTH="100%" CLASS="navigation" SUMMARY="Navigation header" CELLPADDING="2" CELLSPACING="2" ><TR VALIGN="middle" ><TD ><A ACCESSKEY="p" HREF="gts-weighted-graph.html" ><IMG SRC="left.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Prev"></A ></TD ><TD ><A ACCESSKEY="u" HREF="c17114.html" ><IMG SRC="up.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Up"></A ></TD ><TD ><A ACCESSKEY="h" HREF="book1.html" ><IMG SRC="home.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Home"></A ></TD ><TH WIDTH="100%" align="center" >GTS Library Reference Manual</TH ><TD ><A ACCESSKEY="n" HREF="gts-graph-partitioning.html" ><IMG SRC="right.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Next"></A ></TD ></TR ></TABLE ><H1 ><A NAME="GTS-PROGRESSIVE-GRAPH" ></A >Progressive graph</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN18937" ></A ><H2 >Name</H2 >Progressive graph -- </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN18940" ></A ><H2 >Synopsis</H2 ><PRE CLASS="SYNOPSIS" > #include <gts.h> #define <A HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-CLASS:CAPS" >GTS_GNODE_SPLIT_CLASS</A > (klass) #define <A HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT:CAPS" >GTS_GNODE_SPLIT</A > (obj) #define <A HREF="gts-progressive-graph.html#GTS-IS-GNODE-SPLIT:CAPS" >GTS_IS_GNODE_SPLIT</A > (obj) #define <A HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-N1:CAPS" >GTS_GNODE_SPLIT_N1</A > (ns) #define <A HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-N2:CAPS" >GTS_GNODE_SPLIT_N2</A > (ns) <A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" >GtsGNodeSplitClass</A >; <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A >; <A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" >GtsGNodeSplitClass</A >* <A HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-CLASS" >gts_gnode_split_class</A > (void); <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A >* <A HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-NEW" >gts_gnode_split_new</A > (<A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" >GtsGNodeSplitClass</A > *klass, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-object-class.html#GTSOBJECT" >GtsObject</A > *n1, <A HREF="gts-object-class.html#GTSOBJECT" >GtsObject</A > *n2); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-COLLAPSE" >gts_gnode_split_collapse</A > (<A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A > *ns, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-weighted-graph.html#GTSWGEDGECLASS" >GtsWGEdgeClass</A > *klass); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-progressive-graph.html#GTS-GNODE-SPLIT-EXPAND" >gts_gnode_split_expand</A > (<A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A > *ns, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g); #define <A HREF="gts-progressive-graph.html#GTS-PGRAPH-CLASS:CAPS" >GTS_PGRAPH_CLASS</A > (klass) #define <A HREF="gts-progressive-graph.html#GTS-PGRAPH:CAPS" >GTS_PGRAPH</A > (obj) #define <A HREF="gts-progressive-graph.html#GTS-IS-PGRAPH:CAPS" >GTS_IS_PGRAPH</A > (obj) <A HREF="gts-progressive-graph.html#GTSPGRAPHCLASS" >GtsPGraphClass</A >; <A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A >; <A HREF="gts-progressive-graph.html#GTSPGRAPHCLASS" >GtsPGraphClass</A >* <A HREF="gts-progressive-graph.html#GTS-PGRAPH-CLASS" >gts_pgraph_class</A > (void); <A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A >* <A HREF="gts-progressive-graph.html#GTS-PGRAPH-NEW" >gts_pgraph_new</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPHCLASS" >GtsPGraphClass</A > *klass, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" >GtsGNodeSplitClass</A > *split_class, <A HREF="gts-weighted-graph.html#GTSWGNODECLASS" >GtsWGNodeClass</A > *node_class, <A HREF="gts-weighted-graph.html#GTSWGEDGECLASS" >GtsWGEdgeClass</A > *edge_class, <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > min); <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A >* <A HREF="gts-progressive-graph.html#GTS-PGRAPH-ADD-NODE" >gts_pgraph_add_node</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg); <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A >* <A HREF="gts-progressive-graph.html#GTS-PGRAPH-REMOVE-NODE" >gts_pgraph_remove_node</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg); <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > <A HREF="gts-progressive-graph.html#GTS-PGRAPH-DOWN" >gts_pgraph_down</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-progressive-graph.html#GTS-PGRAPH-SET-NODE-NUMBER" >gts_pgraph_set_node_number</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg, <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > n); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-progressive-graph.html#GTS-PGRAPH-GET-NODE-NUMBER" >gts_pgraph_get_node_number</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-progressive-graph.html#GTS-PGRAPH-MAX-NODE-NUMBER" >gts_pgraph_max_node_number</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-progressive-graph.html#GTS-PGRAPH-MIN-NODE-NUMBER" >gts_pgraph_min_node_number</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-progressive-graph.html#GTS-PGRAPH-FOREACH-NODE" >gts_pgraph_foreach_node</A > (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data);</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN19011" ></A ><H2 >Description</H2 ><P ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN19014" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN19016" ></A ><H3 ><A NAME="GTS-GNODE-SPLIT-CLASS:CAPS" ></A >GTS_GNODE_SPLIT_CLASS()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GNODE_SPLIT_CLASS(klass)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19024"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19029" ></A ><H3 ><A NAME="GTS-GNODE-SPLIT:CAPS" ></A >GTS_GNODE_SPLIT()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GNODE_SPLIT(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19037"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >obj</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19042" ></A ><H3 ><A NAME="GTS-IS-GNODE-SPLIT:CAPS" ></A >GTS_IS_GNODE_SPLIT()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_IS_GNODE_SPLIT(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19050"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >obj</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19055" ></A ><H3 ><A NAME="GTS-GNODE-SPLIT-N1:CAPS" ></A >GTS_GNODE_SPLIT_N1()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GNODE_SPLIT_N1(ns) (GTS_IS_GNODE_SPLIT ((ns)->n1) ? GTS_GNODE_SPLIT ((ns)->n1)->n : GTS_GNODE ((ns)->n1))</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19063"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >ns</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19068" ></A ><H3 ><A NAME="GTS-GNODE-SPLIT-N2:CAPS" ></A >GTS_GNODE_SPLIT_N2()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GNODE_SPLIT_N2(ns) (GTS_IS_GNODE_SPLIT ((ns)->n2) ? GTS_GNODE_SPLIT ((ns)->n2)->n : GTS_GNODE ((ns)->n2))</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19076"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >ns</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19081" ></A ><H3 ><A NAME="GTSGNODESPLITCLASS" ></A >GtsGNodeSplitClass</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsObjectClass parent_class; } GtsGNodeSplitClass;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19088" ></A ><H3 ><A NAME="GTSGNODESPLIT" ></A >GtsGNodeSplit</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsObject object; GtsGNode * n; GtsObject * n1; GtsObject * n2; } GtsGNodeSplit;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19095" ></A ><H3 ><A NAME="GTS-GNODE-SPLIT-CLASS" ></A >gts_gnode_split_class ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" >GtsGNodeSplitClass</A >* gts_gnode_split_class (void);</PRE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19105"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the <A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" ><SPAN CLASS="TYPE" >GtsGNodeSplitClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19112" ></A ><H3 ><A NAME="GTS-GNODE-SPLIT-NEW" ></A >gts_gnode_split_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A >* gts_gnode_split_new (<A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" >GtsGNodeSplitClass</A > *klass, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-object-class.html#GTSOBJECT" >GtsObject</A > *n1, <A HREF="gts-object-class.html#GTSOBJECT" >GtsObject</A > *n2);</PRE ><P >Creates a new <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > which would collapse <CODE CLASS="PARAMETER" >n1</CODE > and <CODE CLASS="PARAMETER" >n2</CODE > into <CODE CLASS="PARAMETER" >n</CODE >. The collapse itself is not performed.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19131"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" ><SPAN CLASS="TYPE" >GtsGNodeSplitClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19138"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >n</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19145"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >n1</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > or <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19154"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >n2</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > or <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19163"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the new <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19170" ></A ><H3 ><A NAME="GTS-GNODE-SPLIT-COLLAPSE" ></A >gts_gnode_split_collapse ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_gnode_split_collapse (<A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A > *ns, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-weighted-graph.html#GTSWGEDGECLASS" >GtsWGEdgeClass</A > *klass);</PRE ><P >Collapses the node split <CODE CLASS="PARAMETER" >ns</CODE >. Any new edge created during the process will be of class <CODE CLASS="PARAMETER" >klass</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19185"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >ns</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19192"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >g</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19199"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-weighted-graph.html#GTSWGEDGECLASS" ><SPAN CLASS="TYPE" >GtsWGEdgeClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19206" ></A ><H3 ><A NAME="GTS-GNODE-SPLIT-EXPAND" ></A >gts_gnode_split_expand ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_gnode_split_expand (<A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A > *ns, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g);</PRE ><P >Expands the node split ns adding the new nodes to <CODE CLASS="PARAMETER" >g</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19219"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >ns</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19226"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >g</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19233" ></A ><H3 ><A NAME="GTS-PGRAPH-CLASS:CAPS" ></A >GTS_PGRAPH_CLASS()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_PGRAPH_CLASS(klass)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19241"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19246" ></A ><H3 ><A NAME="GTS-PGRAPH:CAPS" ></A >GTS_PGRAPH()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_PGRAPH(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19254"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >obj</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19259" ></A ><H3 ><A NAME="GTS-IS-PGRAPH:CAPS" ></A >GTS_IS_PGRAPH()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_IS_PGRAPH(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19267"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >obj</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19272" ></A ><H3 ><A NAME="GTSPGRAPHCLASS" ></A >GtsPGraphClass</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsObjectClass parent_class; } GtsPGraphClass;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19279" ></A ><H3 ><A NAME="GTSPGRAPH" ></A >GtsPGraph</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsObject object; GtsGraph * g; GPtrArray * split; GArray * levels; GtsGNodeSplitClass * split_class; GtsWGEdgeClass * edge_class; guint pos, min, level; } GtsPGraph;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19286" ></A ><H3 ><A NAME="GTS-PGRAPH-CLASS" ></A >gts_pgraph_class ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-progressive-graph.html#GTSPGRAPHCLASS" >GtsPGraphClass</A >* gts_pgraph_class (void);</PRE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19296"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the <A HREF="gts-progressive-graph.html#GTSPGRAPHCLASS" ><SPAN CLASS="TYPE" >GtsPGraphClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19303" ></A ><H3 ><A NAME="GTS-PGRAPH-NEW" ></A >gts_pgraph_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A >* gts_pgraph_new (<A HREF="gts-progressive-graph.html#GTSPGRAPHCLASS" >GtsPGraphClass</A > *klass, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" >GtsGNodeSplitClass</A > *split_class, <A HREF="gts-weighted-graph.html#GTSWGNODECLASS" >GtsWGNodeClass</A > *node_class, <A HREF="gts-weighted-graph.html#GTSWGEDGECLASS" >GtsWGEdgeClass</A > *edge_class, <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > min);</PRE ><P >Creates a new multilevel approximation of graph <CODE CLASS="PARAMETER" >g</CODE >. At each level a maximal matching is created using the Heavy Edge Matching (HEM) technique of Karypis and Kumar (1997). The newly created nodes are of type <CODE CLASS="PARAMETER" >node_class</CODE > and their weight is set to the sum of the weights of their children. The newly created edges are of type <CODE CLASS="PARAMETER" >edge_class</CODE > and their weight is set to the sum of the weight of the collapsed edges. The last level is reached when the maximal matching obtained would lead to a graph with less than <CODE CLASS="PARAMETER" >min</CODE > nodes.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19323"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSPGRAPHCLASS" ><SPAN CLASS="TYPE" >GtsPGraphClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19330"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >g</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19337"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >split_class</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSGNODESPLITCLASS" ><SPAN CLASS="TYPE" >GtsGNodeSplitClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19344"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >node_class</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-weighted-graph.html#GTSWGNODECLASS" ><SPAN CLASS="TYPE" >GtsWGNodeClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19351"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >edge_class</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-weighted-graph.html#GTSWGEDGECLASS" ><SPAN CLASS="TYPE" >GtsWGEdgeClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19358"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >min</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the minimum number of nodes.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19363"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the new <A HREF="gts-progressive-graph.html#GTSPGRAPH" ><SPAN CLASS="TYPE" >GtsPGraph</SPAN ></A > containing the multilevel representation of <CODE CLASS="PARAMETER" >g</CODE >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19371" ></A ><H3 ><A NAME="GTS-PGRAPH-ADD-NODE" ></A >gts_pgraph_add_node ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A >* gts_pgraph_add_node (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg);</PRE ><P >Adds one node to the multilevel graph <CODE CLASS="PARAMETER" >pg</CODE > by expanding the next available <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19385"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >pg</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSPGRAPH" ><SPAN CLASS="TYPE" >GtsPGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19392"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the expanded <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > or <GTKDOCLINK HREF="NULL:CAPS" ><SPAN CLASS="TYPE" >NULL</SPAN ></GTKDOCLINK > if all the <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > have already been expanded. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19403" ></A ><H3 ><A NAME="GTS-PGRAPH-REMOVE-NODE" ></A >gts_pgraph_remove_node ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-progressive-graph.html#GTSGNODESPLIT" >GtsGNodeSplit</A >* gts_pgraph_remove_node (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg);</PRE ><P >Removes one node from the multilevel graph <CODE CLASS="PARAMETER" >pg</CODE > by collapsing the first available <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19417"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >pg</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSPGRAPH" ><SPAN CLASS="TYPE" >GtsPGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19424"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the collapsed <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > or <TT CLASS="LITERAL" >NULL</TT > if all the <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > have already been collapsed. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19434" ></A ><H3 ><A NAME="GTS-PGRAPH-DOWN" ></A >gts_pgraph_down ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > gts_pgraph_down (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data);</PRE ><P >Performs the required number of expansions to go from the current level to the level immediately below.</P ><P >If <CODE CLASS="PARAMETER" >func</CODE > is not <TT CLASS="LITERAL" >NULL</TT >, it is called after each <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > has been expanded.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19452"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >pg</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSPGRAPH" ><SPAN CLASS="TYPE" >GtsPGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19459"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >func</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-surfaces.html#GTSFUNC" ><SPAN CLASS="TYPE" >GtsFunc</SPAN ></A > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19467"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >data</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > user data to pass to <CODE CLASS="PARAMETER" >func</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19473"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > <TT CLASS="LITERAL" >FALSE</TT > if it is not possible to go down one level, <TT CLASS="LITERAL" >TRUE</TT > otherwise. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19480" ></A ><H3 ><A NAME="GTS-PGRAPH-SET-NODE-NUMBER" ></A >gts_pgraph_set_node_number ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_pgraph_set_node_number (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg, <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > n);</PRE ><P >Performs the required number of collapses or expansions to set the number of nodes of <CODE CLASS="PARAMETER" >pg</CODE > to <CODE CLASS="PARAMETER" >n</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19494"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >pg</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSPGRAPH" ><SPAN CLASS="TYPE" >GtsPGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19501"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >n</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a number of nodes.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19506" ></A ><H3 ><A NAME="GTS-PGRAPH-GET-NODE-NUMBER" ></A >gts_pgraph_get_node_number ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_pgraph_get_node_number (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg);</PRE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19517"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >pg</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSPGRAPH" ><SPAN CLASS="TYPE" >GtsPGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19524"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the current number of nodes of <CODE CLASS="PARAMETER" >pg</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19530" ></A ><H3 ><A NAME="GTS-PGRAPH-MAX-NODE-NUMBER" ></A >gts_pgraph_max_node_number ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_pgraph_max_node_number (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg);</PRE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19541"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >pg</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSPGRAPH" ><SPAN CLASS="TYPE" >GtsPGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19548"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the maximum number of nodes of <CODE CLASS="PARAMETER" >pg</CODE > i.e. the number of nodes if all the <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > were expanded. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19556" ></A ><H3 ><A NAME="GTS-PGRAPH-MIN-NODE-NUMBER" ></A >gts_pgraph_min_node_number ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_pgraph_min_node_number (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg);</PRE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19567"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >pg</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-progressive-graph.html#GTSPGRAPH" ><SPAN CLASS="TYPE" >GtsPGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19574"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the minimum number of nodes of <CODE CLASS="PARAMETER" >pg</CODE > i.e. the number of nodes if all the <A HREF="gts-progressive-graph.html#GTSGNODESPLIT" ><SPAN CLASS="TYPE" >GtsGNodeSplit</SPAN ></A > were collapsed. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN19582" ></A ><H3 ><A NAME="GTS-PGRAPH-FOREACH-NODE" ></A >gts_pgraph_foreach_node ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_pgraph_foreach_node (<A HREF="gts-progressive-graph.html#GTSPGRAPH" >GtsPGraph</A > *pg, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data);</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19594"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >pg</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P ></P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19599"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >func</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P ></P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN19604"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >data</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ></DIV ><TABLE CLASS="navigation" WIDTH="100%" SUMMARY="Navigation footer" CELLPADDING="2" CELLSPACING="2" ><TR VALIGN="middle" ><TD ALIGN="left" ><A ACCESSKEY="p" HREF="gts-weighted-graph.html" ><B ><<< Weighted graph</B ></A ></TD ><TD ALIGN="right" ><A ACCESSKEY="n" HREF="gts-graph-partitioning.html" ><B >Graph partitioning >>></B ></A ></TD ></TR ></TABLE ></BODY ></HTML >