Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 06719cf03808e17ae6f0852ca1052dc2 > files > 2708

libogre1-devel-0.13.0-1mdk.i586.rpm

<html>
<head>
<title>Ogre::PatchSurface class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>
<!-- Generated by Doxygen 1.2.16 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>Ogre::PatchSurface  Class Reference</h1>A surface which is defined by curves of some kind to form a patch, e.g. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>&gt;</code>
<p>
Collaboration diagram for Ogre::PatchSurface:<p><center><img src="classOgre_1_1PatchSurface__coll__graph.png" border="0" usemap="#Ogre_1_1PatchSurface__coll__map" alt="Collaboration graph"></center>
<map name="Ogre_1_1PatchSurface__coll__map">
<area href="classOgre_1_1VertexDeclaration.html" shape="rect" coords="60,35,212,16" alt="">
<area href="classOgre_1_1HardwareIndexBufferSharedPtr.html" shape="rect" coords="21,103,251,84" alt="">
<area href="classOgre_1_1HardwareVertexBufferSharedPtr.html" shape="rect" coords="17,171,255,152" alt="">
<area href="classOgre_1_1AxisAlignedBox.html" shape="rect" coords="67,239,205,220" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classOgre_1_1PatchSurface-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces5">PatchSurfaceType</a> { <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces5Ogre_1_1PatchSurfaces0">PST_BEZIER</a>
 }</td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom>{ <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces6Ogre_1_1PatchSurfaces1">AUTO_LEVEL</a> =  -1
 }</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Constant for indicating automatic determination of subdivision level for patches.</em> <a href="#Ogre_1_1PatchSurfaces6">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7">VisibleSide</a> { <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces2">VS_FRONT</a>, 
