source: OGRE/trunk/ogrenew/Docs/api/html/classOgre_1_1PatchSurface.html @ 657

Revision 657, 73.7 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>Ogre::PatchSurface class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>Ogre::PatchSurface Class Reference</h1>A surface which is defined by curves of some kind to form a patch, e.g. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a>&gt;</code>
14<p>
15<a href="classOgre_1_1PatchSurface-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
16<tr><td></td></tr>
17<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
18<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew5">PatchSurfaceType</a> { <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew5Ogre_1_1PatchSurfacew0">PST_BEZIER</a>
19 }</td></tr>
20
21<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom>{ <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew6Ogre_1_1PatchSurfacew1">AUTO_LEVEL</a> =  -1
22 }</td></tr>
23
24<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for indicating automatic determination of subdivision level for patches.  <a href="#Ogre_1_1PatchSurfacew6">More...</a><br><br></td></tr>
25<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew7">VisibleSide</a> { <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew7Ogre_1_1PatchSurfacew2">VS_FRONT</a>,
26<a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew7Ogre_1_1PatchSurfacew3">VS_BACK</a>,
27<a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew7Ogre_1_1PatchSurfacew4">VS_BOTH</a>
28 }</td></tr>
29
30<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
31<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea0">PatchSurface</a> ()</td></tr>
32
33<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea1">~PatchSurface</a> ()</td></tr>
34
35<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" 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_1PatchSurfacew5">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_1PatchSurfacew7">VisibleSide</a> visibleSide=VS_FRONT)</td></tr>
36
37<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets up the surface by defining it's control points, type and initial subdivision level.  <a href="#Ogre_1_1PatchSurfacea2"></a><br><br></td></tr>
38<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea3">getRequiredVertexCount</a> (void) const </td></tr>
39
40<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Based on a previous call to defineSurface, establishes the number of vertices required to hold this patch at the maximum detail level.  <a href="#Ogre_1_1PatchSurfacea3"></a><br><br></td></tr>
41<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea4">getRequiredIndexCount</a> (void) const </td></tr>
42
43<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Based on a previous call to defineSurface, establishes the number of indexes required to hold this patch at the maximum detail level.  <a href="#Ogre_1_1PatchSurfacea4"></a><br><br></td></tr>
44<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea5">getCurrentIndexCount</a> (void) const </td></tr>
45
46<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the current index count based on the current subdivision level.  <a href="#Ogre_1_1PatchSurfacea5"></a><br><br></td></tr>
47<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea6">getIndexOffset</a> (void) const </td></tr>
48
49<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the index offset used by this buffer to write data into the buffer.  <a href="#Ogre_1_1PatchSurfacea6"></a><br><br></td></tr>
50<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea7">getVertexOffset</a> (void) const </td></tr>
51
52<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the vertex offset used by this buffer to write data into the buffer.  <a href="#Ogre_1_1PatchSurfacea7"></a><br><br></td></tr>
53<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea8">getBounds</a> (void) const </td></tr>
54
55<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the bounds of this patch, only valid after calling defineSurface.  <a href="#Ogre_1_1PatchSurfacea8"></a><br><br></td></tr>
56<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a420">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea9">getBoundingSphereRadius</a> (void) const </td></tr>
57
58<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the radius of the bounding sphere for this patch, only valid after defineSurface has been called.  <a href="#Ogre_1_1PatchSurfacea9"></a><br><br></td></tr>
59<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" 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>
60
61<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells the system to build the mesh relating to the surface into externally created buffers.  <a href="#Ogre_1_1PatchSurfacea10"></a><br><br></td></tr>
62<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea11">setSubdivisionFactor</a> (<a class="el" href="namespaceOgre.html#a420">Real</a> factor)</td></tr>
63
64<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alters the level of subdivision for this surface.  <a href="#Ogre_1_1PatchSurfacea11"></a><br><br></td></tr>
65<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a420">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea12">getSubdivisionFactor</a> (void) const </td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the current level of subdivision.  <a href="#Ogre_1_1PatchSurfacea12"></a><br><br></td></tr>
68<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea13">getControlPointBuffer</a> (void) const </td></tr>
69
70<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacea14">notifyControlPointBufferDeallocated</a> (void)</td></tr>
71
72<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience method for telling the patch that the control points have been deleted, since once the patch has been built they are not required.  <a href="#Ogre_1_1PatchSurfacea14"></a><br><br></td></tr>
73<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
74<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" 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>
75
76<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal method for finding the subdivision level given 3 control points.  <a href="#Ogre_1_1PatchSurfaceb0"></a><br><br></td></tr>
77<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb1">distributeControlPoints</a> (void *lockedBuffer)</td></tr>
78
79<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" 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>
80
81<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" 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>
82
83<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb4">makeTriangles</a> (void)</td></tr>
84
85<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb5">getAutoULevel</a> (bool forMax=false)</td></tr>
86
87<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfaceb6">getAutoVLevel</a> (bool forMax=false)</td></tr>
88
89<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
90<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep0">mDeclaration</a></td></tr>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vertex declaration describing the control point buffer.  <a href="#Ogre_1_1PatchSurfacep0"></a><br><br></td></tr>
93<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep1">mControlPointBuffer</a></td></tr>
94
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer containing the system-memory control points.  <a href="#Ogre_1_1PatchSurfacep1"></a><br><br></td></tr>
96<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew5">PatchSurfaceType</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep2">mType</a></td></tr>
97
98<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of surface.  <a href="#Ogre_1_1PatchSurfacep2"></a><br><br></td></tr>
99<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep3">mCtlWidth</a></td></tr>
100
101<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Width in control points.  <a href="#Ogre_1_1PatchSurfacep3"></a><br><br></td></tr>
102<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep4">mCtlHeight</a></td></tr>
103
104<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Height in control points.  <a href="#Ogre_1_1PatchSurfacep4"></a><br><br></td></tr>
105<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep5">mCtlCount</a></td></tr>
106
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">TotalNumber of control points.  <a href="#Ogre_1_1PatchSurfacep5"></a><br><br></td></tr>
108<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep6">mULevel</a></td></tr>
109
110<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">U-direction subdivision level.  <a href="#Ogre_1_1PatchSurfacep6"></a><br><br></td></tr>
111<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep7">mVLevel</a></td></tr>
112
113<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">V-direction subdivision level.  <a href="#Ogre_1_1PatchSurfacep7"></a><br><br></td></tr>
114<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep8">mMaxULevel</a></td></tr>
115
116<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Max subdivision level.  <a href="#Ogre_1_1PatchSurfacep8"></a><br><br></td></tr>
117<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep9">mMaxVLevel</a></td></tr>
118
119<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep10">mMeshWidth</a></td></tr>
120
121<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Width of the subdivided mesh (big enough for max level).  <a href="#Ogre_1_1PatchSurfacep10"></a><br><br></td></tr>
122<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep11">mMeshHeight</a></td></tr>
123
124<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Height of the subdivided mesh (big enough for max level).  <a href="#Ogre_1_1PatchSurfacep11"></a><br><br></td></tr>
125<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew7">VisibleSide</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep12">mVSide</a></td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Which side is visible.  <a href="#Ogre_1_1PatchSurfacep12"></a><br><br></td></tr>
128<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a420">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep13">mSubdivisionFactor</a></td></tr>
129
130<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep14">mVecCtlPoints</a></td></tr>
131
132<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep15">mVertexBuffer</a></td></tr>
133
134<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep16">mIndexBuffer</a></td></tr>
135
136<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep17">mVertexOffset</a></td></tr>
137
138<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep18">mIndexOffset</a></td></tr>
139
140<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep19">mRequiredVertexCount</a></td></tr>
141
142<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep20">mRequiredIndexCount</a></td></tr>
143
144<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep21">mCurrIndexCount</a></td></tr>
145
146<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep22">mAABB</a></td></tr>
147
148<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a420">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep23">mBoundingSphere</a></td></tr>
149
150</table>
151<hr><a name="_details"></a><h2>Detailed Description</h2>
152A surface which is defined by curves of some kind to form a patch, e.g.
153<p>
154a Bezier patch. <dl compact><dt><b>Remarks:</b></dt><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. </dd></dl>
155
156<p>
157
158<p>
159Definition 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>
160<a class="anchor" name="Ogre_1_1PatchSurfacew6" doxytag="Ogre::PatchSurface::@12" ></a><p>
161<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
162  <tr>
163    <td class="mdRow">
164      <table cellpadding="0" cellspacing="0" border="0">
165        <tr>
166          <td class="md" nowrap valign="top"> anonymous enum
167      </table>
168    </td>
169  </tr>
170</table>
171<table cellspacing=5 cellpadding=0 border=0>
172  <tr>
173    <td>
174      &nbsp;
175    </td>
176    <td>
177
178<p>
179Constant for indicating automatic determination of subdivision level for patches.
180<p>
181<dl compact><dt><b>Enumeration values: </b></dt><dd>
182<table border=0 cellspacing=2 cellpadding=0>
183<tr><td valign=top><em><a class="anchor" name="Ogre_1_1PatchSurfacew6Ogre_1_1PatchSurfacew1" doxytag="AUTO_LEVEL" ></a>AUTO_LEVEL</em>&nbsp;</td><td>
184</td></tr>
185</table>
186</dl>
187
188<p>
189Definition 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>
190  </tr>
191</table>
192<a class="anchor" name="Ogre_1_1PatchSurfacew5" doxytag="Ogre::PatchSurface::PatchSurfaceType" ></a><p>
193<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
194  <tr>
195    <td class="mdRow">
196      <table cellpadding="0" cellspacing="0" border="0">
197        <tr>
198          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew5">Ogre::PatchSurface::PatchSurfaceType</a>
199      </table>
200    </td>
201  </tr>
202</table>
203<table cellspacing=5 cellpadding=0 border=0>
204  <tr>
205    <td>
206      &nbsp;
207    </td>
208    <td>
209
210<p>
211<dl compact><dt><b>Enumeration values: </b></dt><dd>
212<table border=0 cellspacing=2 cellpadding=0>
213<tr><td valign=top><em><a class="anchor" name="Ogre_1_1PatchSurfacew5Ogre_1_1PatchSurfacew0" doxytag="PST_BEZIER" ></a>PST_BEZIER</em>&nbsp;</td><td>
214A patch defined by a set of bezier curves. </td></tr>
215</table>
216</dl>
217
218<p>
219Definition 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>
220  </tr>
221</table>
222<a class="anchor" name="Ogre_1_1PatchSurfacew7" doxytag="Ogre::PatchSurface::VisibleSide" ></a><p>
223<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
224  <tr>
225    <td class="mdRow">
226      <table cellpadding="0" cellspacing="0" border="0">
227        <tr>
228          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew7">Ogre::PatchSurface::VisibleSide</a>
229      </table>
230    </td>
231  </tr>
232</table>
233<table cellspacing=5 cellpadding=0 border=0>
234  <tr>
235    <td>
236      &nbsp;
237    </td>
238    <td>
239
240<p>
241<dl compact><dt><b>Enumeration values: </b></dt><dd>
242<table border=0 cellspacing=2 cellpadding=0>
243<tr><td valign=top><em><a class="anchor" name="Ogre_1_1PatchSurfacew7Ogre_1_1PatchSurfacew2" doxytag="VS_FRONT" ></a>VS_FRONT</em>&nbsp;</td><td>
244The side from which u goes right and v goes up (as in texture coords). </td></tr>
245<tr><td valign=top><em><a class="anchor" name="Ogre_1_1PatchSurfacew7Ogre_1_1PatchSurfacew3" doxytag="VS_BACK" ></a>VS_BACK</em>&nbsp;</td><td>
246The side from which u goes right and v goes down (reverse of texture coords). </td></tr>
247<tr><td valign=top><em><a class="anchor" name="Ogre_1_1PatchSurfacew7Ogre_1_1PatchSurfacew4" doxytag="VS_BOTH" ></a>VS_BOTH</em>&nbsp;</td><td>
248Both sides are visible - warning this creates 2x the number of triangles and adds extra overhead for calculating normals. </td></tr>
249</table>
250</dl>
251
252<p>
253Definition 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>
254  </tr>
255</table>
256<hr><h2>Constructor &amp; Destructor Documentation</h2>
257<a class="anchor" name="Ogre_1_1PatchSurfacea0" doxytag="Ogre::PatchSurface::PatchSurface" ></a><p>
258<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
259  <tr>
260    <td class="mdRow">
261      <table cellpadding="0" cellspacing="0" border="0">
262        <tr>
263          <td class="md" nowrap valign="top"> Ogre::PatchSurface::PatchSurface </td>
264          <td class="md" valign="top">(&nbsp;</td>
265          <td class="mdname1" valign="top" nowrap>          </td>
266          <td class="md" valign="top">&nbsp;)&nbsp;</td>
267          <td class="md" nowrap></td>
268        </tr>
269
270      </table>
271    </td>
272  </tr>
273</table>
274<table cellspacing=5 cellpadding=0 border=0>
275  <tr>
276    <td>
277      &nbsp;
278    </td>
279    <td>
280
281<p>
282    </td>
283  </tr>
284</table>
285<a class="anchor" name="Ogre_1_1PatchSurfacea1" doxytag="Ogre::PatchSurface::~PatchSurface" ></a><p>
286<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
287  <tr>
288    <td class="mdRow">
289      <table cellpadding="0" cellspacing="0" border="0">
290        <tr>
291          <td class="md" nowrap valign="top"> Ogre::PatchSurface::~<a class="el" href="classOgre_1_1PatchSurface.html">PatchSurface</a> </td>
292          <td class="md" valign="top">(&nbsp;</td>
293          <td class="mdname1" valign="top" nowrap>          </td>
294          <td class="md" valign="top">&nbsp;)&nbsp;</td>
295          <td class="md" nowrap></td>
296        </tr>
297
298      </table>
299    </td>
300  </tr>
301</table>
302<table cellspacing=5 cellpadding=0 border=0>
303  <tr>
304    <td>
305      &nbsp;
306    </td>
307    <td>
308
309<p>
310    </td>
311  </tr>
312</table>
313<hr><h2>Member Function Documentation</h2>
314<a class="anchor" name="Ogre_1_1PatchSurfacea10" doxytag="Ogre::PatchSurface::build" ></a><p>
315<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
316  <tr>
317    <td class="mdRow">
318      <table cellpadding="0" cellspacing="0" border="0">
319        <tr>
320          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::build </td>
321          <td class="md" valign="top">(&nbsp;</td>
322          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a>&nbsp;</td>
323          <td class="mdname" nowrap> <em>destVertexBuffer</em>, </td>
324        </tr>
325        <tr>
326          <td class="md" nowrap align="right"></td>
327          <td></td>
328          <td class="md" nowrap>size_t&nbsp;</td>
329          <td class="mdname" nowrap> <em>vertexStart</em>, </td>
330        </tr>
331        <tr>
332          <td class="md" nowrap align="right"></td>
333          <td></td>
334          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a>&nbsp;</td>
335          <td class="mdname" nowrap> <em>destIndexBuffer</em>, </td>
336        </tr>
337        <tr>
338          <td class="md" nowrap align="right"></td>
339          <td></td>
340          <td class="md" nowrap>size_t&nbsp;</td>
341          <td class="mdname" nowrap> <em>indexStart</em></td>
342        </tr>
343        <tr>
344          <td></td>
345          <td class="md">)&nbsp;</td>
346          <td class="md" colspan="2"></td>
347        </tr>
348
349      </table>
350    </td>
351  </tr>
352</table>
353<table cellspacing=5 cellpadding=0 border=0>
354  <tr>
355    <td>
356      &nbsp;
357    </td>
358    <td>
359
360<p>
361Tells the system to build the mesh relating to the surface into externally created buffers.
362<p>
363<dl compact><dt><b>Remarks:</b></dt><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. </dd></dl>
364<dl compact><dt><b>Parameters:</b></dt><dd>
365  <table border="0" cellspacing="2" cellpadding="0">
366    <tr><td valign=top><em>destVertexBuffer</em>&nbsp;</td><td>The destination vertex buffer in which to build the patch. </td></tr>
367    <tr><td valign=top><em>vertexStart</em>&nbsp;</td><td>The offset at which to start writing vertices for this patch </td></tr>
368    <tr><td valign=top><em>destIndexBuffer</em>&nbsp;</td><td>The destination index buffer in which to build the patch. </td></tr>
369    <tr><td valign=top><em>vertexStart</em>&nbsp;</td><td>The offset at which to start writing indexes for this patch </td></tr>
370  </table>
371</dl>
372    </td>
373  </tr>
374</table>
375<a class="anchor" name="Ogre_1_1PatchSurfacea2" doxytag="Ogre::PatchSurface::defineSurface" ></a><p>
376<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
377  <tr>
378    <td class="mdRow">
379      <table cellpadding="0" cellspacing="0" border="0">
380        <tr>
381          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::defineSurface </td>
382          <td class="md" valign="top">(&nbsp;</td>
383          <td class="md" nowrap valign="top">void *&nbsp;</td>
384          <td class="mdname" nowrap> <em>controlPointBuffer</em>, </td>
385        </tr>
386        <tr>
387          <td class="md" nowrap align="right"></td>
388          <td></td>
389          <td class="md" nowrap><a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td>
390          <td class="mdname" nowrap> <em>declaration</em>, </td>
391        </tr>
392        <tr>
393          <td class="md" nowrap align="right"></td>
394          <td></td>
395          <td class="md" nowrap>size_t&nbsp;</td>
396          <td class="mdname" nowrap> <em>width</em>, </td>
397        </tr>
398        <tr>
399          <td class="md" nowrap align="right"></td>
400          <td></td>
401          <td class="md" nowrap>size_t&nbsp;</td>
402          <td class="mdname" nowrap> <em>height</em>, </td>
403        </tr>
404        <tr>
405          <td class="md" nowrap align="right"></td>
406          <td></td>
407          <td class="md" nowrap><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew5">PatchSurfaceType</a>&nbsp;</td>
408          <td class="mdname" nowrap> <em>pType</em> = PST_BEZIER, </td>
409        </tr>
410        <tr>
411          <td class="md" nowrap align="right"></td>
412          <td></td>
413          <td class="md" nowrap>size_t&nbsp;</td>
414          <td class="mdname" nowrap> <em>uMaxSubdivisionLevel</em> = AUTO_LEVEL, </td>
415        </tr>
416        <tr>
417          <td class="md" nowrap align="right"></td>
418          <td></td>
419          <td class="md" nowrap>size_t&nbsp;</td>
420          <td class="mdname" nowrap> <em>vMaxSubdivisionLevel</em> = AUTO_LEVEL, </td>
421        </tr>
422        <tr>
423          <td class="md" nowrap align="right"></td>
424          <td></td>
425          <td class="md" nowrap><a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew7">VisibleSide</a>&nbsp;</td>
426          <td class="mdname" nowrap> <em>visibleSide</em> = VS_FRONT</td>
427        </tr>
428        <tr>
429          <td></td>
430          <td class="md">)&nbsp;</td>
431          <td class="md" colspan="2"></td>
432        </tr>
433
434      </table>
435    </td>
436  </tr>
437</table>
438<table cellspacing=5 cellpadding=0 border=0>
439  <tr>
440    <td>
441      &nbsp;
442    </td>
443    <td>
444
445<p>
446Sets up the surface by defining it's control points, type and initial subdivision level.
447<p>
448<dl compact><dt><b>Remarks:</b></dt><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) </dd></dl>
449<dl compact><dt><b>Parameters:</b></dt><dd>
450  <table border="0" cellspacing="2" cellpadding="0">
451    <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>
452    <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>
453    <tr><td valign=top><em>width</em>&nbsp;</td><td>Specifies the width of the patch in control points. </td></tr>
454    <tr><td valign=top><em>height</em>&nbsp;</td><td>Specifies the height of the patch in control points. </td></tr>
455    <tr><td valign=top><em>pType</em>&nbsp;</td><td>The type of surface - currently only PST_BEZIER is supported </td></tr>
456    <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>
457    <tr><td valign=top><em>visibleSide</em>&nbsp;</td><td>Determines which side of the patch (or both) triangles are generated for. </td></tr>
458  </table>
459</dl>
460    </td>
461  </tr>
462</table>
463<a class="anchor" name="Ogre_1_1PatchSurfaceb1" doxytag="Ogre::PatchSurface::distributeControlPoints" ></a><p>
464<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
465  <tr>
466    <td class="mdRow">
467      <table cellpadding="0" cellspacing="0" border="0">
468        <tr>
469          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::distributeControlPoints </td>
470          <td class="md" valign="top">(&nbsp;</td>
471          <td class="md" nowrap valign="top">void *&nbsp;</td>
472          <td class="mdname1" valign="top" nowrap> <em>lockedBuffer</em>          </td>
473          <td class="md" valign="top">&nbsp;)&nbsp;</td>
474          <td class="md" nowrap><code> [protected]</code></td>
475        </tr>
476
477      </table>
478    </td>
479  </tr>
480</table>
481<table cellspacing=5 cellpadding=0 border=0>
482  <tr>
483    <td>
484      &nbsp;
485    </td>
486    <td>
487
488<p>
489    </td>
490  </tr>
491</table>
492<a class="anchor" name="Ogre_1_1PatchSurfaceb0" doxytag="Ogre::PatchSurface::findLevel" ></a><p>
493<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
494  <tr>
495    <td class="mdRow">
496      <table cellpadding="0" cellspacing="0" border="0">
497        <tr>
498          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::findLevel </td>
499          <td class="md" valign="top">(&nbsp;</td>
500          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
501          <td class="mdname" nowrap> <em>a</em>, </td>
502        </tr>
503        <tr>
504          <td class="md" nowrap align="right"></td>
505          <td></td>
506          <td class="md" nowrap><a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
507          <td class="mdname" nowrap> <em>b</em>, </td>
508        </tr>
509        <tr>
510          <td class="md" nowrap align="right"></td>
511          <td></td>
512          <td class="md" nowrap><a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
513          <td class="mdname" nowrap> <em>c</em></td>
514        </tr>
515        <tr>
516          <td></td>
517          <td class="md">)&nbsp;</td>
518          <td class="md" colspan="2"><code> [protected]</code></td>
519        </tr>
520
521      </table>
522    </td>
523  </tr>
524</table>
525<table cellspacing=5 cellpadding=0 border=0>
526  <tr>
527    <td>
528      &nbsp;
529    </td>
530    <td>
531
532<p>
533Internal method for finding the subdivision level given 3 control points.
534<p>
535    </td>
536  </tr>
537</table>
538<a class="anchor" name="Ogre_1_1PatchSurfaceb5" doxytag="Ogre::PatchSurface::getAutoULevel" ></a><p>
539<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
540  <tr>
541    <td class="mdRow">
542      <table cellpadding="0" cellspacing="0" border="0">
543        <tr>
544          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getAutoULevel </td>
545          <td class="md" valign="top">(&nbsp;</td>
546          <td class="md" nowrap valign="top">bool&nbsp;</td>
547          <td class="mdname1" valign="top" nowrap> <em>forMax</em> = false          </td>
548          <td class="md" valign="top">&nbsp;)&nbsp;</td>
549          <td class="md" nowrap><code> [protected]</code></td>
550        </tr>
551
552      </table>
553    </td>
554  </tr>
555</table>
556<table cellspacing=5 cellpadding=0 border=0>
557  <tr>
558    <td>
559      &nbsp;
560    </td>
561    <td>
562
563<p>
564    </td>
565  </tr>
566</table>
567<a class="anchor" name="Ogre_1_1PatchSurfaceb6" doxytag="Ogre::PatchSurface::getAutoVLevel" ></a><p>
568<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
569  <tr>
570    <td class="mdRow">
571      <table cellpadding="0" cellspacing="0" border="0">
572        <tr>
573          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getAutoVLevel </td>
574          <td class="md" valign="top">(&nbsp;</td>
575          <td class="md" nowrap valign="top">bool&nbsp;</td>
576          <td class="mdname1" valign="top" nowrap> <em>forMax</em> = false          </td>
577          <td class="md" valign="top">&nbsp;)&nbsp;</td>
578          <td class="md" nowrap><code> [protected]</code></td>
579        </tr>
580
581      </table>
582    </td>
583  </tr>
584</table>
585<table cellspacing=5 cellpadding=0 border=0>
586  <tr>
587    <td>
588      &nbsp;
589    </td>
590    <td>
591
592<p>
593    </td>
594  </tr>
595</table>
596<a class="anchor" name="Ogre_1_1PatchSurfacea9" doxytag="Ogre::PatchSurface::getBoundingSphereRadius" ></a><p>
597<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
598  <tr>
599    <td class="mdRow">
600      <table cellpadding="0" cellspacing="0" border="0">
601        <tr>
602          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a420">Real</a> Ogre::PatchSurface::getBoundingSphereRadius </td>
603          <td class="md" valign="top">(&nbsp;</td>
604          <td class="md" nowrap valign="top">void&nbsp;</td>
605          <td class="mdname1" valign="top" nowrap>          </td>
606          <td class="md" valign="top">&nbsp;)&nbsp;</td>
607          <td class="md" nowrap> const</td>
608        </tr>
609
610      </table>
611    </td>
612  </tr>
613</table>
614<table cellspacing=5 cellpadding=0 border=0>
615  <tr>
616    <td>
617      &nbsp;
618    </td>
619    <td>
620
621<p>
622Gets the radius of the bounding sphere for this patch, only valid after defineSurface has been called.
623<p>
624    </td>
625  </tr>
626</table>
627<a class="anchor" name="Ogre_1_1PatchSurfacea8" doxytag="Ogre::PatchSurface::getBounds" ></a><p>
628<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
629  <tr>
630    <td class="mdRow">
631      <table cellpadding="0" cellspacing="0" border="0">
632        <tr>
633          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&amp; Ogre::PatchSurface::getBounds </td>
634          <td class="md" valign="top">(&nbsp;</td>
635          <td class="md" nowrap valign="top">void&nbsp;</td>
636          <td class="mdname1" valign="top" nowrap>          </td>
637          <td class="md" valign="top">&nbsp;)&nbsp;</td>
638          <td class="md" nowrap> const</td>
639        </tr>
640
641      </table>
642    </td>
643  </tr>
644</table>
645<table cellspacing=5 cellpadding=0 border=0>
646  <tr>
647    <td>
648      &nbsp;
649    </td>
650    <td>
651
652<p>
653Gets the bounds of this patch, only valid after calling defineSurface.
654<p>
655    </td>
656  </tr>
657</table>
658<a class="anchor" name="Ogre_1_1PatchSurfacea13" doxytag="Ogre::PatchSurface::getControlPointBuffer" ></a><p>
659<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
660  <tr>
661    <td class="mdRow">
662      <table cellpadding="0" cellspacing="0" border="0">
663        <tr>
664          <td class="md" nowrap valign="top"> void* Ogre::PatchSurface::getControlPointBuffer </td>
665          <td class="md" valign="top">(&nbsp;</td>
666          <td class="md" nowrap valign="top">void&nbsp;</td>
667          <td class="mdname1" valign="top" nowrap>          </td>
668          <td class="md" valign="top">&nbsp;)&nbsp;</td>
669          <td class="md" nowrap> const</td>
670        </tr>
671
672      </table>
673    </td>
674  </tr>
675</table>
676<table cellspacing=5 cellpadding=0 border=0>
677  <tr>
678    <td>
679      &nbsp;
680    </td>
681    <td>
682
683<p>
684
685<p>
686Definition 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>.    </td>
687  </tr>
688</table>
689<a class="anchor" name="Ogre_1_1PatchSurfacea5" doxytag="Ogre::PatchSurface::getCurrentIndexCount" ></a><p>
690<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
691  <tr>
692    <td class="mdRow">
693      <table cellpadding="0" cellspacing="0" border="0">
694        <tr>
695          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getCurrentIndexCount </td>
696          <td class="md" valign="top">(&nbsp;</td>
697          <td class="md" nowrap valign="top">void&nbsp;</td>
698          <td class="mdname1" valign="top" nowrap>          </td>
699          <td class="md" valign="top">&nbsp;)&nbsp;</td>
700          <td class="md" nowrap> const</td>
701        </tr>
702
703      </table>
704    </td>
705  </tr>
706</table>
707<table cellspacing=5 cellpadding=0 border=0>
708  <tr>
709    <td>
710      &nbsp;
711    </td>
712    <td>
713
714<p>
715Gets the current index count based on the current subdivision level.
716<p>
717    </td>
718  </tr>
719</table>
720<a class="anchor" name="Ogre_1_1PatchSurfacea6" doxytag="Ogre::PatchSurface::getIndexOffset" ></a><p>
721<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
722  <tr>
723    <td class="mdRow">
724      <table cellpadding="0" cellspacing="0" border="0">
725        <tr>
726          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getIndexOffset </td>
727          <td class="md" valign="top">(&nbsp;</td>
728          <td class="md" nowrap valign="top">void&nbsp;</td>
729          <td class="mdname1" valign="top" nowrap>          </td>
730          <td class="md" valign="top">&nbsp;)&nbsp;</td>
731          <td class="md" nowrap> const</td>
732        </tr>
733
734      </table>
735    </td>
736  </tr>
737</table>
738<table cellspacing=5 cellpadding=0 border=0>
739  <tr>
740    <td>
741      &nbsp;
742    </td>
743    <td>
744
745<p>
746Returns the index offset used by this buffer to write data into the buffer.
747<p>
748
749<p>
750Definition 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>.    </td>
751  </tr>
752</table>
753<a class="anchor" name="Ogre_1_1PatchSurfacea4" doxytag="Ogre::PatchSurface::getRequiredIndexCount" ></a><p>
754<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
755  <tr>
756    <td class="mdRow">
757      <table cellpadding="0" cellspacing="0" border="0">
758        <tr>
759          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getRequiredIndexCount </td>
760          <td class="md" valign="top">(&nbsp;</td>
761          <td class="md" nowrap valign="top">void&nbsp;</td>
762          <td class="mdname1" valign="top" nowrap>          </td>
763          <td class="md" valign="top">&nbsp;)&nbsp;</td>
764          <td class="md" nowrap> const</td>
765        </tr>
766
767      </table>
768    </td>
769  </tr>
770</table>
771<table cellspacing=5 cellpadding=0 border=0>
772  <tr>
773    <td>
774      &nbsp;
775    </td>
776    <td>
777
778<p>
779Based on a previous call to defineSurface, establishes the number of indexes required to hold this patch at the maximum detail level.
780<p>
781<dl compact><dt><b>Remarks:</b></dt><dd>This is useful when you wish to build the patch into external vertex / index buffers. </dd></dl>
782    </td>
783  </tr>
784</table>
785<a class="anchor" name="Ogre_1_1PatchSurfacea3" doxytag="Ogre::PatchSurface::getRequiredVertexCount" ></a><p>
786<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
787  <tr>
788    <td class="mdRow">
789      <table cellpadding="0" cellspacing="0" border="0">
790        <tr>
791          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getRequiredVertexCount </td>
792          <td class="md" valign="top">(&nbsp;</td>
793          <td class="md" nowrap valign="top">void&nbsp;</td>
794          <td class="mdname1" valign="top" nowrap>          </td>
795          <td class="md" valign="top">&nbsp;)&nbsp;</td>
796          <td class="md" nowrap> const</td>
797        </tr>
798
799      </table>
800    </td>
801  </tr>
802</table>
803<table cellspacing=5 cellpadding=0 border=0>
804  <tr>
805    <td>
806      &nbsp;
807    </td>
808    <td>
809
810<p>
811Based on a previous call to defineSurface, establishes the number of vertices required to hold this patch at the maximum detail level.
812<p>
813<dl compact><dt><b>Remarks:</b></dt><dd>This is useful when you wish to build the patch into external vertex / index buffers. </dd></dl>
814    </td>
815  </tr>
816</table>
817<a class="anchor" name="Ogre_1_1PatchSurfacea12" doxytag="Ogre::PatchSurface::getSubdivisionFactor" ></a><p>
818<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
819  <tr>
820    <td class="mdRow">
821      <table cellpadding="0" cellspacing="0" border="0">
822        <tr>
823          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a420">Real</a> Ogre::PatchSurface::getSubdivisionFactor </td>
824          <td class="md" valign="top">(&nbsp;</td>
825          <td class="md" nowrap valign="top">void&nbsp;</td>
826          <td class="mdname1" valign="top" nowrap>          </td>
827          <td class="md" valign="top">&nbsp;)&nbsp;</td>
828          <td class="md" nowrap> const</td>
829        </tr>
830
831      </table>
832    </td>
833  </tr>
834</table>
835<table cellspacing=5 cellpadding=0 border=0>
836  <tr>
837    <td>
838      &nbsp;
839    </td>
840    <td>
841
842<p>
843Gets the current level of subdivision.
844<p>
845    </td>
846  </tr>
847</table>
848<a class="anchor" name="Ogre_1_1PatchSurfacea7" doxytag="Ogre::PatchSurface::getVertexOffset" ></a><p>
849<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
850  <tr>
851    <td class="mdRow">
852      <table cellpadding="0" cellspacing="0" border="0">
853        <tr>
854          <td class="md" nowrap valign="top"> size_t Ogre::PatchSurface::getVertexOffset </td>
855          <td class="md" valign="top">(&nbsp;</td>
856          <td class="md" nowrap valign="top">void&nbsp;</td>
857          <td class="mdname1" valign="top" nowrap>          </td>
858          <td class="md" valign="top">&nbsp;)&nbsp;</td>
859          <td class="md" nowrap> const</td>
860        </tr>
861
862      </table>
863    </td>
864  </tr>
865</table>
866<table cellspacing=5 cellpadding=0 border=0>
867  <tr>
868    <td>
869      &nbsp;
870    </td>
871    <td>
872
873<p>
874Returns the vertex offset used by this buffer to write data into the buffer.
875<p>
876
877<p>
878Definition 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>.    </td>
879  </tr>
880</table>
881<a class="anchor" name="Ogre_1_1PatchSurfaceb3" doxytag="Ogre::PatchSurface::interpolateVertexData" ></a><p>
882<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
883  <tr>
884    <td class="mdRow">
885      <table cellpadding="0" cellspacing="0" border="0">
886        <tr>
887          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::interpolateVertexData </td>
888          <td class="md" valign="top">(&nbsp;</td>
889          <td class="md" nowrap valign="top">void *&nbsp;</td>
890          <td class="mdname" nowrap> <em>lockedBuffer</em>, </td>
891        </tr>
892        <tr>
893          <td class="md" nowrap align="right"></td>
894          <td></td>
895          <td class="md" nowrap>size_t&nbsp;</td>
896          <td class="mdname" nowrap> <em>leftIndex</em>, </td>
897        </tr>
898        <tr>
899          <td class="md" nowrap align="right"></td>
900          <td></td>
901          <td class="md" nowrap>size_t&nbsp;</td>
902          <td class="mdname" nowrap> <em>rightIndex</em>, </td>
903        </tr>
904        <tr>
905          <td class="md" nowrap align="right"></td>
906          <td></td>
907          <td class="md" nowrap>size_t&nbsp;</td>
908          <td class="mdname" nowrap> <em>destIndex</em></td>
909        </tr>
910        <tr>
911          <td></td>
912          <td class="md">)&nbsp;</td>
913          <td class="md" colspan="2"><code> [protected]</code></td>
914        </tr>
915
916      </table>
917    </td>
918  </tr>
919</table>
920<table cellspacing=5 cellpadding=0 border=0>
921  <tr>
922    <td>
923      &nbsp;
924    </td>
925    <td>
926
927<p>
928    </td>
929  </tr>
930</table>
931<a class="anchor" name="Ogre_1_1PatchSurfaceb4" doxytag="Ogre::PatchSurface::makeTriangles" ></a><p>
932<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
933  <tr>
934    <td class="mdRow">
935      <table cellpadding="0" cellspacing="0" border="0">
936        <tr>
937          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::makeTriangles </td>
938          <td class="md" valign="top">(&nbsp;</td>
939          <td class="md" nowrap valign="top">void&nbsp;</td>
940          <td class="mdname1" valign="top" nowrap>          </td>
941          <td class="md" valign="top">&nbsp;)&nbsp;</td>
942          <td class="md" nowrap><code> [protected]</code></td>
943        </tr>
944
945      </table>
946    </td>
947  </tr>
948</table>
949<table cellspacing=5 cellpadding=0 border=0>
950  <tr>
951    <td>
952      &nbsp;
953    </td>
954    <td>
955
956<p>
957    </td>
958  </tr>
959</table>
960<a class="anchor" name="Ogre_1_1PatchSurfacea14" doxytag="Ogre::PatchSurface::notifyControlPointBufferDeallocated" ></a><p>
961<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
962  <tr>
963    <td class="mdRow">
964      <table cellpadding="0" cellspacing="0" border="0">
965        <tr>
966          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::notifyControlPointBufferDeallocated </td>
967          <td class="md" valign="top">(&nbsp;</td>
968          <td class="md" nowrap valign="top">void&nbsp;</td>
969          <td class="mdname1" valign="top" nowrap>          </td>
970          <td class="md" valign="top">&nbsp;)&nbsp;</td>
971          <td class="md" nowrap></td>
972        </tr>
973
974      </table>
975    </td>
976  </tr>
977</table>
978<table cellspacing=5 cellpadding=0 border=0>
979  <tr>
980    <td>
981      &nbsp;
982    </td>
983    <td>
984
985<p>
986Convenience method for telling the patch that the control points have been deleted, since once the patch has been built they are not required.
987<p>
988
989<p>
990Definition 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>.    </td>
991  </tr>
992</table>
993<a class="anchor" name="Ogre_1_1PatchSurfacea11" doxytag="Ogre::PatchSurface::setSubdivisionFactor" ></a><p>
994<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
995  <tr>
996    <td class="mdRow">
997      <table cellpadding="0" cellspacing="0" border="0">
998        <tr>
999          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::setSubdivisionFactor </td>
1000          <td class="md" valign="top">(&nbsp;</td>
1001          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a420">Real</a>&nbsp;</td>
1002          <td class="mdname1" valign="top" nowrap> <em>factor</em>          </td>
1003          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1004          <td class="md" nowrap></td>
1005        </tr>
1006
1007      </table>
1008    </td>
1009  </tr>
1010</table>
1011<table cellspacing=5 cellpadding=0 border=0>
1012  <tr>
1013    <td>
1014      &nbsp;
1015    </td>
1016    <td>
1017
1018<p>
1019Alters the level of subdivision for this surface.
1020<p>
1021<dl compact><dt><b>Remarks:</b></dt><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. </dd></dl>
1022    </td>
1023  </tr>
1024</table>
1025<a class="anchor" name="Ogre_1_1PatchSurfaceb2" doxytag="Ogre::PatchSurface::subdivideCurve" ></a><p>
1026<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1027  <tr>
1028    <td class="mdRow">
1029      <table cellpadding="0" cellspacing="0" border="0">
1030        <tr>
1031          <td class="md" nowrap valign="top"> void Ogre::PatchSurface::subdivideCurve </td>
1032          <td class="md" valign="top">(&nbsp;</td>
1033          <td class="md" nowrap valign="top">void *&nbsp;</td>
1034          <td class="mdname" nowrap> <em>lockedBuffer</em>, </td>
1035        </tr>
1036        <tr>
1037          <td class="md" nowrap align="right"></td>
1038          <td></td>
1039          <td class="md" nowrap>size_t&nbsp;</td>
1040          <td class="mdname" nowrap> <em>startIdx</em>, </td>
1041        </tr>
1042        <tr>
1043          <td class="md" nowrap align="right"></td>
1044          <td></td>
1045          <td class="md" nowrap>size_t&nbsp;</td>
1046          <td class="mdname" nowrap> <em>stepSize</em>, </td>
1047        </tr>
1048        <tr>
1049          <td class="md" nowrap align="right"></td>
1050          <td></td>
1051          <td class="md" nowrap>size_t&nbsp;</td>
1052          <td class="mdname" nowrap> <em>numSteps</em>, </td>
1053        </tr>
1054        <tr>
1055          <td class="md" nowrap align="right"></td>
1056          <td></td>
1057          <td class="md" nowrap>size_t&nbsp;</td>
1058          <td class="mdname" nowrap> <em>iterations</em></td>
1059        </tr>
1060        <tr>
1061          <td></td>
1062          <td class="md">)&nbsp;</td>
1063          <td class="md" colspan="2"><code> [protected]</code></td>
1064        </tr>
1065
1066      </table>
1067    </td>
1068  </tr>
1069</table>
1070<table cellspacing=5 cellpadding=0 border=0>
1071  <tr>
1072    <td>
1073      &nbsp;
1074    </td>
1075    <td>
1076
1077<p>
1078    </td>
1079  </tr>
1080</table>
1081<hr><h2>Member Data Documentation</h2>
1082<a class="anchor" name="Ogre_1_1PatchSurfacep22" doxytag="Ogre::PatchSurface::mAABB" ></a><p>
1083<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1084  <tr>
1085    <td class="mdRow">
1086      <table cellpadding="0" cellspacing="0" border="0">
1087        <tr>
1088          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep22">Ogre::PatchSurface::mAABB</a><code> [protected]</code>
1089      </table>
1090    </td>
1091  </tr>
1092</table>
1093<table cellspacing=5 cellpadding=0 border=0>
1094  <tr>
1095    <td>
1096      &nbsp;
1097    </td>
1098    <td>
1099
1100<p>
1101
1102<p>
1103Definition 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>.    </td>
1104  </tr>
1105</table>
1106<a class="anchor" name="Ogre_1_1PatchSurfacep23" doxytag="Ogre::PatchSurface::mBoundingSphere" ></a><p>
1107<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1108  <tr>
1109    <td class="mdRow">
1110      <table cellpadding="0" cellspacing="0" border="0">
1111        <tr>
1112          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a420">Real</a> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep23">Ogre::PatchSurface::mBoundingSphere</a><code> [protected]</code>
1113      </table>
1114    </td>
1115  </tr>
1116</table>
1117<table cellspacing=5 cellpadding=0 border=0>
1118  <tr>
1119    <td>
1120      &nbsp;
1121    </td>
1122    <td>
1123
1124<p>
1125
1126<p>
1127Definition 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>.    </td>
1128  </tr>
1129</table>
1130<a class="anchor" name="Ogre_1_1PatchSurfacep1" doxytag="Ogre::PatchSurface::mControlPointBuffer" ></a><p>
1131<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1132  <tr>
1133    <td class="mdRow">
1134      <table cellpadding="0" cellspacing="0" border="0">
1135        <tr>
1136          <td class="md" nowrap valign="top"> void* <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep1">Ogre::PatchSurface::mControlPointBuffer</a><code> [protected]</code>
1137      </table>
1138    </td>
1139  </tr>
1140</table>
1141<table cellspacing=5 cellpadding=0 border=0>
1142  <tr>
1143    <td>
1144      &nbsp;
1145    </td>
1146    <td>
1147
1148<p>
1149Buffer containing the system-memory control points.
1150<p>
1151
1152<p>
1153Definition 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>.    </td>
1154  </tr>
1155</table>
1156<a class="anchor" name="Ogre_1_1PatchSurfacep5" doxytag="Ogre::PatchSurface::mCtlCount" ></a><p>
1157<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1158  <tr>
1159    <td class="mdRow">
1160      <table cellpadding="0" cellspacing="0" border="0">
1161        <tr>
1162          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep5">Ogre::PatchSurface::mCtlCount</a><code> [protected]</code>
1163      </table>
1164    </td>
1165  </tr>
1166</table>
1167<table cellspacing=5 cellpadding=0 border=0>
1168  <tr>
1169    <td>
1170      &nbsp;
1171    </td>
1172    <td>
1173
1174<p>
1175TotalNumber of control points.
1176<p>
1177
1178<p>
1179Definition 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>.    </td>
1180  </tr>
1181</table>
1182<a class="anchor" name="Ogre_1_1PatchSurfacep4" doxytag="Ogre::PatchSurface::mCtlHeight" ></a><p>
1183<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1184  <tr>
1185    <td class="mdRow">
1186      <table cellpadding="0" cellspacing="0" border="0">
1187        <tr>
1188          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep4">Ogre::PatchSurface::mCtlHeight</a><code> [protected]</code>
1189      </table>
1190    </td>
1191  </tr>
1192</table>
1193<table cellspacing=5 cellpadding=0 border=0>
1194  <tr>
1195    <td>
1196      &nbsp;
1197    </td>
1198    <td>
1199
1200<p>
1201Height in control points.
1202<p>
1203
1204<p>
1205Definition 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>.    </td>
1206  </tr>
1207</table>
1208<a class="anchor" name="Ogre_1_1PatchSurfacep3" doxytag="Ogre::PatchSurface::mCtlWidth" ></a><p>
1209<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1210  <tr>
1211    <td class="mdRow">
1212      <table cellpadding="0" cellspacing="0" border="0">
1213        <tr>
1214          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep3">Ogre::PatchSurface::mCtlWidth</a><code> [protected]</code>
1215      </table>
1216    </td>
1217  </tr>
1218</table>
1219<table cellspacing=5 cellpadding=0 border=0>
1220  <tr>
1221    <td>
1222      &nbsp;
1223    </td>
1224    <td>
1225
1226<p>
1227Width in control points.
1228<p>
1229
1230<p>
1231Definition 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>.    </td>
1232  </tr>
1233</table>
1234<a class="anchor" name="Ogre_1_1PatchSurfacep21" doxytag="Ogre::PatchSurface::mCurrIndexCount" ></a><p>
1235<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1236  <tr>
1237    <td class="mdRow">
1238      <table cellpadding="0" cellspacing="0" border="0">
1239        <tr>
1240          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep21">Ogre::PatchSurface::mCurrIndexCount</a><code> [protected]</code>
1241      </table>
1242    </td>
1243  </tr>
1244</table>
1245<table cellspacing=5 cellpadding=0 border=0>
1246  <tr>
1247    <td>
1248      &nbsp;
1249    </td>
1250    <td>
1251
1252<p>
1253
1254<p>
1255Definition 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>.    </td>
1256  </tr>
1257</table>
1258<a class="anchor" name="Ogre_1_1PatchSurfacep0" doxytag="Ogre::PatchSurface::mDeclaration" ></a><p>
1259<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1260  <tr>
1261    <td class="mdRow">
1262      <table cellpadding="0" cellspacing="0" border="0">
1263        <tr>
1264          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep0">Ogre::PatchSurface::mDeclaration</a><code> [protected]</code>
1265      </table>
1266    </td>
1267  </tr>
1268</table>
1269<table cellspacing=5 cellpadding=0 border=0>
1270  <tr>
1271    <td>
1272      &nbsp;
1273    </td>
1274    <td>
1275
1276<p>
1277Vertex declaration describing the control point buffer.
1278<p>
1279
1280<p>
1281Definition 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>.    </td>
1282  </tr>
1283</table>
1284<a class="anchor" name="Ogre_1_1PatchSurfacep16" doxytag="Ogre::PatchSurface::mIndexBuffer" ></a><p>
1285<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1286  <tr>
1287    <td class="mdRow">
1288      <table cellpadding="0" cellspacing="0" border="0">
1289        <tr>
1290          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep16">Ogre::PatchSurface::mIndexBuffer</a><code> [protected]</code>
1291      </table>
1292    </td>
1293  </tr>
1294</table>
1295<table cellspacing=5 cellpadding=0 border=0>
1296  <tr>
1297    <td>
1298      &nbsp;
1299    </td>
1300    <td>
1301
1302<p>
1303
1304<p>
1305Definition 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>.    </td>
1306  </tr>
1307</table>
1308<a class="anchor" name="Ogre_1_1PatchSurfacep18" doxytag="Ogre::PatchSurface::mIndexOffset" ></a><p>
1309<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1310  <tr>
1311    <td class="mdRow">
1312      <table cellpadding="0" cellspacing="0" border="0">
1313        <tr>
1314          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep18">Ogre::PatchSurface::mIndexOffset</a><code> [protected]</code>
1315      </table>
1316    </td>
1317  </tr>
1318</table>
1319<table cellspacing=5 cellpadding=0 border=0>
1320  <tr>
1321    <td>
1322      &nbsp;
1323    </td>
1324    <td>
1325
1326<p>
1327
1328<p>
1329Definition 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>.    </td>
1330  </tr>
1331</table>
1332<a class="anchor" name="Ogre_1_1PatchSurfacep8" doxytag="Ogre::PatchSurface::mMaxULevel" ></a><p>
1333<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1334  <tr>
1335    <td class="mdRow">
1336      <table cellpadding="0" cellspacing="0" border="0">
1337        <tr>
1338          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep8">Ogre::PatchSurface::mMaxULevel</a><code> [protected]</code>
1339      </table>
1340    </td>
1341  </tr>
1342</table>
1343<table cellspacing=5 cellpadding=0 border=0>
1344  <tr>
1345    <td>
1346      &nbsp;
1347    </td>
1348    <td>
1349
1350<p>
1351Max subdivision level.
1352<p>
1353
1354<p>
1355Definition 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>.    </td>
1356  </tr>
1357</table>
1358<a class="anchor" name="Ogre_1_1PatchSurfacep9" doxytag="Ogre::PatchSurface::mMaxVLevel" ></a><p>
1359<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1360  <tr>
1361    <td class="mdRow">
1362      <table cellpadding="0" cellspacing="0" border="0">
1363        <tr>
1364          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep9">Ogre::PatchSurface::mMaxVLevel</a><code> [protected]</code>
1365      </table>
1366    </td>
1367  </tr>
1368</table>
1369<table cellspacing=5 cellpadding=0 border=0>
1370  <tr>
1371    <td>
1372      &nbsp;
1373    </td>
1374    <td>
1375
1376<p>
1377
1378<p>
1379Definition 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>.    </td>
1380  </tr>
1381</table>
1382<a class="anchor" name="Ogre_1_1PatchSurfacep11" doxytag="Ogre::PatchSurface::mMeshHeight" ></a><p>
1383<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1384  <tr>
1385    <td class="mdRow">
1386      <table cellpadding="0" cellspacing="0" border="0">
1387        <tr>
1388          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep11">Ogre::PatchSurface::mMeshHeight</a><code> [protected]</code>
1389      </table>
1390    </td>
1391  </tr>
1392</table>
1393<table cellspacing=5 cellpadding=0 border=0>
1394  <tr>
1395    <td>
1396      &nbsp;
1397    </td>
1398    <td>
1399
1400<p>
1401Height of the subdivided mesh (big enough for max level).
1402<p>
1403
1404<p>
1405Definition 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>.    </td>
1406  </tr>
1407</table>
1408<a class="anchor" name="Ogre_1_1PatchSurfacep10" doxytag="Ogre::PatchSurface::mMeshWidth" ></a><p>
1409<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1410  <tr>
1411    <td class="mdRow">
1412      <table cellpadding="0" cellspacing="0" border="0">
1413        <tr>
1414          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep10">Ogre::PatchSurface::mMeshWidth</a><code> [protected]</code>
1415      </table>
1416    </td>
1417  </tr>
1418</table>
1419<table cellspacing=5 cellpadding=0 border=0>
1420  <tr>
1421    <td>
1422      &nbsp;
1423    </td>
1424    <td>
1425
1426<p>
1427Width of the subdivided mesh (big enough for max level).
1428<p>
1429
1430<p>
1431Definition 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>.    </td>
1432  </tr>
1433</table>
1434<a class="anchor" name="Ogre_1_1PatchSurfacep20" doxytag="Ogre::PatchSurface::mRequiredIndexCount" ></a><p>
1435<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1436  <tr>
1437    <td class="mdRow">
1438      <table cellpadding="0" cellspacing="0" border="0">
1439        <tr>
1440          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep20">Ogre::PatchSurface::mRequiredIndexCount</a><code> [protected]</code>
1441      </table>
1442    </td>
1443  </tr>
1444</table>
1445<table cellspacing=5 cellpadding=0 border=0>
1446  <tr>
1447    <td>
1448      &nbsp;
1449    </td>
1450    <td>
1451
1452<p>
1453
1454<p>
1455Definition 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>.    </td>
1456  </tr>
1457</table>
1458<a class="anchor" name="Ogre_1_1PatchSurfacep19" doxytag="Ogre::PatchSurface::mRequiredVertexCount" ></a><p>
1459<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1460  <tr>
1461    <td class="mdRow">
1462      <table cellpadding="0" cellspacing="0" border="0">
1463        <tr>
1464          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep19">Ogre::PatchSurface::mRequiredVertexCount</a><code> [protected]</code>
1465      </table>
1466    </td>
1467  </tr>
1468</table>
1469<table cellspacing=5 cellpadding=0 border=0>
1470  <tr>
1471    <td>
1472      &nbsp;
1473    </td>
1474    <td>
1475
1476<p>
1477
1478<p>
1479Definition 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>.    </td>
1480  </tr>
1481</table>
1482<a class="anchor" name="Ogre_1_1PatchSurfacep13" doxytag="Ogre::PatchSurface::mSubdivisionFactor" ></a><p>
1483<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1484  <tr>
1485    <td class="mdRow">
1486      <table cellpadding="0" cellspacing="0" border="0">
1487        <tr>
1488          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a420">Real</a> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep13">Ogre::PatchSurface::mSubdivisionFactor</a><code> [protected]</code>
1489      </table>
1490    </td>
1491  </tr>
1492</table>
1493<table cellspacing=5 cellpadding=0 border=0>
1494  <tr>
1495    <td>
1496      &nbsp;
1497    </td>
1498    <td>
1499
1500<p>
1501
1502<p>
1503Definition 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>.    </td>
1504  </tr>
1505</table>
1506<a class="anchor" name="Ogre_1_1PatchSurfacep2" doxytag="Ogre::PatchSurface::mType" ></a><p>
1507<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1508  <tr>
1509    <td class="mdRow">
1510      <table cellpadding="0" cellspacing="0" border="0">
1511        <tr>
1512          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew5">PatchSurfaceType</a> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep2">Ogre::PatchSurface::mType</a><code> [protected]</code>
1513      </table>
1514    </td>
1515  </tr>
1516</table>
1517<table cellspacing=5 cellpadding=0 border=0>
1518  <tr>
1519    <td>
1520      &nbsp;
1521    </td>
1522    <td>
1523
1524<p>
1525Type of surface.
1526<p>
1527
1528<p>
1529Definition 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>.    </td>
1530  </tr>
1531</table>
1532<a class="anchor" name="Ogre_1_1PatchSurfacep6" doxytag="Ogre::PatchSurface::mULevel" ></a><p>
1533<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1534  <tr>
1535    <td class="mdRow">
1536      <table cellpadding="0" cellspacing="0" border="0">
1537        <tr>
1538          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep6">Ogre::PatchSurface::mULevel</a><code> [protected]</code>
1539      </table>
1540    </td>
1541  </tr>
1542</table>
1543<table cellspacing=5 cellpadding=0 border=0>
1544  <tr>
1545    <td>
1546      &nbsp;
1547    </td>
1548    <td>
1549
1550<p>
1551U-direction subdivision level.
1552<p>
1553
1554<p>
1555Definition 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>.    </td>
1556  </tr>
1557</table>
1558<a class="anchor" name="Ogre_1_1PatchSurfacep14" doxytag="Ogre::PatchSurface::mVecCtlPoints" ></a><p>
1559<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1560  <tr>
1561    <td class="mdRow">
1562      <table cellpadding="0" cellspacing="0" border="0">
1563        <tr>
1564          <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="classOgre_1_1Vector3.html">Vector3</a>&gt; <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep14">Ogre::PatchSurface::mVecCtlPoints</a><code> [protected]</code>
1565      </table>
1566    </td>
1567  </tr>
1568</table>
1569<table cellspacing=5 cellpadding=0 border=0>
1570  <tr>
1571    <td>
1572      &nbsp;
1573    </td>
1574    <td>
1575
1576<p>
1577
1578<p>
1579Definition 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>.    </td>
1580  </tr>
1581</table>
1582<a class="anchor" name="Ogre_1_1PatchSurfacep15" doxytag="Ogre::PatchSurface::mVertexBuffer" ></a><p>
1583<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1584  <tr>
1585    <td class="mdRow">
1586      <table cellpadding="0" cellspacing="0" border="0">
1587        <tr>
1588          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep15">Ogre::PatchSurface::mVertexBuffer</a><code> [protected]</code>
1589      </table>
1590    </td>
1591  </tr>
1592</table>
1593<table cellspacing=5 cellpadding=0 border=0>
1594  <tr>
1595    <td>
1596      &nbsp;
1597    </td>
1598    <td>
1599
1600<p>
1601
1602<p>
1603Definition 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>.    </td>
1604  </tr>
1605</table>
1606<a class="anchor" name="Ogre_1_1PatchSurfacep17" doxytag="Ogre::PatchSurface::mVertexOffset" ></a><p>
1607<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1608  <tr>
1609    <td class="mdRow">
1610      <table cellpadding="0" cellspacing="0" border="0">
1611        <tr>
1612          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep17">Ogre::PatchSurface::mVertexOffset</a><code> [protected]</code>
1613      </table>
1614    </td>
1615  </tr>
1616</table>
1617<table cellspacing=5 cellpadding=0 border=0>
1618  <tr>
1619    <td>
1620      &nbsp;
1621    </td>
1622    <td>
1623
1624<p>
1625
1626<p>
1627Definition 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>.    </td>
1628  </tr>
1629</table>
1630<a class="anchor" name="Ogre_1_1PatchSurfacep7" doxytag="Ogre::PatchSurface::mVLevel" ></a><p>
1631<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1632  <tr>
1633    <td class="mdRow">
1634      <table cellpadding="0" cellspacing="0" border="0">
1635        <tr>
1636          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep7">Ogre::PatchSurface::mVLevel</a><code> [protected]</code>
1637      </table>
1638    </td>
1639  </tr>
1640</table>
1641<table cellspacing=5 cellpadding=0 border=0>
1642  <tr>
1643    <td>
1644      &nbsp;
1645    </td>
1646    <td>
1647
1648<p>
1649V-direction subdivision level.
1650<p>
1651
1652<p>
1653Definition 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>.    </td>
1654  </tr>
1655</table>
1656<a class="anchor" name="Ogre_1_1PatchSurfacep12" doxytag="Ogre::PatchSurface::mVSide" ></a><p>
1657<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1658  <tr>
1659    <td class="mdRow">
1660      <table cellpadding="0" cellspacing="0" border="0">
1661        <tr>
1662          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacew7">VisibleSide</a> <a class="el" href="classOgre_1_1PatchSurface.html#Ogre_1_1PatchSurfacep12">Ogre::PatchSurface::mVSide</a><code> [protected]</code>
1663      </table>
1664    </td>
1665  </tr>
1666</table>
1667<table cellspacing=5 cellpadding=0 border=0>
1668  <tr>
1669    <td>
1670      &nbsp;
1671    </td>
1672    <td>
1673
1674<p>
1675Which side is visible.
1676<p>
1677
1678<p>
1679Definition 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>.    </td>
1680  </tr>
1681</table>
1682<hr>The documentation for this class was generated from the following file:<ul>
1683<li><a class="el" href="OgrePatchSurface_8h-source.html">OgrePatchSurface.h</a></ul>
1684<hr>
1685<p>
1686Copyright &copy; 2000-2005 by The OGRE Team<br />
1687<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
1688This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
1689                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
1690                <Work rdf:about="">
1691                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
1692        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
1693                </Work>
1694                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
1695
1696Last modified Sun Feb 12 13:02:06 2006
1697</p>
1698</body>
1699</html>
Note: See TracBrowser for help on using the repository browser.