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

Revision 657, 73.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::D3D9HardwareIndexBuffer 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::D3D9HardwareIndexBuffer Class Reference</h1><code>#include &lt;<a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html">OgreD3D9HardwareIndexBuffer.h</a>&gt;</code>
11<p>
12<p>Inheritance diagram for Ogre::D3D9HardwareIndexBuffer:
13<p><center><img src="classOgre_1_1D3D9HardwareIndexBuffer.png" usemap="#Ogre::D3D9HardwareIndexBuffer_map" border="0" alt=""></center>
14<map name="Ogre::D3D9HardwareIndexBuffer_map">
15<area href="classOgre_1_1HardwareIndexBuffer.html" alt="Ogre::HardwareIndexBuffer" shape="rect" coords="0,56,200,80">
16<area href="classOgre_1_1HardwareBuffer.html" alt="Ogre::HardwareBuffer" shape="rect" coords="0,0,200,24">
17</map>
18<a href="classOgre_1_1D3D9HardwareIndexBuffer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
19<tr><td></td></tr>
20<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
21<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">IndexType</a> { <a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2Ogre_1_1HardwareIndexBufferw0">IT_16BIT</a>,
22<a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2Ogre_1_1HardwareIndexBufferw1">IT_32BIT</a>
23 }</td></tr>
24
25<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a> { <br>
26&nbsp;&nbsp;<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw0">HBU_STATIC</a> =  1,
27<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw1">HBU_DYNAMIC</a> =  2,
28<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw2">HBU_WRITE_ONLY</a> =  4,
29<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw3">HBU_DISCARDABLE</a> =  8,
30<br>
31&nbsp;&nbsp;<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw4">HBU_STATIC_WRITE_ONLY</a> =  5,
32<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw5">HBU_DYNAMIC_WRITE_ONLY</a> =  6,
33<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw6">HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE</a> =  14
34<br>
35 }</td></tr>
36
37<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enums describing buffer usage; not mutually exclusive.  <a href="#Ogre_1_1HardwareVertexBufferw11">More...</a><br><br></td></tr>
38<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a> { <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw7">HBL_NORMAL</a>,
39<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw8">HBL_DISCARD</a>,
40<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw9">HBL_READ_ONLY</a>,
41<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw10">HBL_NO_OVERWRITE</a>
42 }</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locking options.  <a href="#Ogre_1_1HardwareVertexBufferw12">More...</a><br><br></td></tr>
45<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
46<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera0">D3D9HardwareIndexBuffer</a> (<a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">IndexType</a> idxType, size_t numIndexes, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a> usage, LPDIRECT3DDEVICE9 pDev, bool useSystemMem, bool useShadowBuffer)</td></tr>
47
48<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera1">~D3D9HardwareIndexBuffer</a> ()</td></tr>
49
50<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera2">readData</a> (size_t offset, size_t length, void *pDest)</td></tr>
51
52<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>.  <a href="#Ogre_1_1D3D9HardwareIndexBuffera2"></a><br><br></td></tr>
53<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera3">writeData</a> (size_t offset, size_t length, const void *pSource, bool discardWholeBuffer=false)</td></tr>
54
55<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>.  <a href="#Ogre_1_1D3D9HardwareIndexBuffera3"></a><br><br></td></tr>
56<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera4">releaseIfDefaultPool</a> (void)</td></tr>
57
58<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For dealing with lost devices - release the resource if in the default pool.  <a href="#Ogre_1_1D3D9HardwareIndexBuffera4"></a><br><br></td></tr>
59<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera5">recreateIfDefaultPool</a> (LPDIRECT3DDEVICE9 pDev)</td></tr>
60
61<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For dealing with lost devices - recreate the resource if in the default pool.  <a href="#Ogre_1_1D3D9HardwareIndexBuffera5"></a><br><br></td></tr>
62<tr><td class="memItemLeft" nowrap align=right valign=top>LPDIRECT3DINDEXBUFFER9&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBuffera6">getD3DIndexBuffer</a> (void)</td></tr>
63
64<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the D3D-specific index buffer.  <a href="#Ogre_1_1D3D9HardwareIndexBuffera6"></a><br><br></td></tr>
65<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">IndexType</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBuffera2">getType</a> (void) const </td></tr>
66
67<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the type of indexes used in this buffer.  <a href="#Ogre_1_1HardwareIndexBuffera2"></a><br><br></td></tr>
68<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBuffera3">getNumIndexes</a> (void) const </td></tr>
69
70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of indexes in this buffer.  <a href="#Ogre_1_1HardwareIndexBuffera3"></a><br><br></td></tr>
71<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBuffera4">getIndexSize</a> (void) const </td></tr>
72
73<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the size in bytes of each index.  <a href="#Ogre_1_1HardwareIndexBuffera4"></a><br><br></td></tr>
74<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera4">lock</a> (size_t offset, size_t length, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a> options)</td></tr>
75
76<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock the buffer for (potentially) reading / writing.  <a href="#Ogre_1_1HardwareVertexBuffera4"></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_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera5">lock</a> (<a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a> options)</td></tr>
78
79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock the entire buffer for (potentially) reading / writing.  <a href="#Ogre_1_1HardwareVertexBuffera5"></a><br><br></td></tr>
80<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera6">unlock</a> (void)</td></tr>
81
82<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Releases the lock on this buffer.  <a href="#Ogre_1_1HardwareVertexBuffera6"></a><br><br></td></tr>
83<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera9">copyData</a> (<a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> &amp;srcBuffer, size_t srcOffset, size_t dstOffset, size_t length, bool discardWholeBuffer=false)</td></tr>
84
85<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy data from another buffer into this one.  <a href="#Ogre_1_1HardwareVertexBuffera9"></a><br><br></td></tr>
86<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera10">_updateFromShadow</a> (void)</td></tr>
87
88<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Updates the real buffer from the shadow buffer, if required.  <a href="#Ogre_1_1HardwareVertexBuffera10"></a><br><br></td></tr>
89<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera11">getSizeInBytes</a> (void) const </td></tr>
90
91<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the size of this buffer in bytes.  <a href="#Ogre_1_1HardwareVertexBuffera11"></a><br><br></td></tr>
92<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera12">getUsage</a> (void) const </td></tr>
93
94<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the Usage flags with which this buffer was created.  <a href="#Ogre_1_1HardwareVertexBuffera12"></a><br><br></td></tr>
95<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera13">isSystemMemory</a> (void) const </td></tr>
96
97<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether this buffer is held in system memory.  <a href="#Ogre_1_1HardwareVertexBuffera13"></a><br><br></td></tr>
98<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera14">hasShadowBuffer</a> (void) const </td></tr>
99
100<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether this buffer has a system memory shadow for quicker reading.  <a href="#Ogre_1_1HardwareVertexBuffera14"></a><br><br></td></tr>
101<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera15">isLocked</a> (void) const </td></tr>
102
103<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether or not this buffer is currently locked.  <a href="#Ogre_1_1HardwareVertexBuffera15"></a><br><br></td></tr>
104<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera16">suppressHardwareUpdate</a> (bool suppress)</td></tr>
105
106<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classOgre_1_1Pass.html">Pass</a> true to suppress hardware upload of shadow buffer changes.  <a href="#Ogre_1_1HardwareVertexBuffera16"></a><br><br></td></tr>
107<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
108<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBufferb0">lockImpl</a> (size_t offset, size_t length, <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a> options)</td></tr>
109
110<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>.  <a href="#Ogre_1_1D3D9HardwareIndexBufferb0"></a><br><br></td></tr>
111<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBufferb1">unlockImpl</a> (void)</td></tr>
112
113<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>.  <a href="#Ogre_1_1D3D9HardwareIndexBufferb1"></a><br><br></td></tr>
114<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
115<tr><td class="memItemLeft" nowrap align=right valign=top>LPDIRECT3DINDEXBUFFER9&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBufferp0">mlpD3DBuffer</a></td></tr>
116
117<tr><td class="memItemLeft" nowrap align=right valign=top>D3DPOOL&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBufferp1">mD3DPool</a></td></tr>
118
119<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">IndexType</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferp0">mIndexType</a></td></tr>
120
121<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferp1">mNumIndexes</a></td></tr>
122
123<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferp2">mIndexSize</a></td></tr>
124
125<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp2">mSizeInBytes</a></td></tr>
126
127<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp3">mUsage</a></td></tr>
128
129<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp4">mIsLocked</a></td></tr>
130
131<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp5">mLockStart</a></td></tr>
132
133<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp6">mLockSize</a></td></tr>
134
135<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp7">mSystemMemory</a></td></tr>
136
137<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp8">mUseShadowBuffer</a></td></tr>
138
139<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp9">mpShadowBuffer</a></td></tr>
140
141<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp10">mShadowUpdated</a></td></tr>
142
143<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp11">mSuppressHardwareUpdate</a></td></tr>
144
145</table>
146<hr><h2>Member Enumeration Documentation</h2>
147<a class="anchor" name="Ogre_1_1HardwareIndexBufferw2" doxytag="Ogre::D3D9HardwareIndexBuffer::IndexType" ></a><p>
148<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
149  <tr>
150    <td class="mdRow">
151      <table cellpadding="0" cellspacing="0" border="0">
152        <tr>
153          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">Ogre::HardwareIndexBuffer::IndexType</a><code> [inherited]</code>
154      </table>
155    </td>
156  </tr>
157</table>
158<table cellspacing=5 cellpadding=0 border=0>
159  <tr>
160    <td>
161      &nbsp;
162    </td>
163    <td>
164
165<p>
166<dl compact><dt><b>Enumeration values: </b></dt><dd>
167<table border=0 cellspacing=2 cellpadding=0>
168<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareIndexBufferw2Ogre_1_1HardwareIndexBufferw0" doxytag="IT_16BIT" ></a>IT_16BIT</em>&nbsp;</td><td>
169</td></tr>
170<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareIndexBufferw2Ogre_1_1HardwareIndexBufferw1" doxytag="IT_32BIT" ></a>IT_32BIT</em>&nbsp;</td><td>
171</td></tr>
172</table>
173</dl>
174
175<p>
176Definition at line <a class="el" href="OgreHardwareIndexBuffer_8h-source.html#l00039">39</a> of file <a class="el" href="OgreHardwareIndexBuffer_8h-source.html">OgreHardwareIndexBuffer.h</a>.    </td>
177  </tr>
178</table>
179<a class="anchor" name="Ogre_1_1HardwareVertexBufferw12" doxytag="Ogre::D3D9HardwareIndexBuffer::LockOptions" ></a><p>
180<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
181  <tr>
182    <td class="mdRow">
183      <table cellpadding="0" cellspacing="0" border="0">
184        <tr>
185          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">Ogre::HardwareBuffer::LockOptions</a><code> [inherited]</code>
186      </table>
187    </td>
188  </tr>
189</table>
190<table cellspacing=5 cellpadding=0 border=0>
191  <tr>
192    <td>
193      &nbsp;
194    </td>
195    <td>
196
197<p>
198Locking options.
199<p>
200<dl compact><dt><b>Enumeration values: </b></dt><dd>
201<table border=0 cellspacing=2 cellpadding=0>
202<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw7" doxytag="HBL_NORMAL" ></a>HBL_NORMAL</em>&nbsp;</td><td>
203Normal mode, ie allows read/write and contents are preserved. </td></tr>
204<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw8" doxytag="HBL_DISCARD" ></a>HBL_DISCARD</em>&nbsp;</td><td>
205Discards the <em>entire</em> buffer while locking; this allows optimisation to be performed because synchronisation issues are relaxed.
206<p>
207Only allowed on buffers created with the HBU_DYNAMIC flag.</td></tr>
208<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw9" doxytag="HBL_READ_ONLY" ></a>HBL_READ_ONLY</em>&nbsp;</td><td>
209Lock the buffer for reading only.
210<p>
211Not allowed in buffers which are created with HBU_WRITE_ONLY. Mandatory on statuc buffers, ie those created without the HBU_DYNAMIC flag.</td></tr>
212<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw12Ogre_1_1HardwareVertexBufferw10" doxytag="HBL_NO_OVERWRITE" ></a>HBL_NO_OVERWRITE</em>&nbsp;</td><td>
213As HBL_NORMAL, except the application guarantees not to overwrite any region of the buffer which has already been used in this frame, can allow some optimisation on some APIs. </td></tr>
214</table>
215</dl>
216
217<p>
218Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00111">111</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
219  </tr>
220</table>
221<a class="anchor" name="Ogre_1_1HardwareVertexBufferw11" doxytag="Ogre::D3D9HardwareIndexBuffer::Usage" ></a><p>
222<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
223  <tr>
224    <td class="mdRow">
225      <table cellpadding="0" cellspacing="0" border="0">
226        <tr>
227          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Ogre::HardwareBuffer::Usage</a><code> [inherited]</code>
228      </table>
229    </td>
230  </tr>
231</table>
232<table cellspacing=5 cellpadding=0 border=0>
233  <tr>
234    <td>
235      &nbsp;
236    </td>
237    <td>
238
239<p>
240Enums describing buffer usage; not mutually exclusive.
241<p>
242<dl compact><dt><b>Enumeration values: </b></dt><dd>
243<table border=0 cellspacing=2 cellpadding=0>
244<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw0" doxytag="HBU_STATIC" ></a>HBU_STATIC</em>&nbsp;</td><td>
245Static buffer which the application rarely modifies once created.
246<p>
247Modifying the contents of this buffer will involve a performance hit. </td></tr>
248<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw1" doxytag="HBU_DYNAMIC" ></a>HBU_DYNAMIC</em>&nbsp;</td><td>
249Indicates the application would like to modify this buffer with the CPU fairly often.
250<p>
251Buffers created with this flag will typically end up in AGP memory rather than video memory.</td></tr>
252<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw2" doxytag="HBU_WRITE_ONLY" ></a>HBU_WRITE_ONLY</em>&nbsp;</td><td>
253Indicates the application will never read the contents of the buffer back, it will only ever write data.
254<p>
255Locking a buffer with this flag will ALWAYS return a pointer to new, blank memory rather than the memory associated with the contents of the buffer; this avoids DMA stalls because you can write to a new memory area while the previous one is being used.</td></tr>
256<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw3" doxytag="HBU_DISCARDABLE" ></a>HBU_DISCARDABLE</em>&nbsp;</td><td>
257Indicates that the application will be refilling the contents of the buffer regularly (not just updating, but generating the contents from scratch), and therefore does not mind if the contents of the buffer are lost somehow and need to be recreated.
258<p>
259This allows and additional level of optimisation on the buffer. This option only really makes sense when combined with HBU_DYNAMIC_WRITE_ONLY. </td></tr>
260<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw4" doxytag="HBU_STATIC_WRITE_ONLY" ></a>HBU_STATIC_WRITE_ONLY</em>&nbsp;</td><td>
261Combination of HBU_STATIC and HBU_WRITE_ONLY. </td></tr>
262<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw5" doxytag="HBU_DYNAMIC_WRITE_ONLY" ></a>HBU_DYNAMIC_WRITE_ONLY</em>&nbsp;</td><td>
263Combination of HBU_DYNAMIC and HBU_WRITE_ONLY.
264<p>
265If you use this, strongly consider using HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE instead if you update the entire contents of the buffer very regularly. </td></tr>
266<tr><td valign=top><em><a class="anchor" name="Ogre_1_1HardwareVertexBufferw11Ogre_1_1HardwareVertexBufferw6" doxytag="HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE" ></a>HBU_DYNAMIC_WRITE_ONLY_DISCARDABLE</em>&nbsp;</td><td>
267Combination of HBU_DYNAMIC, HBU_WRITE_ONLY and HBU_DISCARDABLE. </td></tr>
268</table>
269</dl>
270
271<p>
272Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00069">69</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
273  </tr>
274</table>
275<hr><h2>Constructor &amp; Destructor Documentation</h2>
276<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBuffera0" doxytag="Ogre::D3D9HardwareIndexBuffer::D3D9HardwareIndexBuffer" ></a><p>
277<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
278  <tr>
279    <td class="mdRow">
280      <table cellpadding="0" cellspacing="0" border="0">
281        <tr>
282          <td class="md" nowrap valign="top"> Ogre::D3D9HardwareIndexBuffer::D3D9HardwareIndexBuffer </td>
283          <td class="md" valign="top">(&nbsp;</td>
284          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">IndexType</a>&nbsp;</td>
285          <td class="mdname" nowrap> <em>idxType</em>, </td>
286        </tr>
287        <tr>
288          <td class="md" nowrap align="right"></td>
289          <td></td>
290          <td class="md" nowrap>size_t&nbsp;</td>
291          <td class="mdname" nowrap> <em>numIndexes</em>, </td>
292        </tr>
293        <tr>
294          <td class="md" nowrap align="right"></td>
295          <td></td>
296          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">HardwareBuffer::Usage</a>&nbsp;</td>
297          <td class="mdname" nowrap> <em>usage</em>, </td>
298        </tr>
299        <tr>
300          <td class="md" nowrap align="right"></td>
301          <td></td>
302          <td class="md" nowrap>LPDIRECT3DDEVICE9&nbsp;</td>
303          <td class="mdname" nowrap> <em>pDev</em>, </td>
304        </tr>
305        <tr>
306          <td class="md" nowrap align="right"></td>
307          <td></td>
308          <td class="md" nowrap>bool&nbsp;</td>
309          <td class="mdname" nowrap> <em>useSystemMem</em>, </td>
310        </tr>
311        <tr>
312          <td class="md" nowrap align="right"></td>
313          <td></td>
314          <td class="md" nowrap>bool&nbsp;</td>
315          <td class="mdname" nowrap> <em>useShadowBuffer</em></td>
316        </tr>
317        <tr>
318          <td></td>
319          <td class="md">)&nbsp;</td>
320          <td class="md" colspan="2"></td>
321        </tr>
322
323      </table>
324    </td>
325  </tr>
326</table>
327<table cellspacing=5 cellpadding=0 border=0>
328  <tr>
329    <td>
330      &nbsp;
331    </td>
332    <td>
333
334<p>
335    </td>
336  </tr>
337</table>
338<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBuffera1" doxytag="Ogre::D3D9HardwareIndexBuffer::~D3D9HardwareIndexBuffer" ></a><p>
339<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
340  <tr>
341    <td class="mdRow">
342      <table cellpadding="0" cellspacing="0" border="0">
343        <tr>
344          <td class="md" nowrap valign="top"> Ogre::D3D9HardwareIndexBuffer::~<a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html">D3D9HardwareIndexBuffer</a> </td>
345          <td class="md" valign="top">(&nbsp;</td>
346          <td class="mdname1" valign="top" nowrap>          </td>
347          <td class="md" valign="top">&nbsp;)&nbsp;</td>
348          <td class="md" nowrap></td>
349        </tr>
350
351      </table>
352    </td>
353  </tr>
354</table>
355<table cellspacing=5 cellpadding=0 border=0>
356  <tr>
357    <td>
358      &nbsp;
359    </td>
360    <td>
361
362<p>
363    </td>
364  </tr>
365</table>
366<hr><h2>Member Function Documentation</h2>
367<a class="anchor" name="Ogre_1_1HardwareVertexBuffera10" doxytag="Ogre::D3D9HardwareIndexBuffer::_updateFromShadow" ></a><p>
368<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
369  <tr>
370    <td class="mdRow">
371      <table cellpadding="0" cellspacing="0" border="0">
372        <tr>
373          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::_updateFromShadow </td>
374          <td class="md" valign="top">(&nbsp;</td>
375          <td class="md" nowrap valign="top">void&nbsp;</td>
376          <td class="mdname1" valign="top" nowrap>          </td>
377          <td class="md" valign="top">&nbsp;)&nbsp;</td>
378          <td class="md" nowrap><code> [virtual, inherited]</code></td>
379        </tr>
380
381      </table>
382    </td>
383  </tr>
384</table>
385<table cellspacing=5 cellpadding=0 border=0>
386  <tr>
387    <td>
388      &nbsp;
389    </td>
390    <td>
391
392<p>
393Updates the real buffer from the shadow buffer, if required.
394<p>
395
396<p>
397Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00275">275</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
398  </tr>
399</table>
400<a class="anchor" name="Ogre_1_1HardwareVertexBuffera9" doxytag="Ogre::D3D9HardwareIndexBuffer::copyData" ></a><p>
401<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
402  <tr>
403    <td class="mdRow">
404      <table cellpadding="0" cellspacing="0" border="0">
405        <tr>
406          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::copyData </td>
407          <td class="md" valign="top">(&nbsp;</td>
408          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a> &amp;&nbsp;</td>
409          <td class="mdname" nowrap> <em>srcBuffer</em>, </td>
410        </tr>
411        <tr>
412          <td class="md" nowrap align="right"></td>
413          <td></td>
414          <td class="md" nowrap>size_t&nbsp;</td>
415          <td class="mdname" nowrap> <em>srcOffset</em>, </td>
416        </tr>
417        <tr>
418          <td class="md" nowrap align="right"></td>
419          <td></td>
420          <td class="md" nowrap>size_t&nbsp;</td>
421          <td class="mdname" nowrap> <em>dstOffset</em>, </td>
422        </tr>
423        <tr>
424          <td class="md" nowrap align="right"></td>
425          <td></td>
426          <td class="md" nowrap>size_t&nbsp;</td>
427          <td class="mdname" nowrap> <em>length</em>, </td>
428        </tr>
429        <tr>
430          <td class="md" nowrap align="right"></td>
431          <td></td>
432          <td class="md" nowrap>bool&nbsp;</td>
433          <td class="mdname" nowrap> <em>discardWholeBuffer</em> = false</td>
434        </tr>
435        <tr>
436          <td></td>
437          <td class="md">)&nbsp;</td>
438          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
439        </tr>
440
441      </table>
442    </td>
443  </tr>
444</table>
445<table cellspacing=5 cellpadding=0 border=0>
446  <tr>
447    <td>
448      &nbsp;
449    </td>
450    <td>
451
452<p>
453Copy data from another buffer into this one.
454<p>
455<dl compact><dt><b>Remarks:</b></dt><dd>Note that the source buffer must not be created with the usage HBU_WRITE_ONLY otherwise this will fail. </dd></dl>
456<dl compact><dt><b>Parameters:</b></dt><dd>
457  <table border="0" cellspacing="2" cellpadding="0">
458    <tr><td valign=top><em>srcBuffer</em>&nbsp;</td><td>The buffer from which to read the copied data </td></tr>
459    <tr><td valign=top><em>srcOffset</em>&nbsp;</td><td>Offset in the source buffer at which to start reading </td></tr>
460    <tr><td valign=top><em>dstOffset</em>&nbsp;</td><td>Offset in the destination buffer to start writing </td></tr>
461    <tr><td valign=top><em>length</em>&nbsp;</td><td>Length of the data to copy, in bytes. </td></tr>
462    <tr><td valign=top><em>discardWholeBuffer</em>&nbsp;</td><td>If true, will discard the entire contents of this buffer before copying</td></tr>
463  </table>
464</dl>
465
466<p>
467Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00265">265</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
468<p>
469References <a class="el" href="OgreHardwareBuffer_8h-source.html#l00171">Ogre::HardwareBuffer::lock()</a>, and <a class="el" href="OgreHardwareBuffer_8h-source.html#l00217">Ogre::HardwareBuffer::unlock()</a>.    </td>
470  </tr>
471</table>
472<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBuffera6" doxytag="Ogre::D3D9HardwareIndexBuffer::getD3DIndexBuffer" ></a><p>
473<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
474  <tr>
475    <td class="mdRow">
476      <table cellpadding="0" cellspacing="0" border="0">
477        <tr>
478          <td class="md" nowrap valign="top"> LPDIRECT3DINDEXBUFFER9 Ogre::D3D9HardwareIndexBuffer::getD3DIndexBuffer </td>
479          <td class="md" valign="top">(&nbsp;</td>
480          <td class="md" nowrap valign="top">void&nbsp;</td>
481          <td class="mdname1" valign="top" nowrap>          </td>
482          <td class="md" valign="top">&nbsp;)&nbsp;</td>
483          <td class="md" nowrap></td>
484        </tr>
485
486      </table>
487    </td>
488  </tr>
489</table>
490<table cellspacing=5 cellpadding=0 border=0>
491  <tr>
492    <td>
493      &nbsp;
494    </td>
495    <td>
496
497<p>
498Get the D3D-specific index buffer.
499<p>
500
501<p>
502Definition at line <a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html#l00059">59</a> of file <a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html">OgreD3D9HardwareIndexBuffer.h</a>.
503<p>
504References <a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html#l00037">mlpD3DBuffer</a>.    </td>
505  </tr>
506</table>
507<a class="anchor" name="Ogre_1_1HardwareIndexBuffera4" doxytag="Ogre::D3D9HardwareIndexBuffer::getIndexSize" ></a><p>
508<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
509  <tr>
510    <td class="mdRow">
511      <table cellpadding="0" cellspacing="0" border="0">
512        <tr>
513          <td class="md" nowrap valign="top"> size_t Ogre::HardwareIndexBuffer::getIndexSize </td>
514          <td class="md" valign="top">(&nbsp;</td>
515          <td class="md" nowrap valign="top">void&nbsp;</td>
516          <td class="mdname1" valign="top" nowrap>          </td>
517          <td class="md" valign="top">&nbsp;)&nbsp;</td>
518          <td class="md" nowrap> const<code> [inherited]</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>
533Get the size in bytes of each index.
534<p>
535
536<p>
537Definition at line <a class="el" href="OgreHardwareIndexBuffer_8h-source.html#l00059">59</a> of file <a class="el" href="OgreHardwareIndexBuffer_8h-source.html">OgreHardwareIndexBuffer.h</a>.    </td>
538  </tr>
539</table>
540<a class="anchor" name="Ogre_1_1HardwareIndexBuffera3" doxytag="Ogre::D3D9HardwareIndexBuffer::getNumIndexes" ></a><p>
541<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
542  <tr>
543    <td class="mdRow">
544      <table cellpadding="0" cellspacing="0" border="0">
545        <tr>
546          <td class="md" nowrap valign="top"> size_t Ogre::HardwareIndexBuffer::getNumIndexes </td>
547          <td class="md" valign="top">(&nbsp;</td>
548          <td class="md" nowrap valign="top">void&nbsp;</td>
549          <td class="mdname1" valign="top" nowrap>          </td>
550          <td class="md" valign="top">&nbsp;)&nbsp;</td>
551          <td class="md" nowrap> const<code> [inherited]</code></td>
552        </tr>
553
554      </table>
555    </td>
556  </tr>
557</table>
558<table cellspacing=5 cellpadding=0 border=0>
559  <tr>
560    <td>
561      &nbsp;
562    </td>
563    <td>
564
565<p>
566Get the number of indexes in this buffer.
567<p>
568
569<p>
570Definition at line <a class="el" href="OgreHardwareIndexBuffer_8h-source.html#l00057">57</a> of file <a class="el" href="OgreHardwareIndexBuffer_8h-source.html">OgreHardwareIndexBuffer.h</a>.    </td>
571  </tr>
572</table>
573<a class="anchor" name="Ogre_1_1HardwareVertexBuffera11" doxytag="Ogre::D3D9HardwareIndexBuffer::getSizeInBytes" ></a><p>
574<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
575  <tr>
576    <td class="mdRow">
577      <table cellpadding="0" cellspacing="0" border="0">
578        <tr>
579          <td class="md" nowrap valign="top"> size_t Ogre::HardwareBuffer::getSizeInBytes </td>
580          <td class="md" valign="top">(&nbsp;</td>
581          <td class="md" nowrap valign="top">void&nbsp;</td>
582          <td class="mdname1" valign="top" nowrap>          </td>
583          <td class="md" valign="top">&nbsp;)&nbsp;</td>
584          <td class="md" nowrap> const<code> [inherited]</code></td>
585        </tr>
586
587      </table>
588    </td>
589  </tr>
590</table>
591<table cellspacing=5 cellpadding=0 border=0>
592  <tr>
593    <td>
594      &nbsp;
595    </td>
596    <td>
597
598<p>
599Returns the size of this buffer in bytes.
600<p>
601
602<p>
603Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00300">300</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
604  </tr>
605</table>
606<a class="anchor" name="Ogre_1_1HardwareIndexBuffera2" doxytag="Ogre::D3D9HardwareIndexBuffer::getType" ></a><p>
607<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
608  <tr>
609    <td class="mdRow">
610      <table cellpadding="0" cellspacing="0" border="0">
611        <tr>
612          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">IndexType</a> Ogre::HardwareIndexBuffer::getType </td>
613          <td class="md" valign="top">(&nbsp;</td>
614          <td class="md" nowrap valign="top">void&nbsp;</td>
615          <td class="mdname1" valign="top" nowrap>          </td>
616          <td class="md" valign="top">&nbsp;)&nbsp;</td>
617          <td class="md" nowrap> const<code> [inherited]</code></td>
618        </tr>
619
620      </table>
621    </td>
622  </tr>
623</table>
624<table cellspacing=5 cellpadding=0 border=0>
625  <tr>
626    <td>
627      &nbsp;
628    </td>
629    <td>
630
631<p>
632Get the type of indexes used in this buffer.
633<p>
634
635<p>
636Definition at line <a class="el" href="OgreHardwareIndexBuffer_8h-source.html#l00055">55</a> of file <a class="el" href="OgreHardwareIndexBuffer_8h-source.html">OgreHardwareIndexBuffer.h</a>.    </td>
637  </tr>
638</table>
639<a class="anchor" name="Ogre_1_1HardwareVertexBuffera12" doxytag="Ogre::D3D9HardwareIndexBuffer::getUsage" ></a><p>
640<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
641  <tr>
642    <td class="mdRow">
643      <table cellpadding="0" cellspacing="0" border="0">
644        <tr>
645          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a> Ogre::HardwareBuffer::getUsage </td>
646          <td class="md" valign="top">(&nbsp;</td>
647          <td class="md" nowrap valign="top">void&nbsp;</td>
648          <td class="mdname1" valign="top" nowrap>          </td>
649          <td class="md" valign="top">&nbsp;)&nbsp;</td>
650          <td class="md" nowrap> const<code> [inherited]</code></td>
651        </tr>
652
653      </table>
654    </td>
655  </tr>
656</table>
657<table cellspacing=5 cellpadding=0 border=0>
658  <tr>
659    <td>
660      &nbsp;
661    </td>
662    <td>
663
664<p>
665Returns the Usage flags with which this buffer was created.
666<p>
667
668<p>
669Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00302">302</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
670  </tr>
671</table>
672<a class="anchor" name="Ogre_1_1HardwareVertexBuffera14" doxytag="Ogre::D3D9HardwareIndexBuffer::hasShadowBuffer" ></a><p>
673<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
674  <tr>
675    <td class="mdRow">
676      <table cellpadding="0" cellspacing="0" border="0">
677        <tr>
678          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::hasShadowBuffer </td>
679          <td class="md" valign="top">(&nbsp;</td>
680          <td class="md" nowrap valign="top">void&nbsp;</td>
681          <td class="mdname1" valign="top" nowrap>          </td>
682          <td class="md" valign="top">&nbsp;)&nbsp;</td>
683          <td class="md" nowrap> const<code> [inherited]</code></td>
684        </tr>
685
686      </table>
687    </td>
688  </tr>
689</table>
690<table cellspacing=5 cellpadding=0 border=0>
691  <tr>
692    <td>
693      &nbsp;
694    </td>
695    <td>
696
697<p>
698Returns whether this buffer has a system memory shadow for quicker reading.
699<p>
700
701<p>
702Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00306">306</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
703  </tr>
704</table>
705<a class="anchor" name="Ogre_1_1HardwareVertexBuffera15" doxytag="Ogre::D3D9HardwareIndexBuffer::isLocked" ></a><p>
706<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
707  <tr>
708    <td class="mdRow">
709      <table cellpadding="0" cellspacing="0" border="0">
710        <tr>
711          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::isLocked </td>
712          <td class="md" valign="top">(&nbsp;</td>
713          <td class="md" nowrap valign="top">void&nbsp;</td>
714          <td class="mdname1" valign="top" nowrap>          </td>
715          <td class="md" valign="top">&nbsp;)&nbsp;</td>
716          <td class="md" nowrap> const<code> [inherited]</code></td>
717        </tr>
718
719      </table>
720    </td>
721  </tr>
722</table>
723<table cellspacing=5 cellpadding=0 border=0>
724  <tr>
725    <td>
726      &nbsp;
727    </td>
728    <td>
729
730<p>
731Returns whether or not this buffer is currently locked.
732<p>
733
734<p>
735Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00308">308</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
736  </tr>
737</table>
738<a class="anchor" name="Ogre_1_1HardwareVertexBuffera13" doxytag="Ogre::D3D9HardwareIndexBuffer::isSystemMemory" ></a><p>
739<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
740  <tr>
741    <td class="mdRow">
742      <table cellpadding="0" cellspacing="0" border="0">
743        <tr>
744          <td class="md" nowrap valign="top"> bool Ogre::HardwareBuffer::isSystemMemory </td>
745          <td class="md" valign="top">(&nbsp;</td>
746          <td class="md" nowrap valign="top">void&nbsp;</td>
747          <td class="mdname1" valign="top" nowrap>          </td>
748          <td class="md" valign="top">&nbsp;)&nbsp;</td>
749          <td class="md" nowrap> const<code> [inherited]</code></td>
750        </tr>
751
752      </table>
753    </td>
754  </tr>
755</table>
756<table cellspacing=5 cellpadding=0 border=0>
757  <tr>
758    <td>
759      &nbsp;
760    </td>
761    <td>
762
763<p>
764Returns whether this buffer is held in system memory.
765<p>
766
767<p>
768Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00304">304</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
769  </tr>
770</table>
771<a class="anchor" name="Ogre_1_1HardwareVertexBuffera5" doxytag="Ogre::D3D9HardwareIndexBuffer::lock" ></a><p>
772<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
773  <tr>
774    <td class="mdRow">
775      <table cellpadding="0" cellspacing="0" border="0">
776        <tr>
777          <td class="md" nowrap valign="top"> void* Ogre::HardwareBuffer::lock </td>
778          <td class="md" valign="top">(&nbsp;</td>
779          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a>&nbsp;</td>
780          <td class="mdname1" valign="top" nowrap> <em>options</em>          </td>
781          <td class="md" valign="top">&nbsp;)&nbsp;</td>
782          <td class="md" nowrap><code> [inherited]</code></td>
783        </tr>
784
785      </table>
786    </td>
787  </tr>
788</table>
789<table cellspacing=5 cellpadding=0 border=0>
790  <tr>
791    <td>
792      &nbsp;
793    </td>
794    <td>
795
796<p>
797Lock the entire buffer for (potentially) reading / writing.
798<p>
799<dl compact><dt><b>Parameters:</b></dt><dd>
800  <table border="0" cellspacing="2" cellpadding="0">
801    <tr><td valign=top><em>options</em>&nbsp;</td><td>Locking options </td></tr>
802  </table>
803</dl>
804<dl compact><dt><b>Returns:</b></dt><dd>Pointer to the locked memory </dd></dl>
805
806<p>
807Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00201">201</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
808  </tr>
809</table>
810<a class="anchor" name="Ogre_1_1HardwareVertexBuffera4" doxytag="Ogre::D3D9HardwareIndexBuffer::lock" ></a><p>
811<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
812  <tr>
813    <td class="mdRow">
814      <table cellpadding="0" cellspacing="0" border="0">
815        <tr>
816          <td class="md" nowrap valign="top"> virtual void* Ogre::HardwareBuffer::lock </td>
817          <td class="md" valign="top">(&nbsp;</td>
818          <td class="md" nowrap valign="top">size_t&nbsp;</td>
819          <td class="mdname" nowrap> <em>offset</em>, </td>
820        </tr>
821        <tr>
822          <td class="md" nowrap align="right"></td>
823          <td></td>
824          <td class="md" nowrap>size_t&nbsp;</td>
825          <td class="mdname" nowrap> <em>length</em>, </td>
826        </tr>
827        <tr>
828          <td class="md" nowrap align="right"></td>
829          <td></td>
830          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a>&nbsp;</td>
831          <td class="mdname" nowrap> <em>options</em></td>
832        </tr>
833        <tr>
834          <td></td>
835          <td class="md">)&nbsp;</td>
836          <td class="md" colspan="2"><code> [virtual, inherited]</code></td>
837        </tr>
838
839      </table>
840    </td>
841  </tr>
842</table>
843<table cellspacing=5 cellpadding=0 border=0>
844  <tr>
845    <td>
846      &nbsp;
847    </td>
848    <td>
849
850<p>
851Lock the buffer for (potentially) reading / writing.
852<p>
853<dl compact><dt><b>Parameters:</b></dt><dd>
854  <table border="0" cellspacing="2" cellpadding="0">
855    <tr><td valign=top><em>offset</em>&nbsp;</td><td>The byte offset from the start of the buffer to lock </td></tr>
856    <tr><td valign=top><em>length</em>&nbsp;</td><td>The size of the area to lock, in bytes </td></tr>
857    <tr><td valign=top><em>options</em>&nbsp;</td><td>Locking options </td></tr>
858  </table>
859</dl>
860<dl compact><dt><b>Returns:</b></dt><dd>Pointer to the locked memory</dd></dl>
861
862<p>
863Reimplemented in <a class="el" href="classOgre_1_1DefaultHardwareVertexBuffer.html#Ogre_1_1DefaultHardwareVertexBuffera4">Ogre::DefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1DefaultHardwareIndexBuffer.html#Ogre_1_1DefaultHardwareIndexBuffera4">Ogre::DefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1HardwarePixelBuffer.html#Ogre_1_1HardwarePixelBuffera3">Ogre::HardwarePixelBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareVertexBuffer.html#Ogre_1_1GLDefaultHardwareVertexBuffera4">Ogre::GLDefaultHardwareVertexBuffer</a>, and <a class="el" href="classOgre_1_1GLDefaultHardwareIndexBuffer.html#Ogre_1_1GLDefaultHardwareIndexBuffera4">Ogre::GLDefaultHardwareIndexBuffer</a>.
864<p>
865Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00171">171</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
866<p>
867Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00265">Ogre::HardwareBuffer::copyData()</a>.    </td>
868  </tr>
869</table>
870<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBufferb0" doxytag="Ogre::D3D9HardwareIndexBuffer::lockImpl" ></a><p>
871<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
872  <tr>
873    <td class="mdRow">
874      <table cellpadding="0" cellspacing="0" border="0">
875        <tr>
876          <td class="md" nowrap valign="top"> void* Ogre::D3D9HardwareIndexBuffer::lockImpl </td>
877          <td class="md" valign="top">(&nbsp;</td>
878          <td class="md" nowrap valign="top">size_t&nbsp;</td>
879          <td class="mdname" nowrap> <em>offset</em>, </td>
880        </tr>
881        <tr>
882          <td class="md" nowrap align="right"></td>
883          <td></td>
884          <td class="md" nowrap>size_t&nbsp;</td>
885          <td class="mdname" nowrap> <em>length</em>, </td>
886        </tr>
887        <tr>
888          <td class="md" nowrap align="right"></td>
889          <td></td>
890          <td class="md" nowrap><a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw12">LockOptions</a>&nbsp;</td>
891          <td class="mdname" nowrap> <em>options</em></td>
892        </tr>
893        <tr>
894          <td></td>
895          <td class="md">)&nbsp;</td>
896          <td class="md" colspan="2"><code> [protected, virtual]</code></td>
897        </tr>
898
899      </table>
900    </td>
901  </tr>
902</table>
903<table cellspacing=5 cellpadding=0 border=0>
904  <tr>
905    <td>
906      &nbsp;
907    </td>
908    <td>
909
910<p>
911See <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>.
912<p>
913
914<p>
915Implements <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferb0">Ogre::HardwareBuffer</a>.    </td>
916  </tr>
917</table>
918<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBuffera2" doxytag="Ogre::D3D9HardwareIndexBuffer::readData" ></a><p>
919<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
920  <tr>
921    <td class="mdRow">
922      <table cellpadding="0" cellspacing="0" border="0">
923        <tr>
924          <td class="md" nowrap valign="top"> void Ogre::D3D9HardwareIndexBuffer::readData </td>
925          <td class="md" valign="top">(&nbsp;</td>
926          <td class="md" nowrap valign="top">size_t&nbsp;</td>
927          <td class="mdname" nowrap> <em>offset</em>, </td>
928        </tr>
929        <tr>
930          <td class="md" nowrap align="right"></td>
931          <td></td>
932          <td class="md" nowrap>size_t&nbsp;</td>
933          <td class="mdname" nowrap> <em>length</em>, </td>
934        </tr>
935        <tr>
936          <td class="md" nowrap align="right"></td>
937          <td></td>
938          <td class="md" nowrap>void *&nbsp;</td>
939          <td class="mdname" nowrap> <em>pDest</em></td>
940        </tr>
941        <tr>
942          <td></td>
943          <td class="md">)&nbsp;</td>
944          <td class="md" colspan="2"><code> [virtual]</code></td>
945        </tr>
946
947      </table>
948    </td>
949  </tr>
950</table>
951<table cellspacing=5 cellpadding=0 border=0>
952  <tr>
953    <td>
954      &nbsp;
955    </td>
956    <td>
957
958<p>
959See <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>.
960<p>
961
962<p>
963Implements <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera7">Ogre::HardwareBuffer</a>.    </td>
964  </tr>
965</table>
966<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBuffera5" doxytag="Ogre::D3D9HardwareIndexBuffer::recreateIfDefaultPool" ></a><p>
967<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
968  <tr>
969    <td class="mdRow">
970      <table cellpadding="0" cellspacing="0" border="0">
971        <tr>
972          <td class="md" nowrap valign="top"> bool Ogre::D3D9HardwareIndexBuffer::recreateIfDefaultPool </td>
973          <td class="md" valign="top">(&nbsp;</td>
974          <td class="md" nowrap valign="top">LPDIRECT3DDEVICE9&nbsp;</td>
975          <td class="mdname1" valign="top" nowrap> <em>pDev</em>          </td>
976          <td class="md" valign="top">&nbsp;)&nbsp;</td>
977          <td class="md" nowrap></td>
978        </tr>
979
980      </table>
981    </td>
982  </tr>
983</table>
984<table cellspacing=5 cellpadding=0 border=0>
985  <tr>
986    <td>
987      &nbsp;
988    </td>
989    <td>
990
991<p>
992For dealing with lost devices - recreate the resource if in the default pool.
993<p>
994    </td>
995  </tr>
996</table>
997<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBuffera4" doxytag="Ogre::D3D9HardwareIndexBuffer::releaseIfDefaultPool" ></a><p>
998<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
999  <tr>
1000    <td class="mdRow">
1001      <table cellpadding="0" cellspacing="0" border="0">
1002        <tr>
1003          <td class="md" nowrap valign="top"> bool Ogre::D3D9HardwareIndexBuffer::releaseIfDefaultPool </td>
1004          <td class="md" valign="top">(&nbsp;</td>
1005          <td class="md" nowrap valign="top">void&nbsp;</td>
1006          <td class="mdname1" valign="top" nowrap>          </td>
1007          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1008          <td class="md" nowrap></td>
1009        </tr>
1010
1011      </table>
1012    </td>
1013  </tr>
1014</table>
1015<table cellspacing=5 cellpadding=0 border=0>
1016  <tr>
1017    <td>
1018      &nbsp;
1019    </td>
1020    <td>
1021
1022<p>
1023For dealing with lost devices - release the resource if in the default pool.
1024<p>
1025    </td>
1026  </tr>
1027</table>
1028<a class="anchor" name="Ogre_1_1HardwareVertexBuffera16" doxytag="Ogre::D3D9HardwareIndexBuffer::suppressHardwareUpdate" ></a><p>
1029<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1030  <tr>
1031    <td class="mdRow">
1032      <table cellpadding="0" cellspacing="0" border="0">
1033        <tr>
1034          <td class="md" nowrap valign="top"> void Ogre::HardwareBuffer::suppressHardwareUpdate </td>
1035          <td class="md" valign="top">(&nbsp;</td>
1036          <td class="md" nowrap valign="top">bool&nbsp;</td>
1037          <td class="mdname1" valign="top" nowrap> <em>suppress</em>          </td>
1038          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1039          <td class="md" nowrap><code> [inherited]</code></td>
1040        </tr>
1041
1042      </table>
1043    </td>
1044  </tr>
1045</table>
1046<table cellspacing=5 cellpadding=0 border=0>
1047  <tr>
1048    <td>
1049      &nbsp;
1050    </td>
1051    <td>
1052
1053<p>
1054<a class="el" href="classOgre_1_1Pass.html">Pass</a> true to suppress hardware upload of shadow buffer changes.
1055<p>
1056
1057<p>
1058Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00312">312</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1059  </tr>
1060</table>
1061<a class="anchor" name="Ogre_1_1HardwareVertexBuffera6" doxytag="Ogre::D3D9HardwareIndexBuffer::unlock" ></a><p>
1062<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1063  <tr>
1064    <td class="mdRow">
1065      <table cellpadding="0" cellspacing="0" border="0">
1066        <tr>
1067          <td class="md" nowrap valign="top"> virtual void Ogre::HardwareBuffer::unlock </td>
1068          <td class="md" valign="top">(&nbsp;</td>
1069          <td class="md" nowrap valign="top">void&nbsp;</td>
1070          <td class="mdname1" valign="top" nowrap>          </td>
1071          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1072          <td class="md" nowrap><code> [virtual, inherited]</code></td>
1073        </tr>
1074
1075      </table>
1076    </td>
1077  </tr>
1078</table>
1079<table cellspacing=5 cellpadding=0 border=0>
1080  <tr>
1081    <td>
1082      &nbsp;
1083    </td>
1084    <td>
1085
1086<p>
1087Releases the lock on this buffer.
1088<p>
1089<dl compact><dt><b>Remarks:</b></dt><dd>Locking and unlocking a buffer can, in some rare circumstances such as switching video modes whilst the buffer is locked, corrupt the contents of a buffer. This is pretty rare, but if it occurs, this method will throw an exception, meaning you must re-upload the data. </dd></dl>
1090<dl compact><dt><b></b></dt><dd>Note that using the 'read' and 'write' forms of updating the buffer does not suffer from this problem, so if you want to be 100% sure your data will not be lost, use the 'read' and 'write' forms instead. </dd></dl>
1091
1092<p>
1093Reimplemented in <a class="el" href="classOgre_1_1DefaultHardwareVertexBuffer.html#Ogre_1_1DefaultHardwareVertexBuffera5">Ogre::DefaultHardwareVertexBuffer</a>, <a class="el" href="classOgre_1_1DefaultHardwareIndexBuffer.html#Ogre_1_1DefaultHardwareIndexBuffera5">Ogre::DefaultHardwareIndexBuffer</a>, <a class="el" href="classOgre_1_1GLDefaultHardwareVertexBuffer.html#Ogre_1_1GLDefaultHardwareVertexBuffera5">Ogre::GLDefaultHardwareVertexBuffer</a>, and <a class="el" href="classOgre_1_1GLDefaultHardwareIndexBuffer.html#Ogre_1_1GLDefaultHardwareIndexBuffera5">Ogre::GLDefaultHardwareIndexBuffer</a>.
1094<p>
1095Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00217">217</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.
1096<p>
1097Referenced by <a class="el" href="OgreHardwareBuffer_8h-source.html#l00265">Ogre::HardwareBuffer::copyData()</a>.    </td>
1098  </tr>
1099</table>
1100<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBufferb1" doxytag="Ogre::D3D9HardwareIndexBuffer::unlockImpl" ></a><p>
1101<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1102  <tr>
1103    <td class="mdRow">
1104      <table cellpadding="0" cellspacing="0" border="0">
1105        <tr>
1106          <td class="md" nowrap valign="top"> void Ogre::D3D9HardwareIndexBuffer::unlockImpl </td>
1107          <td class="md" valign="top">(&nbsp;</td>
1108          <td class="md" nowrap valign="top">void&nbsp;</td>
1109          <td class="mdname1" valign="top" nowrap>          </td>
1110          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1111          <td class="md" nowrap><code> [protected, virtual]</code></td>
1112        </tr>
1113
1114      </table>
1115    </td>
1116  </tr>
1117</table>
1118<table cellspacing=5 cellpadding=0 border=0>
1119  <tr>
1120    <td>
1121      &nbsp;
1122    </td>
1123    <td>
1124
1125<p>
1126See <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>.
1127<p>
1128
1129<p>
1130Implements <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferb1">Ogre::HardwareBuffer</a>.    </td>
1131  </tr>
1132</table>
1133<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBuffera3" doxytag="Ogre::D3D9HardwareIndexBuffer::writeData" ></a><p>
1134<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1135  <tr>
1136    <td class="mdRow">
1137      <table cellpadding="0" cellspacing="0" border="0">
1138        <tr>
1139          <td class="md" nowrap valign="top"> void Ogre::D3D9HardwareIndexBuffer::writeData </td>
1140          <td class="md" valign="top">(&nbsp;</td>
1141          <td class="md" nowrap valign="top">size_t&nbsp;</td>
1142          <td class="mdname" nowrap> <em>offset</em>, </td>
1143        </tr>
1144        <tr>
1145          <td class="md" nowrap align="right"></td>
1146          <td></td>
1147          <td class="md" nowrap>size_t&nbsp;</td>
1148          <td class="mdname" nowrap> <em>length</em>, </td>
1149        </tr>
1150        <tr>
1151          <td class="md" nowrap align="right"></td>
1152          <td></td>
1153          <td class="md" nowrap>const void *&nbsp;</td>
1154          <td class="mdname" nowrap> <em>pSource</em>, </td>
1155        </tr>
1156        <tr>
1157          <td class="md" nowrap align="right"></td>
1158          <td></td>
1159          <td class="md" nowrap>bool&nbsp;</td>
1160          <td class="mdname" nowrap> <em>discardWholeBuffer</em> = false</td>
1161        </tr>
1162        <tr>
1163          <td></td>
1164          <td class="md">)&nbsp;</td>
1165          <td class="md" colspan="2"><code> [virtual]</code></td>
1166        </tr>
1167
1168      </table>
1169    </td>
1170  </tr>
1171</table>
1172<table cellspacing=5 cellpadding=0 border=0>
1173  <tr>
1174    <td>
1175      &nbsp;
1176    </td>
1177    <td>
1178
1179<p>
1180See <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>.
1181<p>
1182
1183<p>
1184Implements <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBuffera8">Ogre::HardwareBuffer</a>.    </td>
1185  </tr>
1186</table>
1187<hr><h2>Member Data Documentation</h2>
1188<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBufferp1" doxytag="Ogre::D3D9HardwareIndexBuffer::mD3DPool" ></a><p>
1189<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1190  <tr>
1191    <td class="mdRow">
1192      <table cellpadding="0" cellspacing="0" border="0">
1193        <tr>
1194          <td class="md" nowrap valign="top"> D3DPOOL <a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBufferp1">Ogre::D3D9HardwareIndexBuffer::mD3DPool</a><code> [protected]</code>
1195      </table>
1196    </td>
1197  </tr>
1198</table>
1199<table cellspacing=5 cellpadding=0 border=0>
1200  <tr>
1201    <td>
1202      &nbsp;
1203    </td>
1204    <td>
1205
1206<p>
1207
1208<p>
1209Definition at line <a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html#l00038">38</a> of file <a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html">OgreD3D9HardwareIndexBuffer.h</a>.    </td>
1210  </tr>
1211</table>
1212<a class="anchor" name="Ogre_1_1HardwareIndexBufferp2" doxytag="Ogre::D3D9HardwareIndexBuffer::mIndexSize" ></a><p>
1213<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1214  <tr>
1215    <td class="mdRow">
1216      <table cellpadding="0" cellspacing="0" border="0">
1217        <tr>
1218          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferp2">Ogre::HardwareIndexBuffer::mIndexSize</a><code> [protected, inherited]</code>
1219      </table>
1220    </td>
1221  </tr>
1222</table>
1223<table cellspacing=5 cellpadding=0 border=0>
1224  <tr>
1225    <td>
1226      &nbsp;
1227    </td>
1228    <td>
1229
1230<p>
1231
1232<p>
1233Definition at line <a class="el" href="OgreHardwareIndexBuffer_8h-source.html#l00047">47</a> of file <a class="el" href="OgreHardwareIndexBuffer_8h-source.html">OgreHardwareIndexBuffer.h</a>.    </td>
1234  </tr>
1235</table>
1236<a class="anchor" name="Ogre_1_1HardwareIndexBufferp0" doxytag="Ogre::D3D9HardwareIndexBuffer::mIndexType" ></a><p>
1237<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1238  <tr>
1239    <td class="mdRow">
1240      <table cellpadding="0" cellspacing="0" border="0">
1241        <tr>
1242          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferw2">IndexType</a> <a class="el" href="classOgre_1_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferp0">Ogre::HardwareIndexBuffer::mIndexType</a><code> [protected, inherited]</code>
1243      </table>
1244    </td>
1245  </tr>
1246</table>
1247<table cellspacing=5 cellpadding=0 border=0>
1248  <tr>
1249    <td>
1250      &nbsp;
1251    </td>
1252    <td>
1253
1254<p>
1255
1256<p>
1257Definition at line <a class="el" href="OgreHardwareIndexBuffer_8h-source.html#l00045">45</a> of file <a class="el" href="OgreHardwareIndexBuffer_8h-source.html">OgreHardwareIndexBuffer.h</a>.    </td>
1258  </tr>
1259</table>
1260<a class="anchor" name="Ogre_1_1HardwareVertexBufferp4" doxytag="Ogre::D3D9HardwareIndexBuffer::mIsLocked" ></a><p>
1261<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1262  <tr>
1263    <td class="mdRow">
1264      <table cellpadding="0" cellspacing="0" border="0">
1265        <tr>
1266          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp4">Ogre::HardwareBuffer::mIsLocked</a><code> [protected, inherited]</code>
1267      </table>
1268    </td>
1269  </tr>
1270</table>
1271<table cellspacing=5 cellpadding=0 border=0>
1272  <tr>
1273    <td>
1274      &nbsp;
1275    </td>
1276    <td>
1277
1278<p>
1279
1280<p>
1281Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00133">133</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1282  </tr>
1283</table>
1284<a class="anchor" name="Ogre_1_1HardwareVertexBufferp6" doxytag="Ogre::D3D9HardwareIndexBuffer::mLockSize" ></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"> size_t <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp6">Ogre::HardwareBuffer::mLockSize</a><code> [protected, inherited]</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="OgreHardwareBuffer_8h-source.html#l00135">135</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1306  </tr>
1307</table>
1308<a class="anchor" name="Ogre_1_1HardwareVertexBufferp5" doxytag="Ogre::D3D9HardwareIndexBuffer::mLockStart" ></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_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp5">Ogre::HardwareBuffer::mLockStart</a><code> [protected, inherited]</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="OgreHardwareBuffer_8h-source.html#l00134">134</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1330  </tr>
1331</table>
1332<a class="anchor" name="Ogre_1_1D3D9HardwareIndexBufferp0" doxytag="Ogre::D3D9HardwareIndexBuffer::mlpD3DBuffer" ></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"> LPDIRECT3DINDEXBUFFER9 <a class="el" href="classOgre_1_1D3D9HardwareIndexBuffer.html#Ogre_1_1D3D9HardwareIndexBufferp0">Ogre::D3D9HardwareIndexBuffer::mlpD3DBuffer</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>
1351
1352<p>
1353Definition at line <a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html#l00037">37</a> of file <a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html">OgreD3D9HardwareIndexBuffer.h</a>.
1354<p>
1355Referenced by <a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html#l00059">getD3DIndexBuffer()</a>.    </td>
1356  </tr>
1357</table>
1358<a class="anchor" name="Ogre_1_1HardwareIndexBufferp1" doxytag="Ogre::D3D9HardwareIndexBuffer::mNumIndexes" ></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_1HardwareIndexBuffer.html#Ogre_1_1HardwareIndexBufferp1">Ogre::HardwareIndexBuffer::mNumIndexes</a><code> [protected, inherited]</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="OgreHardwareIndexBuffer_8h-source.html#l00046">46</a> of file <a class="el" href="OgreHardwareIndexBuffer_8h-source.html">OgreHardwareIndexBuffer.h</a>.    </td>
1380  </tr>
1381</table>
1382<a class="anchor" name="Ogre_1_1HardwareVertexBufferp9" doxytag="Ogre::D3D9HardwareIndexBuffer::mpShadowBuffer" ></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"> <a class="el" href="classOgre_1_1HardwareBuffer.html">HardwareBuffer</a>* <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp9">Ogre::HardwareBuffer::mpShadowBuffer</a><code> [protected, inherited]</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>
1401
1402<p>
1403Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00138">138</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1404  </tr>
1405</table>
1406<a class="anchor" name="Ogre_1_1HardwareVertexBufferp10" doxytag="Ogre::D3D9HardwareIndexBuffer::mShadowUpdated" ></a><p>
1407<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1408  <tr>
1409    <td class="mdRow">
1410      <table cellpadding="0" cellspacing="0" border="0">
1411        <tr>
1412          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp10">Ogre::HardwareBuffer::mShadowUpdated</a><code> [protected, inherited]</code>
1413      </table>
1414    </td>
1415  </tr>
1416</table>
1417<table cellspacing=5 cellpadding=0 border=0>
1418  <tr>
1419    <td>
1420      &nbsp;
1421    </td>
1422    <td>
1423
1424<p>
1425
1426<p>
1427Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00139">139</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1428  </tr>
1429</table>
1430<a class="anchor" name="Ogre_1_1HardwareVertexBufferp2" doxytag="Ogre::D3D9HardwareIndexBuffer::mSizeInBytes" ></a><p>
1431<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1432  <tr>
1433    <td class="mdRow">
1434      <table cellpadding="0" cellspacing="0" border="0">
1435        <tr>
1436          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp2">Ogre::HardwareBuffer::mSizeInBytes</a><code> [protected, inherited]</code>
1437      </table>
1438    </td>
1439  </tr>
1440</table>
1441<table cellspacing=5 cellpadding=0 border=0>
1442  <tr>
1443    <td>
1444      &nbsp;
1445    </td>
1446    <td>
1447
1448<p>
1449
1450<p>
1451Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00131">131</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1452  </tr>
1453</table>
1454<a class="anchor" name="Ogre_1_1HardwareVertexBufferp11" doxytag="Ogre::D3D9HardwareIndexBuffer::mSuppressHardwareUpdate" ></a><p>
1455<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1456  <tr>
1457    <td class="mdRow">
1458      <table cellpadding="0" cellspacing="0" border="0">
1459        <tr>
1460          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp11">Ogre::HardwareBuffer::mSuppressHardwareUpdate</a><code> [protected, inherited]</code>
1461      </table>
1462    </td>
1463  </tr>
1464</table>
1465<table cellspacing=5 cellpadding=0 border=0>
1466  <tr>
1467    <td>
1468      &nbsp;
1469    </td>
1470    <td>
1471
1472<p>
1473
1474<p>
1475Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00140">140</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1476  </tr>
1477</table>
1478<a class="anchor" name="Ogre_1_1HardwareVertexBufferp7" doxytag="Ogre::D3D9HardwareIndexBuffer::mSystemMemory" ></a><p>
1479<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1480  <tr>
1481    <td class="mdRow">
1482      <table cellpadding="0" cellspacing="0" border="0">
1483        <tr>
1484          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp7">Ogre::HardwareBuffer::mSystemMemory</a><code> [protected, inherited]</code>
1485      </table>
1486    </td>
1487  </tr>
1488</table>
1489<table cellspacing=5 cellpadding=0 border=0>
1490  <tr>
1491    <td>
1492      &nbsp;
1493    </td>
1494    <td>
1495
1496<p>
1497
1498<p>
1499Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00136">136</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1500  </tr>
1501</table>
1502<a class="anchor" name="Ogre_1_1HardwareVertexBufferp3" doxytag="Ogre::D3D9HardwareIndexBuffer::mUsage" ></a><p>
1503<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1504  <tr>
1505    <td class="mdRow">
1506      <table cellpadding="0" cellspacing="0" border="0">
1507        <tr>
1508          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferw11">Usage</a> <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp3">Ogre::HardwareBuffer::mUsage</a><code> [protected, inherited]</code>
1509      </table>
1510    </td>
1511  </tr>
1512</table>
1513<table cellspacing=5 cellpadding=0 border=0>
1514  <tr>
1515    <td>
1516      &nbsp;
1517    </td>
1518    <td>
1519
1520<p>
1521
1522<p>
1523Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00132">132</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1524  </tr>
1525</table>
1526<a class="anchor" name="Ogre_1_1HardwareVertexBufferp8" doxytag="Ogre::D3D9HardwareIndexBuffer::mUseShadowBuffer" ></a><p>
1527<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
1528  <tr>
1529    <td class="mdRow">
1530      <table cellpadding="0" cellspacing="0" border="0">
1531        <tr>
1532          <td class="md" nowrap valign="top"> bool <a class="el" href="classOgre_1_1HardwareBuffer.html#Ogre_1_1HardwareVertexBufferp8">Ogre::HardwareBuffer::mUseShadowBuffer</a><code> [protected, inherited]</code>
1533      </table>
1534    </td>
1535  </tr>
1536</table>
1537<table cellspacing=5 cellpadding=0 border=0>
1538  <tr>
1539    <td>
1540      &nbsp;
1541    </td>
1542    <td>
1543
1544<p>
1545
1546<p>
1547Definition at line <a class="el" href="OgreHardwareBuffer_8h-source.html#l00137">137</a> of file <a class="el" href="OgreHardwareBuffer_8h-source.html">OgreHardwareBuffer.h</a>.    </td>
1548  </tr>
1549</table>
1550<hr>The documentation for this class was generated from the following file:<ul>
1551<li><a class="el" href="OgreD3D9HardwareIndexBuffer_8h-source.html">OgreD3D9HardwareIndexBuffer.h</a></ul>
1552<hr>
1553<p>
1554Copyright &copy; 2000-2005 by The OGRE Team<br />
1555<!--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/>
1556This 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/>
1557                <!--/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#">
1558                <Work rdf:about="">
1559                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
1560        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
1561                </Work>
1562                <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> -->
1563
1564Last modified Sun Feb 12 13:08:44 2006
1565</p>
1566</body>
1567</html>
Note: See TracBrowser for help on using the repository browser.