<a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces3">VS_BACK</a>, 
<a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces4">VS_BOTH</a>
 }</td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea0">PatchSurface</a> ()</td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea1">~PatchSurface</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea2">defineSurface</a> (void *controlPointBuffer, <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *declaration, size_t width, size_t height, <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces5">PatchSurfaceType</a> pType=PST_BEZIER, size_t uMaxSubdivisionLevel=AUTO_LEVEL, size_t vMaxSubdivisionLevel=AUTO_LEVEL, <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7">VisibleSide</a> visibleSide=VS_FRONT)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets up the surface by defining it's control points, type and initial subdivision level.</em> <a href="#Ogre_1_1PatchSurfacea2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea3">getRequiredVertexCount</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Based on a previous call to defineSurface, establishes the number of vertices required to hold this patch at the maximum detail level.</em> <a href="#Ogre_1_1PatchSurfacea3"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea4">getRequiredIndexCount</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Based on a previous call to defineSurface, establishes the number of indexes required to hold this patch at the maximum detail level.</em> <a href="#Ogre_1_1PatchSurfacea4"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea5">getCurrentIndexCount</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets the current index count based on the current subdivision level.</em> <a href="#Ogre_1_1PatchSurfacea5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea6">getIndexOffset</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the index offset used by this buffer to write data into the buffer.</em> <a href="#Ogre_1_1PatchSurfacea6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea7">getVertexOffset</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the vertex offset used by this buffer to write data into the buffer.</em> <a href="#Ogre_1_1PatchSurfacea7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea8">getBounds</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets the bounds of this patch, only valid after calling defineSurface.</em> <a href="#Ogre_1_1PatchSurfacea8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea9">getBoundingSphereRadius</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets the radius of the bounding sphere for this patch, only valid after defineSurface has been called.</em> <a href="#Ogre_1_1PatchSurfacea9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea10">build</a> (<a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> destVertexBuffer, size_t vertexStart, <a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a> destIndexBuffer, size_t indexStart)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Tells the system to build the mesh relating to the surface into externally created buffers.</em> <a href="#Ogre_1_1PatchSurfacea10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea11">setSubdivisionFactor</a> (<a class="el" href="namespaceOgre.html#a349">Real</a> factor)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Alters the level of subdivision for this surface.</em> <a href="#Ogre_1_1PatchSurfacea11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea12">getSubdivisionFactor</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets the current level of subdivision.</em> <a href="#Ogre_1_1PatchSurfacea12"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea13">getControlPointBuffer</a> (void) const</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea14">notifyControlPointBufferDeallocated</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convenience method for telling the patch that the control points have been deleted, since once the patch has been built they are not required.</em> <a href="#Ogre_1_1PatchSurfacea14"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb0">findLevel</a> (<a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;a, <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;b, <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;c)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Internal method for finding the subdivision level given 3 control points.</em> <a href="#Ogre_1_1PatchSurfaceb0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb1">distributeControlPoints</a> (void *lockedBuffer)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb2">subdivideCurve</a> (void *lockedBuffer, size_t startIdx, size_t stepSize, size_t numSteps, size_t iterations)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb3">interpolateVertexData</a> (void *lockedBuffer, size_t leftIndex, size_t rightIndex, size_t destIndex)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb4">makeTriangles</a> (void)</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb5">getAutoULevel</a> (bool forMax=false)</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb6">getAutoVLevel</a> (bool forMax=false)</td></tr>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen0">mDeclaration</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Vertex declaration describing the control point buffer.</em> <a href="#Ogre_1_1PatchSurfacen0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen1">mControlPointBuffer</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Buffer containing the system-memory control points.</em> <a href="#Ogre_1_1PatchSurfacen1"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces5">PatchSurfaceType</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen2">mType</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Type of surface.</em> <a href="#Ogre_1_1PatchSurfacen2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen3">mCtlWidth</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Width in control points.</em> <a href="#Ogre_1_1PatchSurfacen3"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen4">mCtlHeight</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Height in control points.</em> <a href="#Ogre_1_1PatchSurfacen4"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen5">mCtlCount</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>TotalNumber of control points.</em> <a href="#Ogre_1_1PatchSurfacen5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen6">mULevel</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>U-direction subdivision level.</em> <a href="#Ogre_1_1PatchSurfacen6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen7">mVLevel</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>V-direction subdivision level.</em> <a href="#Ogre_1_1PatchSurfacen7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen8">mMaxULevel</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Max subdivision level.</em> <a href="#Ogre_1_1PatchSurfacen8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen9">mMaxVLevel</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen10">mMeshWidth</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Width of the subdivided mesh (big enough for max level).</em> <a href="#Ogre_1_1PatchSurfacen10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen11">mMeshHeight</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Height of the subdivided mesh (big enough for max level).</em> <a href="#Ogre_1_1PatchSurfacen11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7">VisibleSide</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen12">mVSide</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Which side is visible.</em> <a href="#Ogre_1_1PatchSurfacen12"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen13">mSubdivisionFactor</a></td></tr>
<tr><td nowrap align=right valign=top>std::vector&lt; <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen14">mVecCtlPoints</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen15">mVertexBuffer</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen16">mIndexBuffer</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen17">mVertexOffset</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen18">mIndexOffset</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen19">mRequiredVertexCount</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen20">mRequiredIndexCount</a></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen21">mCurrIndexCount</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen22">mAABB</a></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td><td valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacen23">mBoundingSphere</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A surface which is defined by curves of some kind to form a patch, e.g.
<p>
a Bezier patch. <dl compact><dt><b>
Remarks: </b><dd>
 This object will take a list of control points with various assorted data, and will subdivide it into a patch mesh. Currently only Bezier curves are supported for defining the surface, but other techniques such as NURBS would follow the same basic approach. </dl>
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00043">43</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.<hr><h2>Member Enumeration Documentation</h2>
<a name="Ogre_1_1PatchSurfaces6" doxytag="Ogre::PatchSurface::@15"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> anonymous enum
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constant for indicating automatic determination of subdivision level for patches.
<p>
<dl compact><dt><b>
Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="Ogre_1_1PatchSurfaces6Ogre_1_1PatchSurfaces1" doxytag="AUTO_LEVEL"></a><em>AUTO_LEVEL</em></em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00056">56</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaces5" doxytag="Ogre::PatchSurface::PatchSurfaceType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum Ogre::PatchSurface::PatchSurfaceType
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="Ogre_1_1PatchSurfaces5Ogre_1_1PatchSurfaces0" doxytag="PST_BEZIER"></a><em>PST_BEZIER</em></em>&nbsp;</td><td>
A patch defined by a set of bezier curves.</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00049">49</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaces7" doxytag="Ogre::PatchSurface::VisibleSide"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum Ogre::PatchSurface::VisibleSide
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>
Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces2" doxytag="VS_FRONT"></a><em>VS_FRONT</em></em>&nbsp;</td><td>
The side from which u goes right and v goes up (as in texture coords).</td></tr>
<tr><td valign=top><em><a name="Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces3" doxytag="VS_BACK"></a><em>VS_BACK</em></em>&nbsp;</td><td>
The side from which u goes right and v goes down (reverse of texture coords).</td></tr>
<tr><td valign=top><em><a name="Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces4" doxytag="VS_BOTH"></a><em>VS_BOTH</em></em>&nbsp;</td><td>
Both sides are visible - warning this creates 2x the number of triangles and adds extra overhead for calculating normals.</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00061">61</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.    </td>
  </tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="Ogre_1_1PatchSurfacea0" doxytag="Ogre::PatchSurface::PatchSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Ogre::PatchSurface::PatchSurface </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></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="OgrePatchSurface_8cpp-source.html#l00044">44</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8h-source.html#l00174">mType</a>, and <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces5Ogre_1_1PatchSurfaces0">PST_BEZIER</a>.    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea1" doxytag="Ogre::PatchSurface::~PatchSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Ogre::PatchSurface::~PatchSurface </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></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="OgrePatchSurface_8cpp-source.html#l00049">49</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="Ogre_1_1PatchSurfacea10" doxytag="Ogre::PatchSurface::build"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::build </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>destVertexBuffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>vertexStart</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>destIndexBuffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>indexStart</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

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

<p>
Tells the system to build the mesh relating to the surface into externally created buffers.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
 The <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> of the vertex buffer must be identical to the one passed into defineSurface. In addition, there must be enough space in the buffer to  accommodate the patch at full detail level; you should call getRequiredVertexCount and getRequiredIndexCount to determine this. This method does not create an internal mesh for this patch and so getMesh will return null if you call it after building the patch this way. </dl><dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>destVertexBuffer</em>&nbsp;</td><td>
The destination vertex buffer in which to build the patch. </td></tr>
<tr><td valign=top><em>vertexStart</em>&nbsp;</td><td>
The offset at which to start writing vertices for this patch </td></tr>
<tr><td valign=top><em>destIndexBuffer</em>&nbsp;</td><td>
The destination index buffer in which to build the patch. </td></tr>
<tr><td valign=top><em>vertexStart</em>&nbsp;</td><td>
The offset at which to start writing indexes for this patch </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">162</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8cpp-source.html#l00381">distributeControlPoints</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00261">Ogre::VertexDeclaration::getVertexSize</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>(), <a class="el" href="OgrePatchSurface_8h-source.html#l00170">mDeclaration</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00212">mIndexBuffer</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00214">mIndexOffset</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00186">mMaxULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00187">mMaxVLevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00191">mMeshHeight</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00189">mMeshWidth</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00215">mRequiredVertexCount</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00182">mULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00197">mVecCtlPoints</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00211">mVertexBuffer</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00213">mVertexOffset</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00184">mVLevel</a>, and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00459">subdivideCurve</a>().
<p>
Referenced by <a class="el" href="OgreBspLevel_8cpp-source.html#l00554">Ogre::BspLevel::buildQuake3Patches</a>(), and <a class="el" href="OgrePatchMesh_8cpp-source.html#l00064">Ogre::PatchMesh::load</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea2" doxytag="Ogre::PatchSurface::defineSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::defineSurface </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>controlPointBuffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>declaration</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>width</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>height</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces5">PatchSurfaceType</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pType</em> = PST_BEZIER, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>uMaxSubdivisionLevel</em> = AUTO_LEVEL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>vMaxSubdivisionLevel</em> = AUTO_LEVEL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7">VisibleSide</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>visibleSide</em> = VS_FRONT</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

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

