<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Faces</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="Triangles" HREF="gts-triangles.html"><LINK REL="NEXT" TITLE="Surfaces" HREF="gts-surfaces.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-triangles.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-surfaces.html" ><IMG SRC="right.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Next"></A ></TD ></TR ></TABLE ><H1 ><A NAME="GTS-FACES" ></A >Faces</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN8556" ></A ><H2 >Name</H2 >Faces -- face object and related functions.</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN8559" ></A ><H2 >Synopsis</H2 ><PRE CLASS="SYNOPSIS" > #include <gts.h> #define <A HREF="gts-faces.html#GTS-FACE-CLASS:CAPS" >GTS_FACE_CLASS</A > (klass) #define <A HREF="gts-faces.html#GTS-FACE:CAPS" >GTS_FACE</A > (obj) #define <A HREF="gts-faces.html#GTS-IS-FACE:CAPS" >GTS_IS_FACE</A > (obj) <A HREF="gts-faces.html#GTSFACECLASS" >GtsFaceClass</A >; <A HREF="gts-faces.html#GTSFACE" >GtsFace</A >; <A HREF="gts-faces.html#GTSFACECLASS" >GtsFaceClass</A >* <A HREF="gts-faces.html#GTS-FACE-CLASS" >gts_face_class</A > (void); <A HREF="gts-faces.html#GTSFACE" >GtsFace</A >* <A HREF="gts-faces.html#GTS-FACE-NEW" >gts_face_new</A > (<A HREF="gts-faces.html#GTSFACECLASS" >GtsFaceClass</A > *klass, <A HREF="gts-edges.html#GTSEDGE" >GtsEdge</A > *e1, <A HREF="gts-edges.html#GTSEDGE" >GtsEdge</A > *e2, <A HREF="gts-edges.html#GTSEDGE" >GtsEdge</A > *e3); <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > <A HREF="gts-faces.html#GTS-FACE-HAS-PARENT-SURFACE" >gts_face_has_parent_surface</A > (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-faces.html#GTS-FACE-NEIGHBOR-NUMBER" >gts_face_neighbor_number</A > (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s); <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* <A HREF="gts-faces.html#GTS-FACE-NEIGHBORS" >gts_face_neighbors</A > (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-faces.html#GTS-FACE-FOREACH-NEIGHBOR" >gts_face_foreach_neighbor</A > (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s, <A HREF="gts-surfaces.html#GTSFUNC" >GtsFunc</A > func, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > data); <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > <A HREF="gts-faces.html#GTS-FACE-IS-COMPATIBLE" >gts_face_is_compatible</A > (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s); <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* <A HREF="gts-faces.html#GTS-FACES-FROM-EDGES" >gts_faces_from_edges</A > (<GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *edges, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s);</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN8601" ></A ><H2 >Description</H2 ><P >Faces are derived from <A HREF="gts-triangles.html#GTSTRIANGLE" ><SPAN CLASS="TYPE" >GtsTriangle</SPAN ></A >. A collection of faces defined a <A HREF="gts-surfaces.html#GTSSURFACE" ><SPAN CLASS="TYPE" >GtsSurface</SPAN ></A >.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN8608" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN8610" ></A ><H3 ><A NAME="GTS-FACE-CLASS:CAPS" ></A >GTS_FACE_CLASS()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_FACE_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="AEN8618"><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="AEN8623" ></A ><H3 ><A NAME="GTS-FACE:CAPS" ></A >GTS_FACE()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_FACE(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8631"><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="AEN8636" ></A ><H3 ><A NAME="GTS-IS-FACE:CAPS" ></A >GTS_IS_FACE()</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_IS_FACE(obj)</PRE ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8644"><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="AEN8649" ></A ><H3 ><A NAME="GTSFACECLASS" ></A >GtsFaceClass</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsTriangleClass parent_class; } GtsFaceClass;</PRE ><P >The face class derived from <A HREF="gts-triangles.html#GTSTRIANGLECLASS" ><SPAN CLASS="TYPE" >GtsTriangleClass</SPAN ></A >.</P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8658" ></A ><H3 ><A NAME="GTSFACE" ></A >GtsFace</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsTriangle triangle; GSList * surfaces; } GtsFace;</PRE ><P >The face object.</P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8666"><SPAN STYLE="white-space: nowrap" ><A HREF="gts-triangles.html#GTSTRIANGLE" >GtsTriangle</A > <CODE CLASS="STRUCTFIELD" >triangle</CODE >;</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >The parent object.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8672"><SPAN STYLE="white-space: nowrap" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *<CODE CLASS="STRUCTFIELD" >surfaces</CODE >;</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >A list of <A HREF="gts-surfaces.html#GTSSURFACE" ><SPAN CLASS="TYPE" >GtsSurface</SPAN ></A > using this face. </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8680" ></A ><H3 ><A NAME="GTS-FACE-CLASS" ></A >gts_face_class ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-faces.html#GTSFACECLASS" >GtsFaceClass</A >* gts_face_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="AEN8690"><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-faces.html#GTSFACECLASS" ><SPAN CLASS="TYPE" >GtsFaceClass</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8697" ></A ><H3 ><A NAME="GTS-FACE-NEW" ></A >gts_face_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-faces.html#GTSFACE" >GtsFace</A >* gts_face_new (<A HREF="gts-faces.html#GTSFACECLASS" >GtsFaceClass</A > *klass, <A HREF="gts-edges.html#GTSEDGE" >GtsEdge</A > *e1, <A HREF="gts-edges.html#GTSEDGE" >GtsEdge</A > *e2, <A HREF="gts-edges.html#GTSEDGE" >GtsEdge</A > *e3);</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="AEN8711"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >klass</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-faces.html#GTSFACECLASS" ><SPAN CLASS="TYPE" >GtsFaceClass</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8718"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >e1</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="AEN8725"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >e2</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="AEN8732"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >e3</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="AEN8739"><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-faces.html#GTSFACE" ><SPAN CLASS="TYPE" >GtsFace</SPAN ></A > using <CODE CLASS="PARAMETER" >e1</CODE >, <CODE CLASS="PARAMETER" >e2</CODE > and <CODE CLASS="PARAMETER" >e3</CODE > as edges.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8749" ></A ><H3 ><A NAME="GTS-FACE-HAS-PARENT-SURFACE" ></A >gts_face_has_parent_surface ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > gts_face_has_parent_surface (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <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="AEN8761"><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="AEN8768"><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="AEN8775"><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" >f</CODE > belongs to <CODE CLASS="PARAMETER" >s</CODE >, <TT CLASS="LITERAL" >FALSE</TT > otherwise.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8784" ></A ><H3 ><A NAME="GTS-FACE-NEIGHBOR-NUMBER" ></A >gts_face_neighbor_number ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_face_neighbor_number (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <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="AEN8796"><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="AEN8803"><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 > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8811"><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 faces neighbors of <CODE CLASS="PARAMETER" >f</CODE > and belonging to <CODE CLASS="PARAMETER" >s</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8818" ></A ><H3 ><A NAME="GTS-FACE-NEIGHBORS" ></A >gts_face_neighbors ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* gts_face_neighbors (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <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="AEN8830"><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="AEN8837"><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 > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8845"><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 unique <A HREF="gts-faces.html#GTSFACE" ><SPAN CLASS="TYPE" >GtsFace</SPAN ></A > neighbors of <CODE CLASS="PARAMETER" >f</CODE > and belonging to <CODE CLASS="PARAMETER" >s</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8854" ></A ><H3 ><A NAME="GTS-FACE-FOREACH-NEIGHBOR" ></A >gts_face_foreach_neighbor ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_face_foreach_neighbor (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s, <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 of <CODE CLASS="PARAMETER" >f</CODE > belonging to <CODE CLASS="PARAMETER" >s</CODE > (if 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="AEN8872"><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="AEN8879"><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 > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8887"><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="AEN8894"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >data</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > user data to pass to <CODE CLASS="PARAMETER" >func</CODE >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8900" ></A ><H3 ><A NAME="GTS-FACE-IS-COMPATIBLE" ></A >gts_face_is_compatible ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > gts_face_is_compatible (<A HREF="gts-faces.html#GTSFACE" >GtsFace</A > *f, <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="AEN8912"><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="AEN8919"><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="AEN8926"><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" >f</CODE > is compatible with all its neighbors belonging to <CODE CLASS="PARAMETER" >s</CODE >, <TT CLASS="LITERAL" >FALSE</TT > otherwise.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN8935" ></A ><H3 ><A NAME="GTS-FACES-FROM-EDGES" ></A >gts_faces_from_edges ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* gts_faces_from_edges (<GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK > *edges, <A HREF="gts-surfaces.html#GTSSURFACE" >GtsSurface</A > *s);</PRE ><P >Builds a list of unique faces which belong to <CODE CLASS="PARAMETER" >s</CODE > and have one of their edges in <CODE CLASS="PARAMETER" >edges</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8949"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >edges</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a list of <A HREF="gts-edges.html#GTSEDGE" ><SPAN CLASS="TYPE" >GtsEdge</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8956"><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 > or <TT CLASS="LITERAL" >NULL</TT >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN8964"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the list of faces.</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-triangles.html" ><B ><<< Triangles</B ></A ></TD ><TD ALIGN="right" ><A ACCESSKEY="n" HREF="gts-surfaces.html" ><B >Surfaces >>></B ></A ></TD ></TR ></TABLE ></BODY ></HTML >