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

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

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>Ogre::D3D9VertexDeclaration 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::D3D9VertexDeclaration Class Reference</h1>Specialisation of <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> for D3D9. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgreD3D9VertexDeclaration_8h-source.html">OgreD3D9VertexDeclaration.h</a>&gt;</code>
14<p>
15<p>Inheritance diagram for Ogre::D3D9VertexDeclaration:
16<p><center><img src="classOgre_1_1D3D9VertexDeclaration.png" usemap="#Ogre::D3D9VertexDeclaration_map" border="0" alt=""></center>
17<map name="Ogre::D3D9VertexDeclaration_map">
18<area href="classOgre_1_1VertexDeclaration.html" alt="Ogre::VertexDeclaration" shape="rect" coords="0,0,181,24">
19</map>
20<a href="classOgre_1_1D3D9VertexDeclaration-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
21<tr><td></td></tr>
22<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
23<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::list&lt; <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationw0">VertexElementList</a></td></tr>
24
25<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines the list of vertex elements that makes up this declaration.  <a href="#Ogre_1_1VertexDeclarationw0"></a><br><br></td></tr>
26<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
27<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationa0">D3D9VertexDeclaration</a> (LPDIRECT3DDEVICE9 device)</td></tr>
28
29<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationa1">~D3D9VertexDeclaration</a> ()</td></tr>
30
31<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationa2">addElement</a> (unsigned short source, size_t offset, <a class="el" href="namespaceOgre.html#a656">VertexElementType</a> theType, <a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a> semantic, unsigned short index=0)</td></tr>
32
33<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>.  <a href="#Ogre_1_1D3D9VertexDeclarationa2"></a><br><br></td></tr>
34<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationa3">insertElement</a> (unsigned short atPosition, unsigned short source, size_t offset, <a class="el" href="namespaceOgre.html#a656">VertexElementType</a> theType, <a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a> semantic, unsigned short index=0)</td></tr>
35
36<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>.  <a href="#Ogre_1_1D3D9VertexDeclarationa3"></a><br><br></td></tr>
37<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationa4">removeElement</a> (unsigned short elem_index)</td></tr>
38
39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>.  <a href="#Ogre_1_1D3D9VertexDeclarationa4"></a><br><br></td></tr>
40<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationa5">modifyElement</a> (unsigned short elem_index, unsigned short source, size_t offset, <a class="el" href="namespaceOgre.html#a656">VertexElementType</a> theType, <a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a> semantic, unsigned short index=0)</td></tr>
41
42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>.  <a href="#Ogre_1_1D3D9VertexDeclarationa5"></a><br><br></td></tr>
43<tr><td class="memItemLeft" nowrap align=right valign=top>LPDIRECT3DVERTEXDECLARATION9&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationa6">getD3DVertexDeclaration</a> (void)</td></tr>
44
45<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the D3D9-specific vertex declaration.  <a href="#Ogre_1_1D3D9VertexDeclarationa6"></a><br><br></td></tr>
46<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa2">getElementCount</a> (void)</td></tr>
47
48<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of elements in the declaration.  <a href="#Ogre_1_1VertexDeclarationa2"></a><br><br></td></tr>
49<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationw0">VertexElementList</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa3">getElements</a> (void) const </td></tr>
50
51<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets read-only access to the list of vertex elements.  <a href="#Ogre_1_1VertexDeclarationa3"></a><br><br></td></tr>
52<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa4">getElement</a> (unsigned short index)</td></tr>
53
54<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a single element.  <a href="#Ogre_1_1VertexDeclarationa4"></a><br><br></td></tr>
55<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa5">sort</a> (void)</td></tr>
56
57<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sorts the elements in this list to be compatible with the maximum number of rendering APIs / graphics cards.  <a href="#Ogre_1_1VertexDeclarationa5"></a><br><br></td></tr>
58<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa6">closeGapsInSource</a> (void)</td></tr>
59
60<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove any gaps in the source buffer list used by this declaration.  <a href="#Ogre_1_1VertexDeclarationa6"></a><br><br></td></tr>
61<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_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa7">getAutoOrganisedDeclaration</a> (bool animated)</td></tr>
62
63<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a new <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> for optimal usage based on the current vertex declaration, which can be used with <a class="el" href="classOgre_1_1VertexData.html#Ogre_1_1VertexDataa4">VertexData::reorganiseBuffers</a> later if you wish, or simply used as a template.  <a href="#Ogre_1_1VertexDeclarationa7"></a><br><br></td></tr>
64<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned short&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa8">getMaxSource</a> (void) const </td></tr>
65
66<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the indeex of the highest source value referenced by this declaration.  <a href="#Ogre_1_1VertexDeclarationa8"></a><br><br></td></tr>
67<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa12">removeElement</a> (<a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a> semantic, unsigned short index=0)</td></tr>
68
69<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the element with the given semantic and usage index.  <a href="#Ogre_1_1VertexDeclarationa12"></a><br><br></td></tr>
70<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa14">findElementBySemantic</a> (<a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a> sem, unsigned short index=0)</td></tr>
71
72<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds a <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> with the given semantic, and index if there is more than one element with the same semantic.  <a href="#Ogre_1_1VertexDeclarationa14"></a><br><br></td></tr>
73<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationw0">VertexElementList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa15">findElementsBySource</a> (unsigned short source)</td></tr>
74
75<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a list of elements which use a given source.  <a href="#Ogre_1_1VertexDeclarationa15"></a><br><br></td></tr>
76<tr><td class="memItemLeft" nowrap align=right valign=top>virtual size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa16">getVertexSize</a> (unsigned short source)</td></tr>
77
78<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the vertex size defined by this declaration for a given source.  <a href="#Ogre_1_1VertexDeclarationa16"></a><br><br></td></tr>
79<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa17">clone</a> (void)</td></tr>
80
81<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clones this declaration.  <a href="#Ogre_1_1VertexDeclarationa17"></a><br><br></td></tr>
82<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa18">operator==</a> (const <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> &amp;rhs) const </td></tr>
83
84<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa19">operator!=</a> (const <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> &amp;rhs) const </td></tr>
85
86<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
87<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclaratione0">vertexElementLess</a> (const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> &amp;e1, const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> &amp;e2)</td></tr>
88
89<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort routine for vertex elements.  <a href="#Ogre_1_1VertexDeclaratione0"></a><br><br></td></tr>
90<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
91<tr><td class="memItemLeft" nowrap align=right valign=top>LPDIRECT3DDEVICE9&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationp0">mlpD3DDevice</a></td></tr>
92
93<tr><td class="memItemLeft" nowrap align=right valign=top>LPDIRECT3DVERTEXDECLARATION9&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationp1">mlpD3DDecl</a></td></tr>
94
95<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationp2">mNeedsRebuild</a></td></tr>
96
97<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationw0">VertexElementList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationp0">mElementList</a></td></tr>
98
99</table>
100<hr><a name="_details"></a><h2>Detailed Description</h2>
101Specialisation of <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> for D3D9.
102<p>
103
104<p>
105Definition at line <a class="el" href="OgreD3D9VertexDeclaration_8h-source.html#l00034">34</a> of file <a class="el" href="OgreD3D9VertexDeclaration_8h-source.html">OgreD3D9VertexDeclaration.h</a>.<hr><h2>Member Typedef Documentation</h2>
106<a class="anchor" name="Ogre_1_1VertexDeclarationw0" doxytag="Ogre::D3D9VertexDeclaration::VertexElementList" ></a><p>
107<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
108  <tr>
109    <td class="mdRow">
110      <table cellpadding="0" cellspacing="0" border="0">
111        <tr>
112          <td class="md" nowrap valign="top"> typedef std::list&lt;<a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a>&gt; <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationw0">Ogre::VertexDeclaration::VertexElementList</a><code> [inherited]</code>
113      </table>
114    </td>
115  </tr>
116</table>
117<table cellspacing=5 cellpadding=0 border=0>
118  <tr>
119    <td>
120      &nbsp;
121    </td>
122    <td>
123
124<p>
125Defines the list of vertex elements that makes up this declaration.
126<p>
127
128<p>
129Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00266">266</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.    </td>
130  </tr>
131</table>
132<hr><h2>Constructor &amp; Destructor Documentation</h2>
133<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationa0" doxytag="Ogre::D3D9VertexDeclaration::D3D9VertexDeclaration" ></a><p>
134<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
135  <tr>
136    <td class="mdRow">
137      <table cellpadding="0" cellspacing="0" border="0">
138        <tr>
139          <td class="md" nowrap valign="top"> Ogre::D3D9VertexDeclaration::D3D9VertexDeclaration </td>
140          <td class="md" valign="top">(&nbsp;</td>
141          <td class="md" nowrap valign="top">LPDIRECT3DDEVICE9&nbsp;</td>
142          <td class="mdname1" valign="top" nowrap> <em>device</em>          </td>
143          <td class="md" valign="top">&nbsp;)&nbsp;</td>
144          <td class="md" nowrap></td>
145        </tr>
146
147      </table>
148    </td>
149  </tr>
150</table>
151<table cellspacing=5 cellpadding=0 border=0>
152  <tr>
153    <td>
154      &nbsp;
155    </td>
156    <td>
157
158<p>
159    </td>
160  </tr>
161</table>
162<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationa1" doxytag="Ogre::D3D9VertexDeclaration::~D3D9VertexDeclaration" ></a><p>
163<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
164  <tr>
165    <td class="mdRow">
166      <table cellpadding="0" cellspacing="0" border="0">
167        <tr>
168          <td class="md" nowrap valign="top"> Ogre::D3D9VertexDeclaration::~<a class="el" href="classOgre_1_1D3D9VertexDeclaration.html">D3D9VertexDeclaration</a> </td>
169          <td class="md" valign="top">(&nbsp;</td>
170          <td class="mdname1" valign="top" nowrap>          </td>
171          <td class="md" valign="top">&nbsp;)&nbsp;</td>
172          <td class="md" nowrap></td>
173        </tr>
174
175      </table>
176    </td>
177  </tr>
178</table>
179<table cellspacing=5 cellpadding=0 border=0>
180  <tr>
181    <td>
182      &nbsp;
183    </td>
184    <td>
185
186<p>
187    </td>
188  </tr>
189</table>
190<hr><h2>Member Function Documentation</h2>
191<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationa2" doxytag="Ogre::D3D9VertexDeclaration::addElement" ></a><p>
192<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
193  <tr>
194    <td class="mdRow">
195      <table cellpadding="0" cellspacing="0" border="0">
196        <tr>
197          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a>&amp; Ogre::D3D9VertexDeclaration::addElement </td>
198          <td class="md" valign="top">(&nbsp;</td>
199          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
200          <td class="mdname" nowrap> <em>source</em>, </td>
201        </tr>
202        <tr>
203          <td class="md" nowrap align="right"></td>
204          <td></td>
205          <td class="md" nowrap>size_t&nbsp;</td>
206          <td class="mdname" nowrap> <em>offset</em>, </td>
207        </tr>
208        <tr>
209          <td class="md" nowrap align="right"></td>
210          <td></td>
211          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a656">VertexElementType</a>&nbsp;</td>
212          <td class="mdname" nowrap> <em>theType</em>, </td>
213        </tr>
214        <tr>
215          <td class="md" nowrap align="right"></td>
216          <td></td>
217          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a>&nbsp;</td>
218          <td class="mdname" nowrap> <em>semantic</em>, </td>
219        </tr>
220        <tr>
221          <td class="md" nowrap align="right"></td>
222          <td></td>
223          <td class="md" nowrap>unsigned short&nbsp;</td>
224          <td class="mdname" nowrap> <em>index</em> = 0</td>
225        </tr>
226        <tr>
227          <td></td>
228          <td class="md">)&nbsp;</td>
229          <td class="md" colspan="2"><code> [virtual]</code></td>
230        </tr>
231
232      </table>
233    </td>
234  </tr>
235</table>
236<table cellspacing=5 cellpadding=0 border=0>
237  <tr>
238    <td>
239      &nbsp;
240    </td>
241    <td>
242
243<p>
244See <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>.
245<p>
246
247<p>
248Reimplemented from <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa9">Ogre::VertexDeclaration</a>.    </td>
249  </tr>
250</table>
251<a class="anchor" name="Ogre_1_1VertexDeclarationa17" doxytag="Ogre::D3D9VertexDeclaration::clone" ></a><p>
252<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
253  <tr>
254    <td class="mdRow">
255      <table cellpadding="0" cellspacing="0" border="0">
256        <tr>
257          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* Ogre::VertexDeclaration::clone </td>
258          <td class="md" valign="top">(&nbsp;</td>
259          <td class="md" nowrap valign="top">void&nbsp;</td>
260          <td class="mdname1" valign="top" nowrap>          </td>
261          <td class="md" valign="top">&nbsp;)&nbsp;</td>
262          <td class="md" nowrap><code> [virtual, inherited]</code></td>
263        </tr>
264
265      </table>
266    </td>
267  </tr>
268</table>
269<table cellspacing=5 cellpadding=0 border=0>
270  <tr>
271    <td>
272      &nbsp;
273    </td>
274    <td>
275
276<p>
277Clones this declaration.
278<p>
279    </td>
280  </tr>
281</table>
282<a class="anchor" name="Ogre_1_1VertexDeclarationa6" doxytag="Ogre::D3D9VertexDeclaration::closeGapsInSource" ></a><p>
283<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
284  <tr>
285    <td class="mdRow">
286      <table cellpadding="0" cellspacing="0" border="0">
287        <tr>
288          <td class="md" nowrap valign="top"> void Ogre::VertexDeclaration::closeGapsInSource </td>
289          <td class="md" valign="top">(&nbsp;</td>
290          <td class="md" nowrap valign="top">void&nbsp;</td>
291          <td class="mdname1" valign="top" nowrap>          </td>
292          <td class="md" valign="top">&nbsp;)&nbsp;</td>
293          <td class="md" nowrap><code> [inherited]</code></td>
294        </tr>
295
296      </table>
297    </td>
298  </tr>
299</table>
300<table cellspacing=5 cellpadding=0 border=0>
301  <tr>
302    <td>
303      &nbsp;
304    </td>
305    <td>
306
307<p>
308Remove any gaps in the source buffer list used by this declaration.
309<p>
310<dl compact><dt><b>Remarks:</b></dt><dd>This is useful if you've modified a declaration and want to remove any gaps in the list of buffers being used. Note, however, that if this declaration is already being used with a <a class="el" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>, you will need to alter that too. This method is mainly useful when reorganising buffers based on an altered declaration. </dd></dl>
311<dl compact><dt><b>Note:</b></dt><dd>This will cause the vertex declaration to be re-sorted. </dd></dl>
312    </td>
313  </tr>
314</table>
315<a class="anchor" name="Ogre_1_1VertexDeclarationa14" doxytag="Ogre::D3D9VertexDeclaration::findElementBySemantic" ></a><p>
316<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
317  <tr>
318    <td class="mdRow">
319      <table cellpadding="0" cellspacing="0" border="0">
320        <tr>
321          <td class="md" nowrap valign="top"> virtual const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a>* Ogre::VertexDeclaration::findElementBySemantic </td>
322          <td class="md" valign="top">(&nbsp;</td>
323          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a>&nbsp;</td>
324          <td class="mdname" nowrap> <em>sem</em>, </td>
325        </tr>
326        <tr>
327          <td class="md" nowrap align="right"></td>
328          <td></td>
329          <td class="md" nowrap>unsigned short&nbsp;</td>
330          <td class="mdname" nowrap> <em>index</em> = 0</td>
331        </tr>
332        <tr>
333          <td></td>
334          <td class="md">)&nbsp;</td>
335          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
336        </tr>
337
338      </table>
339    </td>
340  </tr>
341</table>
342<table cellspacing=5 cellpadding=0 border=0>
343  <tr>
344    <td>
345      &nbsp;
346    </td>
347    <td>
348
349<p>
350Finds a <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> with the given semantic, and index if there is more than one element with the same semantic.
351<p>
352<dl compact><dt><b>Remarks:</b></dt><dd>If the element is not found, this method returns null.</dd></dl>
353    </td>
354  </tr>
355</table>
356<a class="anchor" name="Ogre_1_1VertexDeclarationa15" doxytag="Ogre::D3D9VertexDeclaration::findElementsBySource" ></a><p>
357<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
358  <tr>
359    <td class="mdRow">
360      <table cellpadding="0" cellspacing="0" border="0">
361        <tr>
362          <td class="md" nowrap valign="top"> virtual <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationw0">VertexElementList</a> Ogre::VertexDeclaration::findElementsBySource </td>
363          <td class="md" valign="top">(&nbsp;</td>
364          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
365          <td class="mdname1" valign="top" nowrap> <em>source</em>          </td>
366          <td class="md" valign="top">&nbsp;)&nbsp;</td>
367          <td class="md" nowrap><code> [virtual, inherited]</code></td>
368        </tr>
369
370      </table>
371    </td>
372  </tr>
373</table>
374<table cellspacing=5 cellpadding=0 border=0>
375  <tr>
376    <td>
377      &nbsp;
378    </td>
379    <td>
380
381<p>
382Gets a list of elements which use a given source.
383<p>
384<dl compact><dt><b>Remarks:</b></dt><dd>Note that the list of elements is returned by value therefore is separate from the declaration as soon as this method returns.</dd></dl>
385    </td>
386  </tr>
387</table>
388<a class="anchor" name="Ogre_1_1VertexDeclarationa7" doxytag="Ogre::D3D9VertexDeclaration::getAutoOrganisedDeclaration" ></a><p>
389<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
390  <tr>
391    <td class="mdRow">
392      <table cellpadding="0" cellspacing="0" border="0">
393        <tr>
394          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* Ogre::VertexDeclaration::getAutoOrganisedDeclaration </td>
395          <td class="md" valign="top">(&nbsp;</td>
396          <td class="md" nowrap valign="top">bool&nbsp;</td>
397          <td class="mdname1" valign="top" nowrap> <em>animated</em>          </td>
398          <td class="md" valign="top">&nbsp;)&nbsp;</td>
399          <td class="md" nowrap><code> [inherited]</code></td>
400        </tr>
401
402      </table>
403    </td>
404  </tr>
405</table>
406<table cellspacing=5 cellpadding=0 border=0>
407  <tr>
408    <td>
409      &nbsp;
410    </td>
411    <td>
412
413<p>
414Generates a new <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> for optimal usage based on the current vertex declaration, which can be used with <a class="el" href="classOgre_1_1VertexData.html#Ogre_1_1VertexDataa4">VertexData::reorganiseBuffers</a> later if you wish, or simply used as a template.
415<p>
416<dl compact><dt><b>Parameters:</b></dt><dd>
417  <table border="0" cellspacing="2" cellpadding="0">
418    <tr><td valign=top><em>animated</em>&nbsp;</td><td>Whether this vertex data is going to be animated; this affects the choice of both usage and buffer splits. </td></tr>
419  </table>
420</dl>
421    </td>
422  </tr>
423</table>
424<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationa6" doxytag="Ogre::D3D9VertexDeclaration::getD3DVertexDeclaration" ></a><p>
425<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
426  <tr>
427    <td class="mdRow">
428      <table cellpadding="0" cellspacing="0" border="0">
429        <tr>
430          <td class="md" nowrap valign="top"> LPDIRECT3DVERTEXDECLARATION9 Ogre::D3D9VertexDeclaration::getD3DVertexDeclaration </td>
431          <td class="md" valign="top">(&nbsp;</td>
432          <td class="md" nowrap valign="top">void&nbsp;</td>
433          <td class="mdname1" valign="top" nowrap>          </td>
434          <td class="md" valign="top">&nbsp;)&nbsp;</td>
435          <td class="md" nowrap></td>
436        </tr>
437
438      </table>
439    </td>
440  </tr>
441</table>
442<table cellspacing=5 cellpadding=0 border=0>
443  <tr>
444    <td>
445      &nbsp;
446    </td>
447    <td>
448
449<p>
450Gets the D3D9-specific vertex declaration.
451<p>
452    </td>
453  </tr>
454</table>
455<a class="anchor" name="Ogre_1_1VertexDeclarationa4" doxytag="Ogre::D3D9VertexDeclaration::getElement" ></a><p>
456<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
457  <tr>
458    <td class="mdRow">
459      <table cellpadding="0" cellspacing="0" border="0">
460        <tr>
461          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a>* Ogre::VertexDeclaration::getElement </td>
462          <td class="md" valign="top">(&nbsp;</td>
463          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
464          <td class="mdname1" valign="top" nowrap> <em>index</em>          </td>
465          <td class="md" valign="top">&nbsp;)&nbsp;</td>
466          <td class="md" nowrap><code> [inherited]</code></td>
467        </tr>
468
469      </table>
470    </td>
471  </tr>
472</table>
473<table cellspacing=5 cellpadding=0 border=0>
474  <tr>
475    <td>
476      &nbsp;
477    </td>
478    <td>
479
480<p>
481Get a single element.
482<p>
483    </td>
484  </tr>
485</table>
486<a class="anchor" name="Ogre_1_1VertexDeclarationa2" doxytag="Ogre::D3D9VertexDeclaration::getElementCount" ></a><p>
487<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
488  <tr>
489    <td class="mdRow">
490      <table cellpadding="0" cellspacing="0" border="0">
491        <tr>
492          <td class="md" nowrap valign="top"> size_t Ogre::VertexDeclaration::getElementCount </td>
493          <td class="md" valign="top">(&nbsp;</td>
494          <td class="md" nowrap valign="top">void&nbsp;</td>
495          <td class="mdname1" valign="top" nowrap>          </td>
496          <td class="md" valign="top">&nbsp;)&nbsp;</td>
497          <td class="md" nowrap><code> [inherited]</code></td>
498        </tr>
499
500      </table>
501    </td>
502  </tr>
503</table>
504<table cellspacing=5 cellpadding=0 border=0>
505  <tr>
506    <td>
507      &nbsp;
508    </td>
509    <td>
510
511<p>
512Get the number of elements in the declaration.
513<p>
514
515<p>
516Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00277">277</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.    </td>
517  </tr>
518</table>
519<a class="anchor" name="Ogre_1_1VertexDeclarationa3" doxytag="Ogre::D3D9VertexDeclaration::getElements" ></a><p>
520<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
521  <tr>
522    <td class="mdRow">
523      <table cellpadding="0" cellspacing="0" border="0">
524        <tr>
525          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationw0">VertexElementList</a>&amp; Ogre::VertexDeclaration::getElements </td>
526          <td class="md" valign="top">(&nbsp;</td>
527          <td class="md" nowrap valign="top">void&nbsp;</td>
528          <td class="mdname1" valign="top" nowrap>          </td>
529          <td class="md" valign="top">&nbsp;)&nbsp;</td>
530          <td class="md" nowrap> const<code> [inherited]</code></td>
531        </tr>
532
533      </table>
534    </td>
535  </tr>
536</table>
537<table cellspacing=5 cellpadding=0 border=0>
538  <tr>
539    <td>
540      &nbsp;
541    </td>
542    <td>
543
544<p>
545Gets read-only access to the list of vertex elements.
546<p>
547    </td>
548  </tr>
549</table>
550<a class="anchor" name="Ogre_1_1VertexDeclarationa8" doxytag="Ogre::D3D9VertexDeclaration::getMaxSource" ></a><p>
551<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
552  <tr>
553    <td class="mdRow">
554      <table cellpadding="0" cellspacing="0" border="0">
555        <tr>
556          <td class="md" nowrap valign="top"> unsigned short Ogre::VertexDeclaration::getMaxSource </td>
557          <td class="md" valign="top">(&nbsp;</td>
558          <td class="md" nowrap valign="top">void&nbsp;</td>
559          <td class="mdname1" valign="top" nowrap>          </td>
560          <td class="md" valign="top">&nbsp;)&nbsp;</td>
561          <td class="md" nowrap> const<code> [inherited]</code></td>
562        </tr>
563
564      </table>
565    </td>
566  </tr>
567</table>
568<table cellspacing=5 cellpadding=0 border=0>
569  <tr>
570    <td>
571      &nbsp;
572    </td>
573    <td>
574
575<p>
576Gets the indeex of the highest source value referenced by this declaration.
577<p>
578    </td>
579  </tr>
580</table>
581<a class="anchor" name="Ogre_1_1VertexDeclarationa16" doxytag="Ogre::D3D9VertexDeclaration::getVertexSize" ></a><p>
582<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
583  <tr>
584    <td class="mdRow">
585      <table cellpadding="0" cellspacing="0" border="0">
586        <tr>
587          <td class="md" nowrap valign="top"> virtual size_t Ogre::VertexDeclaration::getVertexSize </td>
588          <td class="md" valign="top">(&nbsp;</td>
589          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
590          <td class="mdname1" valign="top" nowrap> <em>source</em>          </td>
591          <td class="md" valign="top">&nbsp;)&nbsp;</td>
592          <td class="md" nowrap><code> [virtual, inherited]</code></td>
593        </tr>
594
595      </table>
596    </td>
597  </tr>
598</table>
599<table cellspacing=5 cellpadding=0 border=0>
600  <tr>
601    <td>
602      &nbsp;
603    </td>
604    <td>
605
606<p>
607Gets the vertex size defined by this declaration for a given source.
608<p>
609    </td>
610  </tr>
611</table>
612<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationa3" doxytag="Ogre::D3D9VertexDeclaration::insertElement" ></a><p>
613<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
614  <tr>
615    <td class="mdRow">
616      <table cellpadding="0" cellspacing="0" border="0">
617        <tr>
618          <td class="md" nowrap valign="top"> const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a>&amp; Ogre::D3D9VertexDeclaration::insertElement </td>
619          <td class="md" valign="top">(&nbsp;</td>
620          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
621          <td class="mdname" nowrap> <em>atPosition</em>, </td>
622        </tr>
623        <tr>
624          <td class="md" nowrap align="right"></td>
625          <td></td>
626          <td class="md" nowrap>unsigned short&nbsp;</td>
627          <td class="mdname" nowrap> <em>source</em>, </td>
628        </tr>
629        <tr>
630          <td class="md" nowrap align="right"></td>
631          <td></td>
632          <td class="md" nowrap>size_t&nbsp;</td>
633          <td class="mdname" nowrap> <em>offset</em>, </td>
634        </tr>
635        <tr>
636          <td class="md" nowrap align="right"></td>
637          <td></td>
638          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a656">VertexElementType</a>&nbsp;</td>
639          <td class="mdname" nowrap> <em>theType</em>, </td>
640        </tr>
641        <tr>
642          <td class="md" nowrap align="right"></td>
643          <td></td>
644          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a>&nbsp;</td>
645          <td class="mdname" nowrap> <em>semantic</em>, </td>
646        </tr>
647        <tr>
648          <td class="md" nowrap align="right"></td>
649          <td></td>
650          <td class="md" nowrap>unsigned short&nbsp;</td>
651          <td class="mdname" nowrap> <em>index</em> = 0</td>
652        </tr>
653        <tr>
654          <td></td>
655          <td class="md">)&nbsp;</td>
656          <td class="md" colspan="2"><code> [virtual]</code></td>
657        </tr>
658
659      </table>
660    </td>
661  </tr>
662</table>
663<table cellspacing=5 cellpadding=0 border=0>
664  <tr>
665    <td>
666      &nbsp;
667    </td>
668    <td>
669
670<p>
671See <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>.
672<p>
673
674<p>
675Reimplemented from <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa10">Ogre::VertexDeclaration</a>.    </td>
676  </tr>
677</table>
678<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationa5" doxytag="Ogre::D3D9VertexDeclaration::modifyElement" ></a><p>
679<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
680  <tr>
681    <td class="mdRow">
682      <table cellpadding="0" cellspacing="0" border="0">
683        <tr>
684          <td class="md" nowrap valign="top"> void Ogre::D3D9VertexDeclaration::modifyElement </td>
685          <td class="md" valign="top">(&nbsp;</td>
686          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
687          <td class="mdname" nowrap> <em>elem_index</em>, </td>
688        </tr>
689        <tr>
690          <td class="md" nowrap align="right"></td>
691          <td></td>
692          <td class="md" nowrap>unsigned short&nbsp;</td>
693          <td class="mdname" nowrap> <em>source</em>, </td>
694        </tr>
695        <tr>
696          <td class="md" nowrap align="right"></td>
697          <td></td>
698          <td class="md" nowrap>size_t&nbsp;</td>
699          <td class="mdname" nowrap> <em>offset</em>, </td>
700        </tr>
701        <tr>
702          <td class="md" nowrap align="right"></td>
703          <td></td>
704          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a656">VertexElementType</a>&nbsp;</td>
705          <td class="mdname" nowrap> <em>theType</em>, </td>
706        </tr>
707        <tr>
708          <td class="md" nowrap align="right"></td>
709          <td></td>
710          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a>&nbsp;</td>
711          <td class="mdname" nowrap> <em>semantic</em>, </td>
712        </tr>
713        <tr>
714          <td class="md" nowrap align="right"></td>
715          <td></td>
716          <td class="md" nowrap>unsigned short&nbsp;</td>
717          <td class="mdname" nowrap> <em>index</em> = 0</td>
718        </tr>
719        <tr>
720          <td></td>
721          <td class="md">)&nbsp;</td>
722          <td class="md" colspan="2"><code> [virtual]</code></td>
723        </tr>
724
725      </table>
726    </td>
727  </tr>
728</table>
729<table cellspacing=5 cellpadding=0 border=0>
730  <tr>
731    <td>
732      &nbsp;
733    </td>
734    <td>
735
736<p>
737See <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>.
738<p>
739
740<p>
741Reimplemented from <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa13">Ogre::VertexDeclaration</a>.    </td>
742  </tr>
743</table>
744<a class="anchor" name="Ogre_1_1VertexDeclarationa19" doxytag="Ogre::D3D9VertexDeclaration::operator!=" ></a><p>
745<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
746  <tr>
747    <td class="mdRow">
748      <table cellpadding="0" cellspacing="0" border="0">
749        <tr>
750          <td class="md" nowrap valign="top"> bool Ogre::VertexDeclaration::operator!= </td>
751          <td class="md" valign="top">(&nbsp;</td>
752          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> &amp;&nbsp;</td>
753          <td class="mdname1" valign="top" nowrap> <em>rhs</em>          </td>
754          <td class="md" valign="top">&nbsp;)&nbsp;</td>
755          <td class="md" nowrap> const<code> [inherited]</code></td>
756        </tr>
757
758      </table>
759    </td>
760  </tr>
761</table>
762<table cellspacing=5 cellpadding=0 border=0>
763  <tr>
764    <td>
765      &nbsp;
766    </td>
767    <td>
768
769<p>
770
771<p>
772Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00409">409</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.    </td>
773  </tr>
774</table>
775<a class="anchor" name="Ogre_1_1VertexDeclarationa18" doxytag="Ogre::D3D9VertexDeclaration::operator==" ></a><p>
776<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
777  <tr>
778    <td class="mdRow">
779      <table cellpadding="0" cellspacing="0" border="0">
780        <tr>
781          <td class="md" nowrap valign="top"> bool Ogre::VertexDeclaration::operator== </td>
782          <td class="md" valign="top">(&nbsp;</td>
783          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a> &amp;&nbsp;</td>
784          <td class="mdname1" valign="top" nowrap> <em>rhs</em>          </td>
785          <td class="md" valign="top">&nbsp;)&nbsp;</td>
786          <td class="md" nowrap> const<code> [inherited]</code></td>
787        </tr>
788
789      </table>
790    </td>
791  </tr>
792</table>
793<table cellspacing=5 cellpadding=0 border=0>
794  <tr>
795    <td>
796      &nbsp;
797    </td>
798    <td>
799
800<p>
801
802<p>
803Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00392">392</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.
804<p>
805References <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00270">Ogre::VertexDeclaration::mElementList</a>.    </td>
806  </tr>
807</table>
808<a class="anchor" name="Ogre_1_1VertexDeclarationa12" doxytag="Ogre::D3D9VertexDeclaration::removeElement" ></a><p>
809<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
810  <tr>
811    <td class="mdRow">
812      <table cellpadding="0" cellspacing="0" border="0">
813        <tr>
814          <td class="md" nowrap valign="top"> virtual void Ogre::VertexDeclaration::removeElement </td>
815          <td class="md" valign="top">(&nbsp;</td>
816          <td class="md" nowrap valign="top"><a class="el" href="namespaceOgre.html#a655">VertexElementSemantic</a>&nbsp;</td>
817          <td class="mdname" nowrap> <em>semantic</em>, </td>
818        </tr>
819        <tr>
820          <td class="md" nowrap align="right"></td>
821          <td></td>
822          <td class="md" nowrap>unsigned short&nbsp;</td>
823          <td class="mdname" nowrap> <em>index</em> = 0</td>
824        </tr>
825        <tr>
826          <td></td>
827          <td class="md">)&nbsp;</td>
828          <td class="md" colspan="2"><code> [virtual, inherited]</code></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>
843Remove the element with the given semantic and usage index.
844<p>
845<dl compact><dt><b>Remarks:</b></dt><dd>In this case 'index' means the usage index for repeating elements such as texture coordinates. For other elements this will always be 0 and does not refer to the index in the vector. </dd></dl>
846    </td>
847  </tr>
848</table>
849<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationa4" doxytag="Ogre::D3D9VertexDeclaration::removeElement" ></a><p>
850<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
851  <tr>
852    <td class="mdRow">
853      <table cellpadding="0" cellspacing="0" border="0">
854        <tr>
855          <td class="md" nowrap valign="top"> void Ogre::D3D9VertexDeclaration::removeElement </td>
856          <td class="md" valign="top">(&nbsp;</td>
857          <td class="md" nowrap valign="top">unsigned short&nbsp;</td>
858          <td class="mdname1" valign="top" nowrap> <em>elem_index</em>          </td>
859          <td class="md" valign="top">&nbsp;)&nbsp;</td>
860          <td class="md" nowrap><code> [virtual]</code></td>
861        </tr>
862
863      </table>
864    </td>
865  </tr>
866</table>
867<table cellspacing=5 cellpadding=0 border=0>
868  <tr>
869    <td>
870      &nbsp;
871    </td>
872    <td>
873
874<p>
875See <a class="el" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>.
876<p>
877
878<p>
879Reimplemented from <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationa11">Ogre::VertexDeclaration</a>.    </td>
880  </tr>
881</table>
882<a class="anchor" name="Ogre_1_1VertexDeclarationa5" doxytag="Ogre::D3D9VertexDeclaration::sort" ></a><p>
883<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
884  <tr>
885    <td class="mdRow">
886      <table cellpadding="0" cellspacing="0" border="0">
887        <tr>
888          <td class="md" nowrap valign="top"> void Ogre::VertexDeclaration::sort </td>
889          <td class="md" valign="top">(&nbsp;</td>
890          <td class="md" nowrap valign="top">void&nbsp;</td>
891          <td class="mdname1" valign="top" nowrap>          </td>
892          <td class="md" valign="top">&nbsp;)&nbsp;</td>
893          <td class="md" nowrap><code> [inherited]</code></td>
894        </tr>
895
896      </table>
897    </td>
898  </tr>
899</table>
900<table cellspacing=5 cellpadding=0 border=0>
901  <tr>
902    <td>
903      &nbsp;
904    </td>
905    <td>
906
907<p>
908Sorts the elements in this list to be compatible with the maximum number of rendering APIs / graphics cards.
909<p>
910<dl compact><dt><b>Remarks:</b></dt><dd>Older graphics cards require vertex data to be presented in a more rigid way, as defined in the main documentation for this class. As well as the ordering being important, where shared source buffers are used, the declaration must list all the elements for each source in turn. </dd></dl>
911    </td>
912  </tr>
913</table>
914<a class="anchor" name="Ogre_1_1VertexDeclaratione0" doxytag="Ogre::D3D9VertexDeclaration::vertexElementLess" ></a><p>
915<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
916  <tr>
917    <td class="mdRow">
918      <table cellpadding="0" cellspacing="0" border="0">
919        <tr>
920          <td class="md" nowrap valign="top"> bool Ogre::VertexDeclaration::vertexElementLess </td>
921          <td class="md" valign="top">(&nbsp;</td>
922          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> &amp;&nbsp;</td>
923          <td class="mdname" nowrap> <em>e1</em>, </td>
924        </tr>
925        <tr>
926          <td class="md" nowrap align="right"></td>
927          <td></td>
928          <td class="md" nowrap>const <a class="el" href="classOgre_1_1VertexElement.html">VertexElement</a> &amp;&nbsp;</td>
929          <td class="mdname" nowrap> <em>e2</em></td>
930        </tr>
931        <tr>
932          <td></td>
933          <td class="md">)&nbsp;</td>
934          <td class="md" colspan="2"><code> [static, inherited]</code></td>
935        </tr>
936
937      </table>
938    </td>
939  </tr>
940</table>
941<table cellspacing=5 cellpadding=0 border=0>
942  <tr>
943    <td>
944      &nbsp;
945    </td>
946    <td>
947
948<p>
949Sort routine for vertex elements.
950<p>
951    </td>
952  </tr>
953</table>
954<hr><h2>Member Data Documentation</h2>
955<a class="anchor" name="Ogre_1_1VertexDeclarationp0" doxytag="Ogre::D3D9VertexDeclaration::mElementList" ></a><p>
956<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
957  <tr>
958    <td class="mdRow">
959      <table cellpadding="0" cellspacing="0" border="0">
960        <tr>
961          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationw0">VertexElementList</a> <a class="el" href="classOgre_1_1VertexDeclaration.html#Ogre_1_1VertexDeclarationp0">Ogre::VertexDeclaration::mElementList</a><code> [protected, inherited]</code>
962      </table>
963    </td>
964  </tr>
965</table>
966<table cellspacing=5 cellpadding=0 border=0>
967  <tr>
968    <td>
969      &nbsp;
970    </td>
971    <td>
972
973<p>
974
975<p>
976Definition at line <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00270">270</a> of file <a class="el" href="OgreHardwareVertexBuffer_8h-source.html">OgreHardwareVertexBuffer.h</a>.
977<p>
978Referenced by <a class="el" href="OgreHardwareVertexBuffer_8h-source.html#l00392">Ogre::VertexDeclaration::operator==()</a>.    </td>
979  </tr>
980</table>
981<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationp1" doxytag="Ogre::D3D9VertexDeclaration::mlpD3DDecl" ></a><p>
982<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
983  <tr>
984    <td class="mdRow">
985      <table cellpadding="0" cellspacing="0" border="0">
986        <tr>
987          <td class="md" nowrap valign="top"> LPDIRECT3DVERTEXDECLARATION9 <a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationp1">Ogre::D3D9VertexDeclaration::mlpD3DDecl</a><code> [protected]</code>
988      </table>
989    </td>
990  </tr>
991</table>
992<table cellspacing=5 cellpadding=0 border=0>
993  <tr>
994    <td>
995      &nbsp;
996    </td>
997    <td>
998
999<p>
1000
1001<p>
1002Definition at line <a class="el" href="OgreD3D9VertexDeclaration_8h-source.html#l00038">38</a> of file <a class="el" href="OgreD3D9VertexDeclaration_8h-source.html">OgreD3D9VertexDeclaration.h</a>.    </td>
1003  </tr>
1004</table>
1005<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationp0" doxytag="Ogre::D3D9VertexDeclaration::mlpD3DDevice" ></a><p>
1006<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1007  <tr>
1008    <td class="mdRow">
1009      <table cellpadding="0" cellspacing="0" border="0">
1010        <tr>
1011          <td class="md" nowrap valign="top"> LPDIRECT3DDEVICE9 <a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationp0">Ogre::D3D9VertexDeclaration::mlpD3DDevice</a><code> [protected]</code>
1012      </table>
1013    </td>
1014  </tr>
1015</table>
1016<table cellspacing=5 cellpadding=0 border=0>
1017  <tr>
1018    <td>
1019      &nbsp;
1020    </td>
1021    <td>
1022
1023<p>
1024
1025<p>
1026Definition at line <a class="el" href="OgreD3D9VertexDeclaration_8h-source.html#l00037">37</a> of file <a class="el" href="OgreD3D9VertexDeclaration_8h-source.html">OgreD3D9VertexDeclaration.h</a>.    </td>
1027  </tr>
1028</table>
1029<a class="anchor" name="Ogre_1_1D3D9VertexDeclarationp2" doxytag="Ogre::D3D9VertexDeclaration::mNeedsRebuild" ></a><p>
1030<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1031  <tr>
1032    <td class="mdRow">
1033      <table cellpadding="0" cellspacing="0" border="0">
1034        <tr>
1035          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1D3D9VertexDeclaration.html#Ogre_1_1D3D9VertexDeclarationp2">Ogre::D3D9VertexDeclaration::mNeedsRebuild</a><code> [protected]</code>
1036      </table>
1037    </td>
1038  </tr>
1039</table>
1040<table cellspacing=5 cellpadding=0 border=0>
1041  <tr>
1042    <td>
1043      &nbsp;
1044    </td>
1045    <td>
1046
1047<p>
1048
1049<p>
1050Definition at line <a class="el" href="OgreD3D9VertexDeclaration_8h-source.html#l00039">39</a> of file <a class="el" href="OgreD3D9VertexDeclaration_8h-source.html">OgreD3D9VertexDeclaration.h</a>.    </td>
1051  </tr>
1052</table>
1053<hr>The documentation for this class was generated from the following file:<ul>
1054<li><a class="el" href="OgreD3D9VertexDeclaration_8h-source.html">OgreD3D9VertexDeclaration.h</a></ul>
1055<hr>
1056<p>
1057Copyright &copy; 2000-2005 by The OGRE Team<br />
1058<!--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/>
1059This 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/>
1060                <!--/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#">
1061                <Work rdf:about="">
1062                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
1063        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
1064                </Work>
1065                <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> -->
1066
1067Last modified Sun Feb 12 13:09:23 2006
1068</p>
1069</body>
1070</html>
Note: See TracBrowser for help on using the repository browser.