<p>
Sets up the surface by defining it's control points, type and initial subdivision level.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
 This method initialises the surface by passing it a set of control points. The type of curves to be used are also defined here, although the only supported option currently is a bezier patch. You can also specify a global subdivision level here if you like, although it is recommended that the parameter is left as AUTO_LEVEL, which means the system decides how much subdivision is required (based on the curvature of the surface) </dl><dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>controlPointBuffer</em>&nbsp;</td><td>
A pointer to a buffer containing the vertex data which defines control points  of the curves rather than actual vertices. Note that you are expected to provide not just position information, but potentially normals and texture coordinates too. The format of the buffer is defined in the <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> parameter </td></tr>
<tr><td valign=top><em>decaration</em>&nbsp;</td><td>
<a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> describing the contents of the buffer.  Note this declaration must _only_ draw on buffer source 0! </td></tr>
<tr><td valign=top><em>width</em>&nbsp;</td><td>
Specifies the width of the patch in control points. </td></tr>
<tr><td valign=top><em>height</em>&nbsp;</td><td>
Specifies the height of the patch in control points.  </td></tr>
<tr><td valign=top><em>pType</em>&nbsp;</td><td>
The type of surface - currently only PST_BEZIER is supported </td></tr>
<tr><td valign=top><em>uMaxSubdivisionLevel,vMaxSubdivisionLevel</em>&nbsp;</td><td>
If you want to manually set the top level of subdivision,  do it here, otherwise let the system decide. </td></tr>
<tr><td valign=top><em>visibleSide</em>&nbsp;</td><td>
Determines which side of the patch (or both) triangles are generated for. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">53</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces6Ogre_1_1PatchSurfaces1">AUTO_LEVEL</a>, <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00172">Ogre::VertexElement::baseVertexPointerToElement</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00225">Ogre::VertexDeclaration::findElementBySemantic</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00208">getAutoULevel</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00237">getAutoVLevel</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00261">Ogre::VertexDeclaration::getVertexSize</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00037">LEVEL_WIDTH</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00219">mAABB</a>, <a class="el" href="OgreVector3_8h-source.html#l00405">Ogre::Vector3::makeCeil</a>(), <a class="el" href="OgreVector3_8h-source.html#l00391">Ogre::Vector3::makeFloor</a>(), <a class="el" href="OgrePatchSurface_8h-source.html#l00220">mBoundingSphere</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00172">mControlPointBuffer</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00180">mCtlCount</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00178">mCtlHeight</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00176">mCtlWidth</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00170">mDeclaration</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00186">mMaxULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00187">mMaxVLevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00191">mMeshHeight</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00189">mMeshWidth</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00216">mRequiredIndexCount</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00215">mRequiredVertexCount</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00195">mSubdivisionFactor</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00174">mType</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00182">mULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00197">mVecCtlPoints</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00184">mVLevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00193">mVSide</a>, <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>, <a class="el" href="OgreAxisAlignedBox_8h-source.html#l00147">Ogre::AxisAlignedBox::setExtents</a>(), <a class="el" href="OgreVector3_8h-source.html#l00266">Ogre::Vector3::squaredLength</a>(), <a class="el" href="namespaceOgre.html#a630a143">Ogre::VES_POSITION</a>, and <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces4">VS_BOTH</a>.
<p>
Referenced by <a class="el" href="OgreBspLevel_8cpp-source.html#l00502">Ogre::BspLevel::initQuake3Patches</a>(), and <a class="el" href="OgrePatchMesh_8cpp-source.html#l00033">Ogre::PatchMesh::PatchMesh</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaceb1" doxytag="Ogre::PatchSurface::distributeControlPoints"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::distributeControlPoints </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>lockedBuffer</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [protected]</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="OgrePatchSurface_8cpp-source.html#l00381">381</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00172">Ogre::VertexElement::baseVertexPointerToElement</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00225">Ogre::VertexDeclaration::findElementBySemantic</a>(), <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00137">Ogre::VertexElement::getType</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00261">Ogre::VertexDeclaration::getVertexSize</a>(), <a class="el" href="OgrePatchSurface_8h-source.html#l00172">mControlPointBuffer</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00170">mDeclaration</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00191">mMeshHeight</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00189">mMeshWidth</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00182">mULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00184">mVLevel</a>, <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>, <a class="el" href="OgreColourValue_8h-source.html#l00032">Ogre::RGBA</a>, <a class="el" href="namespaceOgre.html#a630a147">Ogre::VES_DIFFUSE</a>, <a class="el" href="namespaceOgre.html#a630a144">Ogre::VES_NORMAL</a>, <a class="el" href="namespaceOgre.html#a630a143">Ogre::VES_POSITION</a>, and <a class="el" href="namespaceOgre.html#a630a149">Ogre::VES_TEXTURE_COORDINATES</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaceb0" doxytag="Ogre::PatchSurface::findLevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::findLevel </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>a</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>b</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</code></td>
        </tr>

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

