diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a03698.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a03698.html')
-rw-r--r-- | docs/doxygen/nel/a03698.html | 1041 |
1 files changed, 1041 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03698.html b/docs/doxygen/nel/a03698.html new file mode 100644 index 00000000..475b542f --- /dev/null +++ b/docs/doxygen/nel/a03698.html @@ -0,0 +1,1041 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NL3D::CVertexBufferHeap class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NL3D::CVertexBufferHeap Class Reference</h1><code>#include <<a class="el" href="a06715.html">vertex_buffer_heap.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +A vertex buffer used to group lot of static VB in it. Work with VBHard where available. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00046">46</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapa0">CVertexBufferHeap</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#NL3D_1_1CVertexBufferHeapa0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapa1">~CVertexBufferHeap</a> ()</td></tr> + +<tr><td colspan="2"><div class="groupHeader">Rendering. Those methods must be called only if enabled(), else crash</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1162_0">activate</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">activate the VB/VBHard as the current VB in the driver, for future rendering <a href="#NL3D_1_1CVertexBufferHeapz1162_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1162_1">lock</a> (<a class="el" href="a04558.html#a15">uint</a> indexStart)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">lock the VB/VBHard, for future filling <a href="#NL3D_1_1CVertexBufferHeapz1162_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1162_2">unlock</a> (<a class="el" href="a04558.html#a15">uint</a> startVert, <a class="el" href="a04558.html#a15">uint</a> endVert)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">unlock the VB/VBHard. Mirror the IVertexBufferHard::unlock(start, end) scheme. <a href="#NL3D_1_1CVertexBufferHeapz1162_2"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Allocation.</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1160_0">allocate</a> (<a class="el" href="a04558.html#a15">uint</a> numVertices, <a class="el" href="a04558.html#a15">uint</a> &indexStart)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">allocate a subset of the VB. false if cannot (not enough space/too big). <a href="#NL3D_1_1CVertexBufferHeapz1160_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1160_1">free</a> (<a class="el" href="a04558.html#a15">uint</a> indexStart)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">free a subset of the VB. nlstop if subset not found... <a href="#NL3D_1_1CVertexBufferHeapz1160_1"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Init/Setup</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_0">enabled</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">false if any error at init, or if <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_5">init()</a> not called <a href="#NL3D_1_1CVertexBufferHeapz1158_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02434.html">IDriver</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_1">getDriver</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">return the driver used. <a href="#NL3D_1_1CVertexBufferHeapz1158_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_2">getMaxVertices</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get max vertices the Buffer allows. <a href="#NL3D_1_1CVertexBufferHeapz1158_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_3">getVertexFormat</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the vertexFormat <a href="#NL3D_1_1CVertexBufferHeapz1158_3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_4">getVertexSize</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the vertexSize <a href="#NL3D_1_1CVertexBufferHeapz1158_4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_5">init</a> (<a class="el" href="a02434.html">IDriver</a> *driver, <a class="el" href="a04558.html#a15">uint</a> vertexFormat, <a class="el" href="a04558.html#a15">uint</a> maxVertices)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the vertex buffer heap. It use a VBHard if possible. else a std <a class="el" href="a03692.html">CVertexBuffer</a> is used. <a href="#NL3D_1_1CVertexBufferHeapz1158_5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_6">release</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">release the VB. <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_5">init()</a> can be called after this. <a href="#NL3D_1_1CVertexBufferHeapz1158_6"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>< <a class="el" href="a02434.html">IDriver</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr0">_Driver</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr1">_Enabled</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">_HardMode</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02627.html">NLMISC::CHeapMemory</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr3">_HeapManager</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">_HeapStart</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr5">_MaxVertices</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>< <a class="el" href="a03694.html">IVertexBufferHard</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03692.html">CVertexBuffer</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr8">_VertexFormat</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">_VertexSize</a></td></tr> + +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapa0" doxytag="NL3D::CVertexBufferHeap::CVertexBufferHeap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NL3D::CVertexBufferHeap::CVertexBufferHeap </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor. +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00038">38</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06715.html#l00106">_HardMode</a>, <a class="el" href="a06715.html#l00104">_HeapStart</a>, <a class="el" href="a06715.html#l00110">_MaxVertices</a>, and <a class="el" href="a06715.html#l00108">_VertexFormat</a>. +<p> +<div class="fragment"><pre>00039 { +00040 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr1">_Enabled</a>= <span class="keyword">false</span>; +00041 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">_HardMode</a>= <span class="keyword">false</span>; +00042 +00043 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">_HeapStart</a>= NULL; +00044 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr8">_VertexFormat</a>= 0; +00045 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">_VertexSize</a>= 0; +00046 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr5">_MaxVertices</a>= 0; +00047 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapa1" doxytag="NL3D::CVertexBufferHeap::~CVertexBufferHeap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NL3D::CVertexBufferHeap::~<a class="el" href="a03698.html">CVertexBufferHeap</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00050">50</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06714.html#l00103">release()</a>. +<p> +<div class="fragment"><pre>00051 { +00052 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_6">release</a>(); +00053 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1162_0" doxytag="NL3D::CVertexBufferHeap::activate" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NL3D::CVertexBufferHeap::activate </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +activate the VB/VBHard as the current VB in the driver, for future rendering +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00179">179</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06715.html#l00106">_HardMode</a>, <a class="el" href="a06715.html#l00102">_VBSoft</a>, <a class="el" href="a06715.html#l00062">enabled()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +Referenced by <a class="el" href="a05997.html#l00114">NL3D::CMeshBlockManager::flush()</a>. +<p> +<div class="fragment"><pre>00180 { +00181 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_0">enabled</a>()); +00182 +00183 <span class="keywordflow">if</span>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">_HardMode</a>) +00184 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr0">_Driver</a>->activeVertexBufferHard(_VBHard); +00185 <span class="keywordflow">else</span> +00186 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr0">_Driver</a>->activeVertexBuffer(_VBSoft); +00187 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1160_0" doxytag="NL3D::CVertexBufferHeap::allocate" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NL3D::CVertexBufferHeap::allocate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>numVertices</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> & </td> + <td class="mdname" nowrap> <em>indexStart</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +allocate a subset of the VB. false if cannot (not enough space/too big). +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00125">125</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06715.html#l00103">_HeapManager</a>, <a class="el" href="a06715.html#l00104">_HeapStart</a>, <a class="el" href="a05781.html#l00118">NLMISC::CHeapMemory::allocate()</a>, <a class="el" href="a06715.html#l00062">enabled()</a>, <a class="el" href="a06715.html#l00068">getVertexSize()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a05997.html#l00274">NL3D::CMeshBlockManager::allocateMeshVBHeap()</a>. +<p> +<div class="fragment"><pre>00126 { +00127 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_0">enabled</a>()); +00128 +00129 <span class="comment">// allocate into the heap ?</span> +00130 <a class="code" href="a04558.html#a7">uint8</a> *ptr= (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr3">_HeapManager</a>.<a class="code" href="a02627.html#NLMISC_1_1CHeapMemorya0">allocate</a>(numVertices*<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_4">getVertexSize</a>()); +00131 <span class="keywordflow">if</span>(!ptr) +00132 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00133 <span class="keywordflow">else</span> +00134 { +00135 <span class="comment">// compute vertex index</span> +00136 indexStart= (<a class="code" href="a04558.html#a15">uint</a>)(ptr-<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">_HeapStart</a>); +00137 indexStart/= <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">_VertexSize</a>; +00138 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00139 } +00140 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1158_0" doxytag="NL3D::CVertexBufferHeap::enabled" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NL3D::CVertexBufferHeap::enabled </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +false if any error at init, or if <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_5">init()</a> not called +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00062">62</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00179">activate()</a>, <a class="el" href="a06714.html#l00125">allocate()</a>, <a class="el" href="a06714.html#l00142">free()</a>, <a class="el" href="a06714.html#l00153">lock()</a>, and <a class="el" href="a06714.html#l00171">unlock()</a>. +<p> +<div class="fragment"><pre>00062 {<span class="keywordflow">return</span> <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr1">_Enabled</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1160_1" doxytag="NL3D::CVertexBufferHeap::free" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NL3D::CVertexBufferHeap::free </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>indexStart</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +free a subset of the VB. nlstop if subset not found... +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00142">142</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06715.html#l00103">_HeapManager</a>, <a class="el" href="a06715.html#l00104">_HeapStart</a>, <a class="el" href="a06715.html#l00062">enabled()</a>, <a class="el" href="a05781.html#l00173">NLMISC::CHeapMemory::free()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a05997.html#l00334">NL3D::CMeshBlockManager::freeMeshVBHeap()</a>. +<p> +<div class="fragment"><pre>00143 { +00144 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_0">enabled</a>()); +00145 +00146 <span class="comment">// compute ptr to free</span> +00147 <a class="code" href="a04558.html#a7">uint8</a> *ptr= <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">_HeapStart</a> + indexStart*<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">_VertexSize</a>; +00148 <span class="comment">// free it.</span> +00149 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr3">_HeapManager</a>.<a class="code" href="a02627.html#NLMISC_1_1CHeapMemorya2">free</a>(ptr); +00150 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1158_1" doxytag="NL3D::CVertexBufferHeap::getDriver" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a02434.html">IDriver</a>* NL3D::CVertexBufferHeap::getDriver </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +return the driver used. +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00064">64</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +<div class="fragment"><pre>00064 {<span class="keywordflow">return</span> <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr0">_Driver</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1158_2" doxytag="NL3D::CVertexBufferHeap::getMaxVertices" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CVertexBufferHeap::getMaxVertices </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get max vertices the Buffer allows. +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00070">70</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +References <a class="el" href="a06715.html#l00110">_MaxVertices</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00070 {<span class="keywordflow">return</span> <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr5">_MaxVertices</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1158_3" doxytag="NL3D::CVertexBufferHeap::getVertexFormat" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CVertexBufferHeap::getVertexFormat </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the vertexFormat +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00066">66</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +References <a class="el" href="a06715.html#l00108">_VertexFormat</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00066 {<span class="keywordflow">return</span> <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr8">_VertexFormat</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1158_4" doxytag="NL3D::CVertexBufferHeap::getVertexSize" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CVertexBufferHeap::getVertexSize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the vertexSize +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00068">68</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00125">allocate()</a>. +<p> +<div class="fragment"><pre>00068 {<span class="keywordflow">return</span> <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">_VertexSize</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1158_5" doxytag="NL3D::CVertexBufferHeap::init" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NL3D::CVertexBufferHeap::init </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02434.html">IDriver</a> * </td> + <td class="mdname" nowrap> <em>driver</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>vertexFormat</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>maxVertices</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Create the vertex buffer heap. It use a VBHard if possible. else a std <a class="el" href="a03692.html">CVertexBuffer</a> is used. +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00056">56</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06715.html#l00106">_HardMode</a>, <a class="el" href="a06715.html#l00103">_HeapManager</a>, <a class="el" href="a06715.html#l00104">_HeapStart</a>, <a class="el" href="a06715.html#l00110">_MaxVertices</a>, <a class="el" href="a06715.html#l00102">_VBSoft</a>, <a class="el" href="a06715.html#l00108">_VertexFormat</a>, <a class="el" href="a06711.html#l00504">NL3D::CVertexBuffer::getUVRouting()</a>, <a class="el" href="a06711.html#l00483">NL3D::CVertexBuffer::getValueTypePointer()</a>, <a class="el" href="a06710.html#l00438">NL3D::CVertexBuffer::getVertexCoordPointer()</a>, <a class="el" href="a06711.html#l00319">NL3D::CVertexBuffer::getVertexFormat()</a>, <a class="el" href="a06711.html#l00473">NL3D::CVertexBuffer::getVertexSize()</a>, <a class="el" href="a05781.html#l00064">NLMISC::CHeapMemory::initHeap()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06714.html#l00103">release()</a>, <a class="el" href="a06710.html#l00409">NL3D::CVertexBuffer::setNumVertices()</a>, <a class="el" href="a06710.html#l00169">NL3D::CVertexBuffer::setVertexFormat()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a05997.html#l00393">NL3D::CMeshBlockManager::addVBHeap()</a>. +<p> +<div class="fragment"><pre>00057 { +00058 <a class="code" href="a04199.html#a6">nlassert</a>(driver); +00059 <span class="comment">// clean before.</span> +00060 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_6">release</a>(); +00061 +00062 <span class="comment">// setup</span> +00063 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr0">_Driver</a>= driver; +00064 +00065 <span class="comment">// setup the vertexBuffer soft with queried info.</span> +00066 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.setVertexFormat(vertexFormat); +00067 <span class="comment">// VertexSize must be a multitple of 4 (Heap alignement ...)</span> +00068 <a class="code" href="a04199.html#a6">nlassert</a>( (<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.getVertexSize()&3) == 0); +00069 +00070 <span class="comment">// create the VBHard, if possible</span> +00071 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>= driver->createVertexBufferHard(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.getVertexFormat(), <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.getValueTypePointer(), maxVertices, IDriver::VBHardAGP, <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.getUVRouting()); +00072 +00073 <span class="comment">// Ok</span> +00074 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr1">_Enabled</a>= <span class="keyword">true</span>; +00075 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr8">_VertexFormat</a>= <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.getVertexFormat(); +00076 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">_VertexSize</a>= <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.getVertexSize(); +00077 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr5">_MaxVertices</a>= maxVertices; +00078 +00079 <span class="comment">// Use hard or soft ???</span> +00080 <span class="keywordflow">if</span>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>) +00081 { +00082 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">_HardMode</a>= <span class="keyword">true</span>; +00083 <span class="comment">// setup heap start with good AGP ptr.</span> +00084 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">_HeapStart</a>= (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>->lock(); +00085 <span class="comment">// just a gestion lock, no vertices have changed.</span> +00086 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>->unlock(0,0); +00087 <span class="comment">// In essence, the VBHeap is rarely modified (but on mesh loading). => set it static</span> +00088 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>->lockHintStatic(<span class="keyword">true</span>); +00089 } +00090 <span class="keywordflow">else</span> +00091 { +00092 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">_HardMode</a>= <span class="keyword">false</span>; +00093 <span class="comment">// => allocate soft one.</span> +00094 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.setNumVertices(maxVertices); +00095 <span class="comment">// setup heap start with good ptr.</span> +00096 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">_HeapStart</a>= (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">_VBSoft</a>.getVertexCoordPointer(); +00097 } +00098 +00099 <span class="comment">// setup heap Manager with good ptr.</span> +00100 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr3">_HeapManager</a>.<a class="code" href="a02627.html#NLMISC_1_1CHeapMemorya5">initHeap</a>(_HeapStart, _MaxVertices*_VertexSize); +00101 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1162_1" doxytag="NL3D::CVertexBufferHeap::lock" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> * NL3D::CVertexBufferHeap::lock </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>indexStart</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +lock the VB/VBHard, for future filling +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00153">153</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06715.html#l00106">_HardMode</a>, <a class="el" href="a06715.html#l00104">_HeapStart</a>, <a class="el" href="a06715.html#l00062">enabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a05997.html#l00274">NL3D::CMeshBlockManager::allocateMeshVBHeap()</a>, and <a class="el" href="a05997.html#l00177">NL3D::CMeshBlockManager::render()</a>. +<p> +<div class="fragment"><pre>00154 { +00155 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_0">enabled</a>()); +00156 +00157 <a class="code" href="a04558.html#a7">uint8</a> *ptr; +00158 <span class="keywordflow">if</span>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">_HardMode</a>) +00159 { +00160 <span class="comment">// lock the vbHard</span> +00161 ptr= (<a class="code" href="a04558.html#a7">uint8</a>*)<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>->lock(); +00162 <a class="code" href="a04199.html#a6">nlassert</a>(ptr==_HeapStart); +00163 } +00164 <span class="keywordflow">else</span> +00165 ptr= <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">_HeapStart</a>; +00166 +00167 <span class="comment">// index it with index</span> +00168 <span class="keywordflow">return</span> ptr + indexStart*<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">_VertexSize</a>; +00169 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1158_6" doxytag="NL3D::CVertexBufferHeap::release" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NL3D::CVertexBufferHeap::release </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +release the VB. <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_5">init()</a> can be called after this. +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00103">103</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06715.html#l00106">_HardMode</a>, <a class="el" href="a06715.html#l00103">_HeapManager</a>, <a class="el" href="a06715.html#l00104">_HeapStart</a>, <a class="el" href="a06715.html#l00110">_MaxVertices</a>, <a class="el" href="a06715.html#l00102">_VBSoft</a>, <a class="el" href="a06715.html#l00108">_VertexFormat</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00056">init()</a>, and <a class="el" href="a06714.html#l00050">~CVertexBufferHeap()</a>. +<p> +<div class="fragment"><pre>00104 { +00105 <span class="keywordflow">if</span>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>) +00106 { +00107 <a class="code" href="a04199.html#a6">nlassert</a>(_Driver); +00108 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr0">_Driver</a>->deleteVertexBufferHard(_VBHard); +00109 } +00110 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>= NULL; +00111 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr0">_Driver</a>= NULL; +00112 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">_HeapStart</a>= NULL; +00113 <span class="comment">// release all memory</span> +00114 <a class="code" href="a05378.html#a381">contReset</a>(_VBSoft); +00115 <a class="code" href="a05378.html#a381">contReset</a>(_HeapManager); +00116 +00117 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr1">_Enabled</a>= <span class="keyword">false</span>; +00118 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">_HardMode</a>= <span class="keyword">false</span>; +00119 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr8">_VertexFormat</a>= 0; +00120 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">_VertexSize</a>= 0; +00121 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr5">_MaxVertices</a>= 0; +00122 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapz1162_2" doxytag="NL3D::CVertexBufferHeap::unlock" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NL3D::CVertexBufferHeap::unlock </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>startVert</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>endVert</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +unlock the VB/VBHard. Mirror the IVertexBufferHard::unlock(start, end) scheme. +<p> + +<p> +Definition at line <a class="el" href="a06714.html#l00171">171</a> of file <a class="el" href="a06714.html">vertex_buffer_heap.cpp</a>. +<p> +References <a class="el" href="a06715.html#l00106">_HardMode</a>, <a class="el" href="a06715.html#l00062">enabled()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05997.html#l00274">NL3D::CMeshBlockManager::allocateMeshVBHeap()</a>, and <a class="el" href="a05997.html#l00177">NL3D::CMeshBlockManager::render()</a>. +<p> +<div class="fragment"><pre>00172 { +00173 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapz1158_0">enabled</a>()); +00174 +00175 <span class="keywordflow">if</span>(<a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">_HardMode</a>) +00176 <a class="code" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">_VBHard</a>->unlock(startVert, endVert); +00177 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr0" doxytag="NL3D::CVertexBufferHeap::_Driver" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03321.html">NLMISC::CRefPtr</a><<a class="el" href="a02434.html">IDriver</a>> <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr0">NL3D::CVertexBufferHeap::_Driver</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00100">100</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr1" doxytag="NL3D::CVertexBufferHeap::_Enabled" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr1">NL3D::CVertexBufferHeap::_Enabled</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00105">105</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr2" doxytag="NL3D::CVertexBufferHeap::_HardMode" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr2">NL3D::CVertexBufferHeap::_HardMode</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00106">106</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00179">activate()</a>, <a class="el" href="a06714.html#l00038">CVertexBufferHeap()</a>, <a class="el" href="a06714.html#l00056">init()</a>, <a class="el" href="a06714.html#l00153">lock()</a>, <a class="el" href="a06714.html#l00103">release()</a>, and <a class="el" href="a06714.html#l00171">unlock()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr3" doxytag="NL3D::CVertexBufferHeap::_HeapManager" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a02627.html">NLMISC::CHeapMemory</a> <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr3">NL3D::CVertexBufferHeap::_HeapManager</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00103">103</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00125">allocate()</a>, <a class="el" href="a06714.html#l00142">free()</a>, <a class="el" href="a06714.html#l00056">init()</a>, and <a class="el" href="a06714.html#l00103">release()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr4" doxytag="NL3D::CVertexBufferHeap::_HeapStart" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a>* <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr4">NL3D::CVertexBufferHeap::_HeapStart</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00104">104</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00125">allocate()</a>, <a class="el" href="a06714.html#l00038">CVertexBufferHeap()</a>, <a class="el" href="a06714.html#l00142">free()</a>, <a class="el" href="a06714.html#l00056">init()</a>, <a class="el" href="a06714.html#l00153">lock()</a>, and <a class="el" href="a06714.html#l00103">release()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr5" doxytag="NL3D::CVertexBufferHeap::_MaxVertices" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr5">NL3D::CVertexBufferHeap::_MaxVertices</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00110">110</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00038">CVertexBufferHeap()</a>, <a class="el" href="a06715.html#l00070">getMaxVertices()</a>, <a class="el" href="a06714.html#l00056">init()</a>, and <a class="el" href="a06714.html#l00103">release()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr6" doxytag="NL3D::CVertexBufferHeap::_VBHard" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03321.html">NLMISC::CRefPtr</a><<a class="el" href="a03694.html">IVertexBufferHard</a>> <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr6">NL3D::CVertexBufferHeap::_VBHard</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00101">101</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr7" doxytag="NL3D::CVertexBufferHeap::_VBSoft" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a03692.html">CVertexBuffer</a> <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr7">NL3D::CVertexBufferHeap::_VBSoft</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00102">102</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00179">activate()</a>, <a class="el" href="a06714.html#l00056">init()</a>, and <a class="el" href="a06714.html#l00103">release()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr8" doxytag="NL3D::CVertexBufferHeap::_VertexFormat" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr8">NL3D::CVertexBufferHeap::_VertexFormat</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00108">108</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. +<p> +Referenced by <a class="el" href="a06714.html#l00038">CVertexBufferHeap()</a>, <a class="el" href="a06715.html#l00066">getVertexFormat()</a>, <a class="el" href="a06714.html#l00056">init()</a>, and <a class="el" href="a06714.html#l00103">release()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVertexBufferHeapr9" doxytag="NL3D::CVertexBufferHeap::_VertexSize" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a03698.html#NL3D_1_1CVertexBufferHeapr9">NL3D::CVertexBufferHeap::_VertexSize</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06715.html#l00109">109</a> of file <a class="el" href="a06715.html">vertex_buffer_heap.h</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06715.html">vertex_buffer_heap.h</a><li><a class="el" href="a06714.html">vertex_buffer_heap.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 08:25:41 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |