<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Vertices</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="Geometrical Object Hierarchy" HREF="c2915.html"><LINK REL="PREVIOUS" TITLE="Points" HREF="gts-points.html"><LINK REL="NEXT" TITLE="Segments" HREF="gts-segments.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-points.html" ><IMG SRC="left.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Prev"></A ></TD ><TD ><A ACCESSKEY="u" HREF="c2915.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-segments.html" ><IMG SRC="right.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Next"></A ></TD ></TR ></TABLE ><H1 ><A NAME="GTS-VERTICES" ></A >Vertices</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN5452" ></A ><H2 >Name</H2 >Vertices -- vertex object and related functions.</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN5455" ></A ><H2 >Synopsis</H2 ><PRE CLASS="SYNOPSIS" > #include <gts.h> #define <A HREF="gts-vertices.html#GTS-VERTEX-CLASS:CAPS" >GTS_VERTEX_CLASS</A > (klass) #define <A HREF="gts-vertices.html#GTS-VERTEX:CAPS" >GTS_VERTEX</A > (obj) #define <A HREF="gts-vertices.html#GTS-IS-VERTEX:CAPS" >GTS_IS_VERTEX</A > (obj) <A HREF="gts-vertices.html#GTSVERTEXCLASS" >GtsVertexClass</A >; <A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A >; <A HREF="gts-vertices.html#GTSVERTEXCLASS" >GtsVertexClass</A >* <A HREF="gts-vertices.html#GTS-VERTEX-CLASS" >gts_vertex_class</A > (void); <A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A >* <A HREF="gts-vertices.html#GTS-VERTEX-NEW" >gts_vertex_new</A > (<A HREF="gts-vertices.html#GTSVERTEXCLASS" >GtsVertexClass</A > *klass, <GTKDOCLINK HREF="GDOUBLE" >gdouble</GTKDOCLINK > x, <GTKDOCLINK HREF="GDOUBLE" >gdouble</GTKDOCLINK > y, <GTKDOCLINK HREF="GDOUBLE" >gdouble</GTKDOCLINK > z); <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > <A HREF="gts-vertices.html#GTS-VERTEX-IS-UNATTACHED" >gts_vertex_is_unattached</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v); <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > <A HREF="gts-vertices.html#GTS-VERTEX-IS-BOUNDARY" >gts_vertex_is_boundary</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *surface); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-vertices.html#GTS-VERTEX-IS-CONTACT" >gts_vertex_is_contact</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > sever); <A HREF="gts-segments.html#GTSSEGMENT" >GtsSegment</A >* <A HREF="gts-vertices.html#GTS-VERTICES-ARE-CONNECTED" >gts_vertices_are_connected</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v1, <A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v2); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-vertices.html#GTS-VERTEX-REPLACE" >gts_vertex_replace</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *with); <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* <A HREF="gts-vertices.html#GTS-VERTEX-NEIGHBORS" >gts_vertex_neighbors</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *list, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *surface); <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* <A HREF="gts-vertices.html#GTS-VERTEX-TRIANGLES" >gts_vertex_triangles</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *list); <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* <A HREF="gts-vertices.html#GTS-VERTEX-FACES" >gts_vertex_faces</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *surface, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *list); <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* <A HREF="gts-vertices.html#GTS-VERTEX-FAN-ORIENTED" >gts_vertex_fan_oriented</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *surface); <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > <A HREF="gts-vertices.html#GTS-VERTEX-ENCROACHES-EDGE" >gts_vertex_encroaches_edge</A > (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-edges.html#GTSEDGE" >GtsEdge</A > *e); <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* <A HREF="gts-vertices.html#GTS-VERTICES-FROM-SEGMENTS" >gts_vertices_from_segments</A > (<GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *segments); <GTKDOCLINK HREF="GLIST" >GList</GTKDOCLINK >* <A HREF="gts-vertices.html#GTS-VERTICES-MERGE" >gts_vertices_merge</A > (<GTKDOCLINK HREF="GLIST" >GList</GTKDOCLINK > *vertices, <GTKDOCLINK HREF="GDOUBLE" >gdouble</GTKDOCLINK > epsilon, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > (*check) (GtsVertex *, GtsVertex *));</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN5520" ></A ><H2 >Description</H2 ><P >Vertices are points used as endpoints of <A HREF="gts-segments.html#GTSSEGMENT" ><SPAN CLASS="TYPE" >GtsSegment</SPAN ></A >. They are derived from <A HREF="gts-points.html#GTSPOINT" ><SPAN CLASS="TYPE" >GtsPoint</SPAN ></A >.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN5527" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN5529" ></A ><H3 ><A NAME="GTS-VERTEX-CLASS:CAPS" ></A >GTS_VERTEX_CLASS()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_VERTEX_CLASS(klass)</PRE ><P >Casts <CODE CLASS="PARAMETER" >klass</CODE > to <A HREF="gts-vertices.html#GTSVERTEXCLASS" ><SPAN CLASS="TYPE" >GtsVertexClass</SPAN ></A >.</P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5540"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >a descendant of <A HREF="gts-vertices.html#GTSVERTEXCLASS" ><SPAN CLASS="TYPE" >GtsVertexClass</SPAN ></A >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5547" ></A ><H3 ><A NAME="GTS-VERTEX:CAPS" ></A >GTS_VERTEX()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_VERTEX(obj)</PRE ><P >Casts <CODE CLASS="PARAMETER" >obj</CODE > to <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5558"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >obj</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >a descendant of <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5565" ></A ><H3 ><A NAME="GTS-IS-VERTEX:CAPS" ></A >GTS_IS_VERTEX()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_IS_VERTEX(obj)</PRE ><P >Evaluates to <TT CLASS="LITERAL" >TRUE</TT > if <CODE CLASS="PARAMETER" >obj</CODE > is a descendant of <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >, <TT CLASS="LITERAL" >FALSE</TT > otherwise.</P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5578"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >obj</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >a pointer to test. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5583" ></A ><H3 ><A NAME="GTSVERTEXCLASS" ></A >GtsVertexClass</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsPointClass parent_class; void (* intersection_attributes) (GtsVertex *, GtsObject *, GtsObject *); } GtsVertexClass;</PRE ><P >The vertex class. No virtual functions are associated.</P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5590" ></A ><H3 ><A NAME="GTSVERTEX" ></A >GtsVertex</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsPoint p; GSList * segments; } GtsVertex;</PRE ><P >The vertex object.</P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5598"><SPAN STYLE="white-space: nowrap" ><A HREF="gts-points.html#GTSPOINT" >GtsPoint</A > <CODE CLASS="STRUCTFIELD" >p</CODE >;</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >The parent object.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5604"><SPAN STYLE="white-space: nowrap" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *<CODE CLASS="STRUCTFIELD" >segments</CODE >;</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >Contains all the <A HREF="gts-segments.html#GTSSEGMENT" ><SPAN CLASS="TYPE" >GtsSegment</SPAN ></A > using this vertex as one of their endpoints. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5612" ></A ><H3 ><A NAME="GTS-VERTEX-CLASS" ></A >gts_vertex_class ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-vertices.html#GTSVERTEXCLASS" >GtsVertexClass</A >* gts_vertex_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="AEN5622"><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-vertices.html#GTSVERTEXCLASS" ><SPAN CLASS="TYPE" >GtsVertexClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5629" ></A ><H3 ><A NAME="GTS-VERTEX-NEW" ></A >gts_vertex_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A >* gts_vertex_new (<A HREF="gts-vertices.html#GTSVERTEXCLASS" >GtsVertexClass</A > *klass, <GTKDOCLINK HREF="GDOUBLE" >gdouble</GTKDOCLINK > x, <GTKDOCLINK HREF="GDOUBLE" >gdouble</GTKDOCLINK > y, <GTKDOCLINK HREF="GDOUBLE" >gdouble</GTKDOCLINK > z);</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="AEN5643"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEXCLASS" ><SPAN CLASS="TYPE" >GtsVertexClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5650"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >x</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the x-coordinate of the vertex to create.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5655"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >y</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the y-coordinate of the vertex to create.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5660"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >z</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the y-coordinate of the vertex to create.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5665"><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-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A > with <CODE CLASS="PARAMETER" >x</CODE >, <CODE CLASS="PARAMETER" >y</CODE > and <CODE CLASS="PARAMETER" >z</CODE > as coordinates.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5675" ></A ><H3 ><A NAME="GTS-VERTEX-IS-UNATTACHED" ></A >gts_vertex_is_unattached ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > gts_vertex_is_unattached (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v);</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="AEN5686"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5693"><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" >TRUE</TT > if <CODE CLASS="PARAMETER" >v</CODE > is not the endpoint of any <A HREF="gts-segments.html#GTSSEGMENT" ><SPAN CLASS="TYPE" >GtsSegment</SPAN ></A >, <TT CLASS="LITERAL" >FALSE</TT > otherwise.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5703" ></A ><H3 ><A NAME="GTS-VERTEX-IS-BOUNDARY" ></A >gts_vertex_is_boundary ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > gts_vertex_is_boundary (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *surface);</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="AEN5715"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5722"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >surface</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-surfaces.html#GTSSURFACE" ><SPAN CLASS="TYPE" >GtsSurface</SPAN ></A > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5730"><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" >TRUE</TT > if <CODE CLASS="PARAMETER" >v</CODE > is used by a <A HREF="gts-edges.html#GTSEDGE" ><SPAN CLASS="TYPE" >GtsEdge</SPAN ></A > boundary of <CODE CLASS="PARAMETER" >surface</CODE > as determined by <A HREF="gts-edges.html#GTS-EDGE-IS-BOUNDARY" ><CODE CLASS="FUNCTION" >gts_edge_is_boundary()</CODE ></A >, <TT CLASS="LITERAL" >FALSE</TT > otherwise.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5743" ></A ><H3 ><A NAME="GTS-VERTEX-IS-CONTACT" ></A >gts_vertex_is_contact ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_vertex_is_contact (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > sever);</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="AEN5755"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >. </P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5762"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >sever</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > if <TT CLASS="LITERAL" >TRUE</TT > and if <CODE CLASS="PARAMETER" >v</CODE > is a contact vertex between two or more sets of connected triangles replaces it with as many vertices, clones of <CODE CLASS="PARAMETER" >v</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5770"><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 sets of connected triangles sharing <CODE CLASS="PARAMETER" >v</CODE > as a contact vertex. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5776" ></A ><H3 ><A NAME="GTS-VERTICES-ARE-CONNECTED" ></A >gts_vertices_are_connected ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-segments.html#GTSSEGMENT" >GtsSegment</A >* gts_vertices_are_connected (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v1, <A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v2);</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="AEN5788"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v1</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5795"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v2</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > another <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5802"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > if <CODE CLASS="PARAMETER" >v1</CODE > and <CODE CLASS="PARAMETER" >v2</CODE > are the vertices of the same <A HREF="gts-segments.html#GTSSEGMENT" ><SPAN CLASS="TYPE" >GtsSegment</SPAN ></A > this segment else <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5812" ></A ><H3 ><A NAME="GTS-VERTEX-REPLACE" ></A >gts_vertex_replace ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_vertex_replace (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *with);</PRE ><P >Replaces vertex <CODE CLASS="PARAMETER" >v</CODE > with vertex <CODE CLASS="PARAMETER" >with</CODE >. <CODE CLASS="PARAMETER" >v</CODE > and <CODE CLASS="PARAMETER" >with</CODE > must be different. All the <A HREF="gts-segments.html#GTSSEGMENT" ><SPAN CLASS="TYPE" >GtsSegment</SPAN ></A > which have <CODE CLASS="PARAMETER" >v</CODE > has one of their vertices are updated. The segments list of vertex <CODE CLASS="PARAMETER" >v</CODE > is freed and <CODE CLASS="PARAMETER" >v</CODE >->segments is set to <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="AEN5834"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5841"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >with</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > another <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5848" ></A ><H3 ><A NAME="GTS-VERTEX-NEIGHBORS" ></A >gts_vertex_neighbors ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* gts_vertex_neighbors (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *list, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *surface);</PRE ><P >Adds to <CODE CLASS="PARAMETER" >list</CODE > all the <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A > connected to <CODE CLASS="PARAMETER" >v</CODE > by a <A HREF="gts-segments.html#GTSSEGMENT" ><SPAN CLASS="TYPE" >GtsSegment</SPAN ></A > and not already in <CODE CLASS="PARAMETER" >list</CODE >. If <CODE CLASS="PARAMETER" >surface</CODE > is not <TT CLASS="LITERAL" >NULL</TT > only the vertices connected to <CODE CLASS="PARAMETER" >v</CODE > by an edge belonging to <CODE CLASS="PARAMETER" >surface</CODE > are considered.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5872"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5879"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >list</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5886"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >surface</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-surfaces.html#GTSSURFACE" ><SPAN CLASS="TYPE" >GtsSurface</SPAN ></A > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5894"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the new list of unique <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5901" ></A ><H3 ><A NAME="GTS-VERTEX-TRIANGLES" ></A >gts_vertex_triangles ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* gts_vertex_triangles (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *list);</PRE ><P >Adds all the <A HREF="gts-triangles.html#GTSTRIANGLE" ><SPAN CLASS="TYPE" >GtsTriangle</SPAN ></A > which share <CODE CLASS="PARAMETER" >v</CODE > as a vertex and do not already belong to <CODE CLASS="PARAMETER" >list</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5917"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5924"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >list</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-triangles.html#GTSTRIANGLE" ><SPAN CLASS="TYPE" >GtsTriangle</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5931"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the new list of unique <A HREF="gts-triangles.html#GTSTRIANGLE" ><SPAN CLASS="TYPE" >GtsTriangle</SPAN ></A > which share <CODE CLASS="PARAMETER" >v</CODE > as a vertex. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5939" ></A ><H3 ><A NAME="GTS-VERTEX-FACES" ></A >gts_vertex_faces ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* gts_vertex_faces (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *surface, <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *list);</PRE ><P >Adds all the <A HREF="gts-faces.html#GTSFACE" ><SPAN CLASS="TYPE" >GtsFace</SPAN ></A > belonging to <CODE CLASS="PARAMETER" >surface</CODE > (if not <TT CLASS="LITERAL" >NULL</TT >) which share <CODE CLASS="PARAMETER" >v</CODE > as a vertex and do not already belong to <CODE CLASS="PARAMETER" >list</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5958"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5965"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >surface</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-surfaces.html#GTSSURFACE" ><SPAN CLASS="TYPE" >GtsSurface</SPAN ></A > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5973"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >list</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-faces.html#GTSFACE" ><SPAN CLASS="TYPE" >GtsFace</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN5980"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the new list of unique <A HREF="gts-faces.html#GTSFACE" ><SPAN CLASS="TYPE" >GtsFace</SPAN ></A > belonging to <CODE CLASS="PARAMETER" >surface</CODE > which share <CODE CLASS="PARAMETER" >v</CODE > as a vertex.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN5989" ></A ><H3 ><A NAME="GTS-VERTEX-FAN-ORIENTED" ></A >gts_vertex_fan_oriented ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* gts_vertex_fan_oriented (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *surface);</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="AEN6001"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN6008"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >surface</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="AEN6015"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-edges.html#GTSEDGE" ><SPAN CLASS="TYPE" >GtsEdge</SPAN ></A > describing in counterclockwise order the boundary of the fan of summit <CODE CLASS="PARAMETER" >v</CODE >, the faces of the fan belonging to <CODE CLASS="PARAMETER" >surface</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN6024" ></A ><H3 ><A NAME="GTS-VERTEX-ENCROACHES-EDGE" ></A >gts_vertex_encroaches_edge ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > gts_vertex_encroaches_edge (<A HREF="gts-vertices.html#GTSVERTEX" >GtsVertex</A > *v, <A HREF="gts-edges.html#GTSEDGE" >GtsEdge</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="AEN6036"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >v</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN6043"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >e</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-edges.html#GTSEDGE" ><SPAN CLASS="TYPE" >GtsEdge</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN6050"><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" >TRUE</TT > if <CODE CLASS="PARAMETER" >v</CODE > is strictly contained in the diametral circle of <CODE CLASS="PARAMETER" >e</CODE >, <TT CLASS="LITERAL" >FALSE</TT > otherwise.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN6059" ></A ><H3 ><A NAME="GTS-VERTICES-FROM-SEGMENTS" ></A >gts_vertices_from_segments ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* gts_vertices_from_segments (<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="AEN6070"><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="AEN6077"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >, vertices of a <A HREF="gts-segments.html#GTSSEGMENT" ><SPAN CLASS="TYPE" >GtsSegment</SPAN ></A > in <CODE CLASS="PARAMETER" >segments</CODE >. Each element in the list is unique (no duplicates).</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN6087" ></A ><H3 ><A NAME="GTS-VERTICES-MERGE" ></A >gts_vertices_merge ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GLIST" >GList</GTKDOCLINK >* gts_vertices_merge (<GTKDOCLINK HREF="GLIST" >GList</GTKDOCLINK > *vertices, <GTKDOCLINK HREF="GDOUBLE" >gdouble</GTKDOCLINK > epsilon, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > (*check) (GtsVertex *, GtsVertex *));</PRE ><P >For each vertex v in <CODE CLASS="PARAMETER" >vertices</CODE > look if there are any vertex of <CODE CLASS="PARAMETER" >vertices</CODE > contained in a box centered on v of size 2*<CODE CLASS="PARAMETER" >epsilon</CODE >. If there are and if <CODE CLASS="PARAMETER" >check</CODE > is not <TT CLASS="LITERAL" >NULL</TT > and returns <TT CLASS="LITERAL" >TRUE</TT >, replace them with v (using <A HREF="gts-vertices.html#GTS-VERTEX-REPLACE" ><CODE CLASS="FUNCTION" >gts_vertex_replace()</CODE ></A >), destroy them and remove them from list. This is done efficiently using Kd-Trees.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN6108"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >vertices</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-vertices.html#GTSVERTEX" ><SPAN CLASS="TYPE" >GtsVertex</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN6115"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >epsilon</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > half the size of the bounding box to consider for each vertex.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN6120"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >check</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > function called for each pair of vertices about to be merged or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN6126"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the updated list of vertices. </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-points.html" ><B ><<< Points</B ></A ></TD ><TD ALIGN="right" ><A ACCESSKEY="n" HREF="gts-segments.html" ><B >Segments >>></B ></A ></TD ></TR ></TABLE ></BODY ></HTML >