<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Graph class</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="Graph and operations on graphs" HREF="c17114.html"><LINK REL="NEXT" TITLE="Weighted graph" HREF="gts-weighted-graph.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="c17114.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-weighted-graph.html" ><IMG SRC="right.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Next"></A ></TD ></TR ></TABLE ><H1 ><A NAME="GTS-GRAPH-CLASS" ></A >Graph class</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN17121" ></A ><H2 >Name</H2 >Graph class -- </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN17124" ></A ><H2 >Synopsis</H2 ><PRE CLASS="SYNOPSIS" > #include <gts.h> #define <A HREF="gts-graph-class.html#GTS-GNODE-CLASS:CAPS" >GTS_GNODE_CLASS</A > (klass) #define <A HREF="gts-graph-class.html#GTS-GNODE:CAPS" >GTS_GNODE</A > (obj) #define <A HREF="gts-graph-class.html#GTS-IS-GNODE:CAPS" >GTS_IS_GNODE</A > (obj) #define <A HREF="gts-graph-class.html#GTS-GNODE-NEIGHBOR:CAPS" >GTS_GNODE_NEIGHBOR</A > (n,e) <A HREF="gts-graph-class.html#GTSGNODECLASS" >GtsGNodeClass</A >; <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >; <A HREF="gts-graph-class.html#GTSGNODECLASS" >GtsGNodeClass</A >* <A HREF="gts-graph-class.html#GTS-GNODE-CLASS" >gts_gnode_class</A > (void); <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >* <A HREF="gts-graph-class.html#GTS-GNODE-NEW" >gts_gnode_new</A > (<A HREF="gts-graph-class.html#GTSGNODECLASS" >GtsGNodeClass</A > *klass); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GNODE-DEGREE" >gts_gnode_degree</A > (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GNODE-FOREACH-EDGE" >gts_gnode_foreach_edge</A > (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GNODE-FOREACH-NEIGHBOR" >gts_gnode_foreach_neighbor</A > (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data); <GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GNODE-WEIGHT" >gts_gnode_weight</A > (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n); <GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GNODE-MOVE-COST" >gts_gnode_move_cost</A > (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *src, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *dst); #define <A HREF="gts-graph-class.html#GTS-GEDGE-CLASS:CAPS" >GTS_GEDGE_CLASS</A > (klass) #define <A HREF="gts-graph-class.html#GTS-GEDGE:CAPS" >GTS_GEDGE</A > (obj) #define <A HREF="gts-graph-class.html#GTS-IS-GEDGE:CAPS" >GTS_IS_GEDGE</A > (obj) <A HREF="gts-graph-class.html#GTSGEDGECLASS" >GtsGEdgeClass</A >; <A HREF="gts-graph-class.html#GTSGEDGE" >GtsGEdge</A >; <A HREF="gts-graph-class.html#GTSGEDGECLASS" >GtsGEdgeClass</A >* <A HREF="gts-graph-class.html#GTS-GEDGE-CLASS" >gts_gedge_class</A > (void); <A HREF="gts-graph-class.html#GTSGEDGE" >GtsGEdge</A >* <A HREF="gts-graph-class.html#GTS-GEDGE-NEW" >gts_gedge_new</A > (<A HREF="gts-graph-class.html#GTSGEDGECLASS" >GtsGEdgeClass</A > *klass, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n1, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n2); <GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GEDGE-WEIGHT" >gts_gedge_weight</A > (<A HREF="gts-graph-class.html#GTSGEDGE" >GtsGEdge</A > *e); #define <A HREF="gts-graph-class.html#GTS-GEDGE-CONNECTS" >gts_gedge_connects</A > (e, a1, a2) #define <A HREF="gts-graph-class.html#GTS-GRAPH-CLASS:CAPS" >GTS_GRAPH_CLASS</A > (klass) #define <A HREF="gts-graph-class.html#GTS-GRAPH:CAPS" >GTS_GRAPH</A > (obj) #define <A HREF="gts-graph-class.html#GTS-IS-GRAPH:CAPS" >GTS_IS_GRAPH</A > (obj) <A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A >; <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >; <A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A >* <A HREF="gts-graph-class.html" >gts_graph_class</A > (void); <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >* <A HREF="gts-graph-class.html#GTS-GRAPH-NEW" >gts_graph_new</A > (<A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A > *klass, <A HREF="gts-graph-class.html#GTSGNODECLASS" >GtsGNodeClass</A > *node_class, <A HREF="gts-graph-class.html#GTSGEDGECLASS" >GtsGEdgeClass</A > *edge_class); <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >* <A HREF="gts-graph-class.html#GTS-GRAPH-READ" >gts_graph_read</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *fp); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-READ-JOSTLE" >gts_graph_read_jostle</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *fp); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-WRITE" >gts_graph_write</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <GTKDOCLINK HREF="FILE:CAPS" >FILE</GTKDOCLINK > *fp); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-WRITE-DOT" >gts_graph_write_dot</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <GTKDOCLINK HREF="FILE:CAPS" >FILE</GTKDOCLINK > *fp); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-PRINT-STATS" >gts_graph_print_stats</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <GTKDOCLINK HREF="FILE:CAPS" >FILE</GTKDOCLINK > *fp); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-FOREACH-EDGE" >gts_graph_foreach_edge</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data); <A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A >; enum <A HREF="gts-graph-class.html#GTSTRAVERSETYPE" >GtsTraverseType</A >; <A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A >* <A HREF="gts-graph-class.html#GTS-GRAPH-TRAVERSE-NEW" >gts_graph_traverse_new</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSTRAVERSETYPE" >GtsTraverseType</A > type, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > reinit); <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >* <A HREF="gts-graph-class.html#GTS-GRAPH-TRAVERSE-NEXT" >gts_graph_traverse_next</A > (<A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A > *t); <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >* <A HREF="gts-graph-class.html#GTS-GRAPH-TRAVERSE-WHAT-NEXT" >gts_graph_traverse_what_next</A > (<A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A > *t); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-TRAVERSE-DESTROY" >gts_graph_traverse_destroy</A > (<A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A > *t); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-EDGES-CUT" >gts_graph_edges_cut</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g); <GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-EDGES-CUT-WEIGHT" >gts_graph_edges_cut_weight</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-DISTANCE-SUM" >gts_graph_distance_sum</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *center); <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >* <A HREF="gts-graph-class.html#GTS-GRAPH-FARTHEST" >gts_graph_farthest</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *gnodes); <GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > <A HREF="gts-graph-class.html#GTS-GRAPH-WEIGHT" >gts_graph_weight</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g); #define <A HREF="gts-graph-class.html#GTS-FNODE-CLASS:CAPS" >GTS_FNODE_CLASS</A > (klass) #define <A HREF="gts-graph-class.html#GTS-FNODE:CAPS" >GTS_FNODE</A > (obj) #define <A HREF="gts-graph-class.html#GTS-IS-FNODE:CAPS" >GTS_IS_FNODE</A > (obj) <A HREF="gts-graph-class.html#GTSFNODE" >GtsFNode</A >; <A HREF="gts-graph-class.html#GTSFNODECLASS" >GtsFNodeClass</A >; <A HREF="gts-graph-class.html#GTSFNODECLASS" >GtsFNodeClass</A >* <A HREF="gts-graph-class.html#GTS-FNODE-CLASS" >gts_fnode_class</A > (void); <A HREF="gts-graph-class.html#GTSFNODE" >GtsFNode</A >* <A HREF="gts-graph-class.html#GTS-FNODE-NEW" >gts_fnode_new</A > (<A HREF="gts-graph-class.html#GTSFNODECLASS" >GtsFNodeClass</A > *klass, <A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f); <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >* <A HREF="gts-graph-class.html#GTS-SURFACE-GRAPH-NEW" >gts_surface_graph_new</A > (<A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A > *klass, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s); <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A >* <A HREF="gts-graph-class.html#GTS-SURFACE-GRAPH-SURFACE" >gts_surface_graph_surface</A > (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *surface_graph, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s); <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >* <A HREF="gts-graph-class.html#GTS-SEGMENTS-GRAPH-NEW" >gts_segments_graph_new</A > (<A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A > *klass, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *segments);</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN17271" ></A ><H2 >Description</H2 ><P ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN17274" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN17276" ></A ><H3 ><A NAME="GTS-GNODE-CLASS:CAPS" ></A >GTS_GNODE_CLASS()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GNODE_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="AEN17284"><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="AEN17289" ></A ><H3 ><A NAME="GTS-GNODE:CAPS" ></A >GTS_GNODE()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GNODE(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17297"><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="AEN17302" ></A ><H3 ><A NAME="GTS-IS-GNODE:CAPS" ></A >GTS_IS_GNODE()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_IS_GNODE(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17310"><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="AEN17315" ></A ><H3 ><A NAME="GTS-GNODE-NEIGHBOR:CAPS" ></A >GTS_GNODE_NEIGHBOR()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GNODE_NEIGHBOR(n,e) (GTS_GEDGE (e)->n1 == n ? GTS_GEDGE (e)->n2 : GTS_GEDGE (e)->n2 == n ? GTS_GEDGE (e)->n1 : NULL)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17323"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >n</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P ></P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17328"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >e</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17333" ></A ><H3 ><A NAME="GTSGNODECLASS" ></A >GtsGNodeClass</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsSListContainerClass parent_class; gfloat (* weight) (GtsGNode *); void (* write) (GtsGNode *, FILE *); } GtsGNodeClass;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17340" ></A ><H3 ><A NAME="GTSGNODE" ></A >GtsGNode</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsSListContainer container; guint level; } GtsGNode;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17347" ></A ><H3 ><A NAME="GTS-GNODE-CLASS" ></A >gts_gnode_class ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGNODECLASS" >GtsGNodeClass</A >* gts_gnode_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="AEN17357"><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-graph-class.html#GTSGNODECLASS" ><SPAN CLASS="TYPE" >GtsGNodeClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17364" ></A ><H3 ><A NAME="GTS-GNODE-NEW" ></A >gts_gnode_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >* gts_gnode_new (<A HREF="gts-graph-class.html#GTSGNODECLASS" >GtsGNodeClass</A > *klass);</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="AEN17375"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGNODECLASS" ><SPAN CLASS="TYPE" >GtsGNodeClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17382"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17389" ></A ><H3 ><A NAME="GTS-GNODE-DEGREE" ></A >gts_gnode_degree ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_gnode_degree (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g);</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="AEN17401"><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="AEN17408"><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 > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17416"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the number of neighbors of <CODE CLASS="PARAMETER" >n</CODE > (belonging to <CODE CLASS="PARAMETER" >g</CODE > if <CODE CLASS="PARAMETER" >g</CODE > is not <TT CLASS="LITERAL" >NULL</TT >).</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17425" ></A ><H3 ><A NAME="GTS-GNODE-FOREACH-EDGE" ></A >gts_gnode_foreach_edge ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_gnode_foreach_edge (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data);</PRE ><P >Calls <CODE CLASS="PARAMETER" >func</CODE > for each <A HREF="gts-graph-class.html#GTSGEDGE" ><SPAN CLASS="TYPE" >GtsGEdge</SPAN ></A > connecting <CODE CLASS="PARAMETER" >n</CODE > to another <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A > (belonging to <CODE CLASS="PARAMETER" >g</CODE > if <CODE CLASS="PARAMETER" >g</CODE > is not <TT CLASS="LITERAL" >NULL</TT >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17448"><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="AEN17455"><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 > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17463"><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 >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17470"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >data</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > user data to be passed to <CODE CLASS="PARAMETER" >func</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17476" ></A ><H3 ><A NAME="GTS-GNODE-FOREACH-NEIGHBOR" ></A >gts_gnode_foreach_neighbor ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_gnode_foreach_neighbor (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data);</PRE ><P >Calls <CODE CLASS="PARAMETER" >func</CODE > for each neighbor <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A > of <CODE CLASS="PARAMETER" >n</CODE > (belonging to <CODE CLASS="PARAMETER" >g</CODE > if <CODE CLASS="PARAMETER" >g</CODE > is not <TT CLASS="LITERAL" >NULL</TT >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17497"><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="AEN17504"><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 > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17512"><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 >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17519"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >data</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > user data to be passed to <CODE CLASS="PARAMETER" >func</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17525" ></A ><H3 ><A NAME="GTS-GNODE-WEIGHT" ></A >gts_gnode_weight ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > gts_gnode_weight (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n);</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="AEN17536"><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="AEN17543"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the weight of <CODE CLASS="PARAMETER" >n</CODE > as defined by the <GTKDOCLINK HREF="WEIGHT" ><CODE CLASS="FUNCTION" >weight()</CODE ></GTKDOCLINK > method of the <A HREF="gts-graph-class.html#GTSGNODECLASS" ><SPAN CLASS="TYPE" >GtsGNodeClass</SPAN ></A >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17553" ></A ><H3 ><A NAME="GTS-GNODE-MOVE-COST" ></A >gts_gnode_move_cost ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > gts_gnode_move_cost (<A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *src, <A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *dst);</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="AEN17566"><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="AEN17573"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >src</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A > containing <CODE CLASS="PARAMETER" >n</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17581"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >dst</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > another <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17588"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the cost (increase in the sum of the weights of the edges cut) of moving <CODE CLASS="PARAMETER" >n</CODE > from <CODE CLASS="PARAMETER" >src</CODE > to <CODE CLASS="PARAMETER" >dst</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17596" ></A ><H3 ><A NAME="GTS-GEDGE-CLASS:CAPS" ></A >GTS_GEDGE_CLASS()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GEDGE_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="AEN17604"><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="AEN17609" ></A ><H3 ><A NAME="GTS-GEDGE:CAPS" ></A >GTS_GEDGE()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GEDGE(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17617"><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="AEN17622" ></A ><H3 ><A NAME="GTS-IS-GEDGE:CAPS" ></A >GTS_IS_GEDGE()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_IS_GEDGE(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17630"><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="AEN17635" ></A ><H3 ><A NAME="GTSGEDGECLASS" ></A >GtsGEdgeClass</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsContaineeClass parent_class; GtsGEdge * (* link) (GtsGEdge * e, GtsGNode * n1, GtsGNode * n2); gfloat (* weight) (GtsGEdge * e); void (* write) (GtsGEdge * e, FILE * fp); } GtsGEdgeClass;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17642" ></A ><H3 ><A NAME="GTSGEDGE" ></A >GtsGEdge</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsContainee containee; GtsGNode * n1; GtsGNode * n2; } GtsGEdge;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17649" ></A ><H3 ><A NAME="GTS-GEDGE-CLASS" ></A >gts_gedge_class ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGEDGECLASS" >GtsGEdgeClass</A >* gts_gedge_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="AEN17659"><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-graph-class.html#GTSGEDGECLASS" ><SPAN CLASS="TYPE" >GtsGEdgeClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17666" ></A ><H3 ><A NAME="GTS-GEDGE-NEW" ></A >gts_gedge_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGEDGE" >GtsGEdge</A >* gts_gedge_new (<A HREF="gts-graph-class.html#GTSGEDGECLASS" >GtsGEdgeClass</A > *klass, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n1, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n2);</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="AEN17679"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGEDGECLASS" ><SPAN CLASS="TYPE" >GtsGEdgeClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17686"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >n1</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="AEN17693"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >n2</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > another <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17700"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-graph-class.html#GTSGEDGE" ><SPAN CLASS="TYPE" >GtsGEdge</SPAN ></A > linking <CODE CLASS="PARAMETER" >n1</CODE > and <CODE CLASS="PARAMETER" >n2</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17709" ></A ><H3 ><A NAME="GTS-GEDGE-WEIGHT" ></A >gts_gedge_weight ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > gts_gedge_weight (<A HREF="gts-graph-class.html#GTSGEDGE" >GtsGEdge</A > *e);</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="AEN17720"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >e</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGEDGE" ><SPAN CLASS="TYPE" >GtsGEdge</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17727"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the weight of edge <CODE CLASS="PARAMETER" >e</CODE > as defined by the <GTKDOCLINK HREF="WEIGHT" ><CODE CLASS="FUNCTION" >weight()</CODE ></GTKDOCLINK > method of <A HREF="gts-graph-class.html#GTSGEDGECLASS" ><SPAN CLASS="TYPE" >GtsGEdgeClass</SPAN ></A >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17737" ></A ><H3 ><A NAME="GTS-GEDGE-CONNECTS" ></A >gts_gedge_connects()</H3 ><PRE CLASS="PROGRAMLISTING" >#define gts_gedge_connects(e, a1, a2)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17745"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >e</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P ></P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17750"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >a1</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P ></P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17755"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >a2</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17760" ></A ><H3 ><A NAME="GTS-GRAPH-CLASS:CAPS" ></A >GTS_GRAPH_CLASS()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GRAPH_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="AEN17768"><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="AEN17773" ></A ><H3 ><A NAME="GTS-GRAPH:CAPS" ></A >GTS_GRAPH()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_GRAPH(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17781"><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="AEN17786" ></A ><H3 ><A NAME="GTS-IS-GRAPH:CAPS" ></A >GTS_IS_GRAPH()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_IS_GRAPH(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17794"><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="AEN17799" ></A ><H3 ><A NAME="GTSGRAPHCLASS" ></A >GtsGraphClass</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsHashContainerClass parent_class; gfloat (* weight) (GtsGraph *); } GtsGraphClass;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17806" ></A ><H3 ><A NAME="GTSGRAPH" ></A >GtsGraph</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsHashContainer object; GtsGraphClass * graph_class; GtsGNodeClass * node_class; GtsGEdgeClass * edge_class; } GtsGraph;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17813" ></A ><H3 ><A NAME="GTS-GRAPH-CLASS" ></A >gts_graph_class ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A >* gts_graph_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="AEN17823"><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-graph-class.html#GTSGRAPHCLASS" ><SPAN CLASS="TYPE" >GtsGraphClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17830" ></A ><H3 ><A NAME="GTS-GRAPH-NEW" ></A >gts_graph_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >* gts_graph_new (<A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A > *klass, <A HREF="gts-graph-class.html#GTSGNODECLASS" >GtsGNodeClass</A > *node_class, <A HREF="gts-graph-class.html#GTSGEDGECLASS" >GtsGEdgeClass</A > *edge_class);</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="AEN17843"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPHCLASS" ><SPAN CLASS="TYPE" >GtsGraphClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17850"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >node_class</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGNODECLASS" ><SPAN CLASS="TYPE" >GtsGNodeClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17857"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >edge_class</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGEDGECLASS" ><SPAN CLASS="TYPE" >GtsGEdgeClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17864"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A > using <CODE CLASS="PARAMETER" >node_class</CODE > and <CODE CLASS="PARAMETER" >edge_class</CODE > as node types.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17873" ></A ><H3 ><A NAME="GTS-GRAPH-READ" ></A >gts_graph_read ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >* gts_graph_read (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *fp);</PRE ><P >Reads a graph from a file.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17884"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >fp</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17891"><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-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A > or <TT CLASS="LITERAL" >NULL</TT > if an error occured (in which case the <CODE CLASS="PARAMETER" >error</CODE > field of <CODE CLASS="PARAMETER" >fp</CODE > is set).</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17901" ></A ><H3 ><A NAME="GTS-GRAPH-READ-JOSTLE" ></A >gts_graph_read_jostle ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_graph_read_jostle (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *fp);</PRE ><P >Adds to <CODE CLASS="PARAMETER" >g</CODE > the nodes and edges defined in the file pointed to by <CODE CLASS="PARAMETER" >fp</CODE >. This file must use the Jostle "graph" ASCII format. The nodes created are of type <GTKDOCLINK HREF="GTSNGNODE" ><SPAN CLASS="TYPE" >GtsNGNode</SPAN ></GTKDOCLINK > and their identities are the line number at which they appear in <CODE CLASS="PARAMETER" >fp</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17918"><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="AEN17925"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >fp</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17932"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > 0 if the lecture was successful, the line number at which an error occured otherwise (in which case the <CODE CLASS="PARAMETER" >error</CODE > field of <CODE CLASS="PARAMETER" >fp</CODE > is set). </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17939" ></A ><H3 ><A NAME="GTS-GRAPH-WRITE" ></A >gts_graph_write ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_graph_write (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <GTKDOCLINK HREF="FILE:CAPS" >FILE</GTKDOCLINK > *fp);</PRE ><P >Writes in the file <CODE CLASS="PARAMETER" >fp</CODE > an ASCII representation of <CODE CLASS="PARAMETER" >g</CODE >. The file format is as follows. </P ><P >All the lines beginning with <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-COMMENTS:CAPS" ><SPAN CLASS="TYPE" >GTS_COMMENTS</SPAN ></A > are ignored. The first line contains two unsigned integers separated by spaces. The first integer is the number of nodes, nn, the second is the number of edges, ne.</P ><P >Follows nn lines containing node description. Follows ne lines containing the two indices (starting from one) of the nodes of each edge.</P ><P >The format described above is the least common denominator to all GTS files. Consistent with an object-oriented approach, the GTS file format is extensible. Each of the lines of the file can be extended with user-specific attributes accessible through the <GTKDOCLINK HREF="READ" ><CODE CLASS="FUNCTION" >read()</CODE ></GTKDOCLINK > and <GTKDOCLINK HREF="WRITE" ><CODE CLASS="FUNCTION" >write()</CODE ></GTKDOCLINK > virtual methods of each of the objects written (graph, nodes or edges). When read with different object classes, these extra attributes are just ignored.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17962"><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="AEN17969"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >fp</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a file pointer.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN17974" ></A ><H3 ><A NAME="GTS-GRAPH-WRITE-DOT" ></A >gts_graph_write_dot ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_graph_write_dot (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <GTKDOCLINK HREF="FILE:CAPS" >FILE</GTKDOCLINK > *fp);</PRE ><P >Writes in the file <CODE CLASS="PARAMETER" >fp</CODE > an ASCII representation of <CODE CLASS="PARAMETER" >g</CODE > in the dot format of AT&T Bell Labs.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN17988"><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="AEN17995"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >fp</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a file pointer.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18000" ></A ><H3 ><A NAME="GTS-GRAPH-PRINT-STATS" ></A >gts_graph_print_stats ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_graph_print_stats (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <GTKDOCLINK HREF="FILE:CAPS" >FILE</GTKDOCLINK > *fp);</PRE ><P >Writes to <CODE CLASS="PARAMETER" >fp</CODE > a summary of the properties of <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="AEN18014"><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="AEN18021"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >fp</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a file pointer.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18026" ></A ><H3 ><A NAME="GTS-GRAPH-FOREACH-EDGE" ></A >gts_graph_foreach_edge ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_graph_foreach_edge (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data);</PRE ><P >Calls <CODE CLASS="PARAMETER" >func</CODE > for each <A HREF="gts-edges.html#GTSEDGE" ><SPAN CLASS="TYPE" >GtsEdge</SPAN ></A > of <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="AEN18043"><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="AEN18050"><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 >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18057"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >data</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > user data to be passed to <CODE CLASS="PARAMETER" >func</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18063" ></A ><H3 ><A NAME="GTSGRAPHTRAVERSE" ></A >GtsGraphTraverse</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct _GtsGraphTraverse GtsGraphTraverse;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18070" ></A ><H3 ><A NAME="GTSTRAVERSETYPE" ></A >enum GtsTraverseType</H3 ><PRE CLASS="PROGRAMLISTING" >typedef enum { GTS_BREADTH_FIRST } GtsTraverseType;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18077" ></A ><H3 ><A NAME="GTS-GRAPH-TRAVERSE-NEW" ></A >gts_graph_traverse_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A >* gts_graph_traverse_new (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *n, <A HREF="gts-graph-class.html#GTSTRAVERSETYPE" >GtsTraverseType</A > type, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > reinit);</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="AEN18091"><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="AEN18098"><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 > belonging to <CODE CLASS="PARAMETER" >g</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18106"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >type</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the type of traversal.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18111"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >reinit</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > if <TT CLASS="LITERAL" >TRUE</TT >, the traversal is reinitialized.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18117"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" ><SPAN CLASS="TYPE" >GtsGraphTraverse</SPAN ></A > initialized for the traversal of <CODE CLASS="PARAMETER" >g</CODE > of type <CODE CLASS="PARAMETER" >type</CODE >, starting from <CODE CLASS="PARAMETER" >n</CODE >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18127" ></A ><H3 ><A NAME="GTS-GRAPH-TRAVERSE-NEXT" ></A >gts_graph_traverse_next ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >* gts_graph_traverse_next (<A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A > *t);</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="AEN18138"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >t</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" ><SPAN CLASS="TYPE" >GtsGraphTraverse</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18145"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the next <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A > of the traversal defined by <CODE CLASS="PARAMETER" >t</CODE > or <TT CLASS="LITERAL" >NULL</TT > if the traversal is complete.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18154" ></A ><H3 ><A NAME="GTS-GRAPH-TRAVERSE-WHAT-NEXT" ></A >gts_graph_traverse_what_next ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >* gts_graph_traverse_what_next (<A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A > *t);</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="AEN18165"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >t</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" ><SPAN CLASS="TYPE" >GtsGraphTraverse</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18172"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the next <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A > of the traversal defined by <CODE CLASS="PARAMETER" >t</CODE > or <TT CLASS="LITERAL" >NULL</TT > if the traversal is complete but without advancing the traversal.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18181" ></A ><H3 ><A NAME="GTS-GRAPH-TRAVERSE-DESTROY" ></A >gts_graph_traverse_destroy ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_graph_traverse_destroy (<A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" >GtsGraphTraverse</A > *t);</PRE ><P >Frees all the memory allocated for <CODE CLASS="PARAMETER" >t</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18193"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >t</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPHTRAVERSE" ><SPAN CLASS="TYPE" >GtsGraphTraverse</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18200" ></A ><H3 ><A NAME="GTS-GRAPH-EDGES-CUT" ></A >gts_graph_edges_cut ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_graph_edges_cut (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g);</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="AEN18211"><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="AEN18218"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the number of edges of <CODE CLASS="PARAMETER" >g</CODE > connecting nodes belonging to <CODE CLASS="PARAMETER" >g</CODE > to nodes not belonging to <CODE CLASS="PARAMETER" >g</CODE >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18226" ></A ><H3 ><A NAME="GTS-GRAPH-EDGES-CUT-WEIGHT" ></A >gts_graph_edges_cut_weight ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > gts_graph_edges_cut_weight (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g);</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="AEN18237"><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="AEN18244"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the sum of the weights of the edges of <CODE CLASS="PARAMETER" >g</CODE > connecting nodes belonging to <CODE CLASS="PARAMETER" >g</CODE > to nodes not belonging to <CODE CLASS="PARAMETER" >g</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18252" ></A ><H3 ><A NAME="GTS-GRAPH-DISTANCE-SUM" ></A >gts_graph_distance_sum ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_graph_distance_sum (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A > *center);</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="AEN18264"><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="AEN18271"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >center</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A > of <CODE CLASS="PARAMETER" >g</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18279"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the sum of the distances between all the other <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A > of <CODE CLASS="PARAMETER" >g</CODE > and <CODE CLASS="PARAMETER" >center</CODE >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18288" ></A ><H3 ><A NAME="GTS-GRAPH-FARTHEST" ></A >gts_graph_farthest ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGNODE" >GtsGNode</A >* gts_graph_farthest (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *gnodes);</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="AEN18300"><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="AEN18307"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >gnodes</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A > belonging to <CODE CLASS="PARAMETER" >g</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18315"><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-graph-class.html#GTSGNODE" ><SPAN CLASS="TYPE" >GtsGNode</SPAN ></A > belonging to <CODE CLASS="PARAMETER" >g</CODE > and farthest from all the nodes in <CODE CLASS="PARAMETER" >gnodes</CODE > (hmmm, definition of "farthest"?).</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18324" ></A ><H3 ><A NAME="GTS-GRAPH-WEIGHT" ></A >gts_graph_weight ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GFLOAT" >gfloat</GTKDOCLINK > gts_graph_weight (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *g);</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="AEN18335"><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="AEN18342"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the weight of graph <CODE CLASS="PARAMETER" >g</CODE > as defined by the <GTKDOCLINK HREF="WEIGHT" ><CODE CLASS="FUNCTION" >weight()</CODE ></GTKDOCLINK > method of <A HREF="gts-graph-class.html#GTSGRAPHCLASS" ><SPAN CLASS="TYPE" >GtsGraphClass</SPAN ></A >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18352" ></A ><H3 ><A NAME="GTS-FNODE-CLASS:CAPS" ></A >GTS_FNODE_CLASS()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_FNODE_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="AEN18360"><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="AEN18365" ></A ><H3 ><A NAME="GTS-FNODE:CAPS" ></A >GTS_FNODE()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_FNODE(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18373"><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="AEN18378" ></A ><H3 ><A NAME="GTS-IS-FNODE:CAPS" ></A >GTS_IS_FNODE()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_IS_FNODE(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18386"><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="AEN18391" ></A ><H3 ><A NAME="GTSFNODE" ></A >GtsFNode</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsGNode node; GtsFace * f; } GtsFNode;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18398" ></A ><H3 ><A NAME="GTSFNODECLASS" ></A >GtsFNodeClass</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsGNodeClass parent_class; } GtsFNodeClass;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18405" ></A ><H3 ><A NAME="GTS-FNODE-CLASS" ></A >gts_fnode_class ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSFNODECLASS" >GtsFNodeClass</A >* gts_fnode_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="AEN18415"><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-graph-class.html#GTSFNODECLASS" ><SPAN CLASS="TYPE" >GtsFNodeClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18422" ></A ><H3 ><A NAME="GTS-FNODE-NEW" ></A >gts_fnode_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSFNODE" >GtsFNode</A >* gts_fnode_new (<A HREF="gts-graph-class.html#GTSFNODECLASS" >GtsFNodeClass</A > *klass, <A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f);</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="AEN18434"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSFNODECLASS" ><SPAN CLASS="TYPE" >GtsFNodeClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18441"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-faces.html#GTSFACE" ><SPAN CLASS="TYPE" >GtsFace</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18448"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-graph-class.html#GTSFNODE" ><SPAN CLASS="TYPE" >GtsFNode</SPAN ></A > associated with face <CODE CLASS="PARAMETER" >f</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18456" ></A ><H3 ><A NAME="GTS-SURFACE-GRAPH-NEW" ></A >gts_surface_graph_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >* gts_surface_graph_new (<A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A > *klass, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s);</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="AEN18468"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPHCLASS" ><SPAN CLASS="TYPE" >GtsGraphClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18475"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >s</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-surfaces.html#GTSSURFACE" ><SPAN CLASS="TYPE" >GtsSurface</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18482"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A > representing the connectivity of the faces of <CODE CLASS="PARAMETER" >s</CODE >. This graph uses <GTKDOCLINK HREF="GTSFGNODE" ><SPAN CLASS="TYPE" >GtsFGNode</SPAN ></GTKDOCLINK > as nodes which allows to store the dependencies between nodes and faces of <CODE CLASS="PARAMETER" >s</CODE >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18493" ></A ><H3 ><A NAME="GTS-SURFACE-GRAPH-SURFACE" ></A >gts_surface_graph_surface ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A >* gts_surface_graph_surface (<A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A > *surface_graph, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s);</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="AEN18505"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >surface_graph</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A > using <GTKDOCLINK HREF="GTSFGNODE" ><SPAN CLASS="TYPE" >GtsFGNode</SPAN ></GTKDOCLINK > as nodes.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18514"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >s</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-surfaces.html#GTSSURFACE" ><SPAN CLASS="TYPE" >GtsSurface</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18521"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-surfaces.html#GTSSURFACE" ><SPAN CLASS="TYPE" >GtsSurface</SPAN ></A > using the same classes as <CODE CLASS="PARAMETER" >s</CODE > and composed of the faces defined by <CODE CLASS="PARAMETER" >surface_graph</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN18530" ></A ><H3 ><A NAME="GTS-SEGMENTS-GRAPH-NEW" ></A >gts_segments_graph_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-graph-class.html#GTSGRAPH" >GtsGraph</A >* gts_segments_graph_new (<A HREF="gts-graph-class.html#GTSGRAPHCLASS" >GtsGraphClass</A > *klass, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *segments);</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="AEN18542"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-graph-class.html#GTSGRAPHCLASS" ><SPAN CLASS="TYPE" >GtsGraphClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18549"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >segments</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-segments.html#GTSSEGMENT" ><SPAN CLASS="TYPE" >GtsSegment</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN18556"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-graph-class.html#GTSGRAPH" ><SPAN CLASS="TYPE" >GtsGraph</SPAN ></A > representing the connectivity of the segments in <CODE CLASS="PARAMETER" >segments</CODE >.</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="c17114.html" ><B ><<< Graph and operations on graphs</B ></A ></TD ><TD ALIGN="right" ><A ACCESSKEY="n" HREF="gts-weighted-graph.html" ><B >Weighted graph >>></B ></A ></TD ></TR ></TABLE ></BODY ></HTML >