<p>
Internal method for finding the subdivision level given 3 control points.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00280">280</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgreVector3_8h-source.html#l00285">Ogre::Vector3::dotProduct</a>(), and <a class="el" href="OgreVector3_8h-source.html#l00356">Ogre::Vector3::midPoint</a>().
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00208">getAutoULevel</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00237">getAutoVLevel</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaceb5" doxytag="Ogre::PatchSurface::getAutoULevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getAutoULevel </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>forMax</em> = false          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [protected]</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="OgrePatchSurface_8cpp-source.html#l00208">208</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgreException_8h-source.html#l00033">Except</a>, <a class="el" href="OgrePatchSurface_8cpp-source.html#l00280">findLevel</a>(), <a class="el" href="OgrePatchSurface_8h-source.html#l00178">mCtlHeight</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00176">mCtlWidth</a>, and <a class="el" href="OgrePatchSurface_8h-source.html#l00197">mVecCtlPoints</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaceb6" doxytag="Ogre::PatchSurface::getAutoVLevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getAutoVLevel </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>forMax</em> = false          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [protected]</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="OgrePatchSurface_8cpp-source.html#l00237">237</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgreException_8h-source.html#l00033">Except</a>, <a class="el" href="OgrePatchSurface_8cpp-source.html#l00280">findLevel</a>(), <a class="el" href="OgrePatchSurface_8h-source.html#l00178">mCtlHeight</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00176">mCtlWidth</a>, and <a class="el" href="OgrePatchSurface_8h-source.html#l00197">mVecCtlPoints</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea9" doxytag="Ogre::PatchSurface::getBoundingSphereRadius"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a349">Real</a> Ogre::PatchSurface::getBoundingSphereRadius </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Gets the radius of the bounding sphere for this patch, only valid after defineSurface has been called.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00147">147</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8h-source.html#l00220">mBoundingSphere</a>, and <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.
<p>
Referenced by <a class="el" href="OgrePatchMesh_8cpp-source.html#l00064">Ogre::PatchMesh::load</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea8" doxytag="Ogre::PatchSurface::getBounds"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a> &amp; Ogre::PatchSurface::getBounds </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Gets the bounds of this patch, only valid after calling defineSurface.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00142">142</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8h-source.html#l00219">mAABB</a>.
<p>
Referenced by <a class="el" href="OgrePatchMesh_8cpp-source.html#l00064">Ogre::PatchMesh::load</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea13" doxytag="Ogre::PatchSurface::getControlPointBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* Ogre::PatchSurface::getControlPointBuffer </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</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="OgrePatchSurface_8h-source.html#l00159">159</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgreBspLevel_8cpp-source.html#l00554">Ogre::BspLevel::buildQuake3Patches</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea5" doxytag="Ogre::PatchSurface::getCurrentIndexCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getCurrentIndexCount </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Gets the current index count based on the current subdivision level.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00275">275</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8h-source.html#l00217">mCurrIndexCount</a>.
<p>
Referenced by <a class="el" href="OgreBspSceneManager_8cpp-source.html#l00349">Ogre::BspSceneManager::cacheGeometry</a>(), and <a class="el" href="OgrePatchMesh_8cpp-source.html#l00056">Ogre::PatchMesh::setSubdivision</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea6" doxytag="Ogre::PatchSurface::getIndexOffset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getIndexOffset </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Returns the index offset used by this buffer to write data into the buffer.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00118">118</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgreBspSceneManager_8cpp-source.html#l00349">Ogre::BspSceneManager::cacheGeometry</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea4" doxytag="Ogre::PatchSurface::getRequiredIndexCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getRequiredIndexCount </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Based on a previous call to defineSurface, establishes the number of indexes required to hold this patch at the maximum detail level.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
This is useful when you wish to build the patch into external vertex / index buffers. </dl>
<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00157">157</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8h-source.html#l00216">mRequiredIndexCount</a>.
<p>
Referenced by <a class="el" href="OgreBspLevel_8cpp-source.html#l00554">Ogre::BspLevel::buildQuake3Patches</a>(), <a class="el" href="OgreBspLevel_8cpp-source.html#l00502">Ogre::BspLevel::initQuake3Patches</a>(), and <a class="el" href="OgrePatchMesh_8cpp-source.html#l00064">Ogre::PatchMesh::load</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea3" doxytag="Ogre::PatchSurface::getRequiredVertexCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getRequiredVertexCount </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Based on a previous call to defineSurface, establishes the number of vertices required to hold this patch at the maximum detail level.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
This is useful when you wish to build the patch into external vertex / index buffers. </dl>
<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00152">152</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8h-source.html#l00215">mRequiredVertexCount</a>.
<p>
Referenced by <a class="el" href="OgreBspLevel_8cpp-source.html#l00554">Ogre::BspLevel::buildQuake3Patches</a>(), <a class="el" href="OgreBspLevel_8cpp-source.html#l00502">Ogre::BspLevel::initQuake3Patches</a>(), and <a class="el" href="OgrePatchMesh_8cpp-source.html#l00064">Ogre::PatchMesh::load</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea12" doxytag="Ogre::PatchSurface::getSubdivisionFactor"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a349">Real</a> Ogre::PatchSurface::getSubdivisionFactor </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Gets the current level of subdivision.
<p>
    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea7" doxytag="Ogre::PatchSurface::getVertexOffset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getVertexOffset </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Returns the vertex offset used by this buffer to write data into the buffer.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00120">120</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgreBspSceneManager_8cpp-source.html#l00349">Ogre::BspSceneManager::cacheGeometry</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaceb3" doxytag="Ogre::PatchSurface::interpolateVertexData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::interpolateVertexData </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>lockedBuffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>leftIndex</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>rightIndex</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>destIndex</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</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="OgrePatchSurface_8cpp-source.html#l00629">629</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00172">Ogre::VertexElement::baseVertexPointerToElement</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00225">Ogre::VertexDeclaration::findElementBySemantic</a>(), <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00137">Ogre::VertexElement::getType</a>(), <a class="el" href="OgreHardwareVertexBuffer_8cpp-source.html#l00261">Ogre::VertexDeclaration::getVertexSize</a>(), <a class="el" href="OgrePatchSurface_8h-source.html#l00170">mDeclaration</a>, <a class="el" href="OgreVector3_8h-source.html#l00299">Ogre::Vector3::normalise</a>(), <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>, <a class="el" href="namespaceOgre.html#a630a147">Ogre::VES_DIFFUSE</a>, <a class="el" href="namespaceOgre.html#a630a144">Ogre::VES_NORMAL</a>, <a class="el" href="namespaceOgre.html#a630a143">Ogre::VES_POSITION</a>, <a class="el" href="namespaceOgre.html#a630a149">Ogre::VES_TEXTURE_COORDINATES</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::x</a>, <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::y</a>, and <a class="el" href="OgreVector3_8h-source.html#l00047">Ogre::Vector3::z</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00459">subdivideCurve</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaceb4" doxytag="Ogre::PatchSurface::makeTriangles"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::makeTriangles </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [protected]</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="OgrePatchSurface_8cpp-source.html#l00496">496</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8cpp-source.html#l00037">LEVEL_WIDTH</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00178">mCtlHeight</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00176">mCtlWidth</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00217">mCurrIndexCount</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00212">mIndexBuffer</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00214">mIndexOffset</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00186">mMaxULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00187">mMaxVLevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00191">mMeshHeight</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00189">mMeshWidth</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00216">mRequiredIndexCount</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00182">mULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00184">mVLevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00193">mVSide</a>, <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces4">VS_BOTH</a>, and <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7Ogre_1_1PatchSurfaces2">VS_FRONT</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00263">setSubdivisionFactor</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea14" doxytag="Ogre::PatchSurface::notifyControlPointBufferDeallocated"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::notifyControlPointBufferDeallocated </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

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

