<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>FTGL: FTTesselation class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
<h1>FTTesselation Class Reference</h1><code>#include &lt;<a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a>&gt;</code>
<p>
<hr><a name="_details"></a><h2>Detailed Description</h2>
FTTesselation captures points that are output by OpenGL's gluTesselator. 
<p>

<p>
Definition at line <a class="el" href="FTVectoriser_8h-source.html#l00020">20</a> of file <a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a>.<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFTTesselation.html#a0">FTTesselation</a> (GLenum m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#a0"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFTTesselation.html#a1">~FTTesselation</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#a1"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFTTesselation.html#a2">AddPoint</a> (const <a class="el" href="FTGL_8h.html#a4">FTGL_DOUBLE</a> x, const <a class="el" href="FTGL_8h.html#a4">FTGL_DOUBLE</a> y, const <a class="el" href="FTGL_8h.html#a4">FTGL_DOUBLE</a> z)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a point to the mesh.  <a href="#a2"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFTTesselation.html#a3">PointCount</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of points in this mesh.  <a href="#a3"></a><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classFTPoint.html">FTPoint</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFTTesselation.html#a4">Point</a> (unsigned int index) const </td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>GLenum&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFTTesselation.html#a5">PolygonType</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the OpenGL polygon type.  <a href="#a5"></a><br><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="FTTesselation::FTTesselation" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FTTesselation::FTTesselation </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">GLenum&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>m</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Default constructor. 
<p>

<p>
Definition at line <a class="el" href="FTVectoriser_8h-source.html#l00026">26</a> of file <a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="FTTesselation::~FTTesselation" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FTTesselation::~<a class="el" href="classFTTesselation.html">FTTesselation</a> </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Destructor. 
<p>

<p>
Definition at line <a class="el" href="FTVectoriser_8h-source.html#l00035">35</a> of file <a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a>.    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a2" doxytag="FTTesselation::AddPoint" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void FTTesselation::AddPoint </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="FTGL_8h.html#a4">FTGL_DOUBLE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="FTGL_8h.html#a4">FTGL_DOUBLE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="FTGL_8h.html#a4">FTGL_DOUBLE</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>z</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add a point to the mesh. 
<p>

<p>
Definition at line <a class="el" href="FTVectoriser_8h-source.html#l00043">43</a> of file <a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a>.
<p>
References <a class="el" href="FTGL_8h-source.html#l00005">FTGL_DOUBLE</a>.
<p>
Referenced by <a class="el" href="FTVectoriser_8cpp-source.html#l00070">FTMesh::AddPoint()</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a4" doxytag="FTTesselation::Point" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const <a class="el" href="classFTPoint.html">FTPoint</a>&amp; FTTesselation::Point </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>index</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="FTVectoriser_8h-source.html#l00056">56</a> of file <a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a>.
<p>
Referenced by <a class="el" href="FTExtrdGlyph_8cpp-source.html#l00009">FTExtrdGlyph::FTExtrdGlyph()</a>, and <a class="el" href="FTPolyGlyph_8cpp-source.html#l00005">FTPolyGlyph::FTPolyGlyph()</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a3" doxytag="FTTesselation::PointCount" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t FTTesselation::PointCount </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The number of points in this mesh. 
<p>

<p>
Definition at line <a class="el" href="FTVectoriser_8h-source.html#l00051">51</a> of file <a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a>.
<p>
Referenced by <a class="el" href="FTExtrdGlyph_8cpp-source.html#l00009">FTExtrdGlyph::FTExtrdGlyph()</a>, and <a class="el" href="FTPolyGlyph_8cpp-source.html#l00005">FTPolyGlyph::FTPolyGlyph()</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a5" doxytag="FTTesselation::PolygonType" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> GLenum FTTesselation::PolygonType </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return the OpenGL polygon type. 
<p>

<p>
Definition at line <a class="el" href="FTVectoriser_8h-source.html#l00061">61</a> of file <a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a>.
<p>
Referenced by <a class="el" href="FTExtrdGlyph_8cpp-source.html#l00009">FTExtrdGlyph::FTExtrdGlyph()</a>, and <a class="el" href="FTPolyGlyph_8cpp-source.html#l00005">FTPolyGlyph::FTPolyGlyph()</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="FTVectoriser_8h-source.html">FTVectoriser.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Sun Dec 5 22:24:07 2004 for FTGL by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.6 </small></address>
</body>
</html>