<p>
Convenience method for telling the patch that the control points have been deleted, since once the patch has been built they are not required.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00165">165</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgreBspLevel_8cpp-source.html#l00554">Ogre::BspLevel::buildQuake3Patches</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacea11" doxytag="Ogre::PatchSurface::setSubdivisionFactor"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::setSubdivisionFactor </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a349">Real</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>factor</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

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

<p>
Alters the level of subdivision for this surface.
<p>
<dl compact><dt><b>
Remarks: </b><dd>
 This method changes the proportionate detail level of the patch; since the U and V directions can have different subdivision levels, this method takes a single Real value where 0 is the minimum detail (the control points) and 1 is the maximum detail level as supplied to the original call to  defineSurface. </dl>
<p>
Definition at line <a class="el" href="OgrePatchSurface_8cpp-source.html#l00263">263</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>(), <a class="el" href="OgrePatchSurface_8h-source.html#l00186">mMaxULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00187">mMaxVLevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00182">mULevel</a>, <a class="el" href="OgrePatchSurface_8h-source.html#l00184">mVLevel</a>, and <a class="el" href="OgrePrerequisites_8h-source.html#l00086">Ogre::Real</a>.
<p>
Referenced by <a class="el" href="OgrePatchMesh_8cpp-source.html#l00056">Ogre::PatchMesh::setSubdivision</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfaceb2" doxytag="Ogre::PatchSurface::subdivideCurve"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::subdivideCurve </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>lockedBuffer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>startIdx</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>stepSize</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>numSteps</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>iterations</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [protected]</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="OgrePatchSurface_8cpp-source.html#l00459">459</a> of file <a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a>.
<p>
References <a class="el" href="OgrePatchSurface_8cpp-source.html#l00629">interpolateVertexData</a>().
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>().    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="Ogre_1_1PatchSurfacen22" doxytag="Ogre::PatchSurface::mAABB"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a> Ogre::PatchSurface::mAABB<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00219">219</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00142">getBounds</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen23" doxytag="Ogre::PatchSurface::mBoundingSphere"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a349">Real</a> Ogre::PatchSurface::mBoundingSphere<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00220">220</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00147">getBoundingSphereRadius</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen1" doxytag="Ogre::PatchSurface::mControlPointBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* Ogre::PatchSurface::mControlPointBuffer<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Buffer containing the system-memory control points.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00172">172</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00381">distributeControlPoints</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen5" doxytag="Ogre::PatchSurface::mCtlCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mCtlCount<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
TotalNumber of control points.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00180">180</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen4" doxytag="Ogre::PatchSurface::mCtlHeight"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mCtlHeight<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Height in control points.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00178">178</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00208">getAutoULevel</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00237">getAutoVLevel</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen3" doxytag="Ogre::PatchSurface::mCtlWidth"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mCtlWidth<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Width in control points.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00176">176</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00208">getAutoULevel</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00237">getAutoVLevel</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen21" doxytag="Ogre::PatchSurface::mCurrIndexCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mCurrIndexCount<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00217">217</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00275">getCurrentIndexCount</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen0" doxytag="Ogre::PatchSurface::mDeclaration"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* Ogre::PatchSurface::mDeclaration<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Vertex declaration describing the control point buffer.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00170">170</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00381">distributeControlPoints</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00629">interpolateVertexData</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen16" doxytag="Ogre::PatchSurface::mIndexBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a> Ogre::PatchSurface::mIndexBuffer<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00212">212</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen18" doxytag="Ogre::PatchSurface::mIndexOffset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mIndexOffset<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00214">214</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen8" doxytag="Ogre::PatchSurface::mMaxULevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mMaxULevel<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Max subdivision level.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00186">186</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00263">setSubdivisionFactor</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen9" doxytag="Ogre::PatchSurface::mMaxVLevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mMaxVLevel<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00187">187</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00263">setSubdivisionFactor</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen11" doxytag="Ogre::PatchSurface::mMeshHeight"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mMeshHeight<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Height of the subdivided mesh (big enough for max level).
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00191">191</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00381">distributeControlPoints</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen10" doxytag="Ogre::PatchSurface::mMeshWidth"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mMeshWidth<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Width of the subdivided mesh (big enough for max level).
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00189">189</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00381">distributeControlPoints</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen20" doxytag="Ogre::PatchSurface::mRequiredIndexCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mRequiredIndexCount<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00216">216</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00157">getRequiredIndexCount</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen19" doxytag="Ogre::PatchSurface::mRequiredVertexCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mRequiredVertexCount<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00215">215</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00152">getRequiredVertexCount</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen13" doxytag="Ogre::PatchSurface::mSubdivisionFactor"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a349">Real</a> Ogre::PatchSurface::mSubdivisionFactor<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00195">195</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen2" doxytag="Ogre::PatchSurface::mType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces5">PatchSurfaceType</a> Ogre::PatchSurface::mType<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Type of surface.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00174">174</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00044">PatchSurface</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen6" doxytag="Ogre::PatchSurface::mULevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mULevel<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
U-direction subdivision level.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00182">182</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00381">distributeControlPoints</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00263">setSubdivisionFactor</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen14" doxytag="Ogre::PatchSurface::mVecCtlPoints"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="classOgre_1_1Vector3.html">Vector3</a>&gt; Ogre::PatchSurface::mVecCtlPoints<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00197">197</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00208">getAutoULevel</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00237">getAutoVLevel</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen15" doxytag="Ogre::PatchSurface::mVertexBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> Ogre::PatchSurface::mVertexBuffer<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00211">211</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen17" doxytag="Ogre::PatchSurface::mVertexOffset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mVertexOffset<code> [protected]</code>
      </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="OgrePatchSurface_8h-source.html#l00213">213</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen7" doxytag="Ogre::PatchSurface::mVLevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::mVLevel<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
V-direction subdivision level.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00184">184</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00162">build</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00381">distributeControlPoints</a>(), <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00263">setSubdivisionFactor</a>().    </td>
  </tr>
</table>
<a name="Ogre_1_1PatchSurfacen12" doxytag="Ogre::PatchSurface::mVSide"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaces7">VisibleSide</a> Ogre::PatchSurface::mVSide<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Which side is visible.
<p>

<p>
Definition at line <a class="el" href="OgrePatchSurface_8h-source.html#l00193">193</a> of file <a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>.
<p>
Referenced by <a class="el" href="OgrePatchSurface_8cpp-source.html#l00053">defineSurface</a>(), and <a class="el" href="OgrePatchSurface_8cpp-source.html#l00496">makeTriangles</a>().    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a><li><a class="el" href="OgrePatchSurface_8cpp-source.html">OgrePatchSurface.cpp</a></ul>
<p>
Copyright &copy; 2002-2003 by The OGRE Team<br />
Last modified Wed Jan 21 00:19:08 2004
</p>
</body>
</html>