aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02418.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a02418.html')
-rw-r--r--docs/doxygen/nel/a02418.html574
1 files changed, 574 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02418.html b/docs/doxygen/nel/a02418.html
new file mode 100644
index 00000000..ff84e067
--- /dev/null
+++ b/docs/doxygen/nel/a02418.html
@@ -0,0 +1,574 @@
+<!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: TemplateNLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt; 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&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">Data&nbsp;Structures</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">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt; Class Template Reference</h1><code>#include &lt;<a class="el" href="a05612.html">context_sound.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;:
+<p><center><img src="a02418.png" usemap="#NLSOUND::CContextSoundContainer< NbJoker, UseRandom, Shift >_map" border="0" alt=""></center>
+<map name="NLSOUND::CContextSoundContainer< NbJoker, UseRandom, Shift >_map">
+<area href="a03849.html" alt="NLSOUND::IContextSoundContainer" shape="rect" coords="0,0,401,24">
+</map>
+<h3>template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt;<br>
+ class NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;</h3>
+
+<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Private Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom>{ <a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainery0NLSOUND_1_1CContextSoundContainery1">JOKER_ARRAY_SIZE</a> = (NbJoker == 0 ? 1 : NbJoker)
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::hash_map&lt; <a class="el" href="a02415.html">CContextMatcher</a>&lt;<br>
+ NbJoker, UseRandom, Shift &gt;,<br>
+ <a class="el" href="a02246.html">CSound</a> *, <a class="el" href="a02415.html">CContextMatcher</a>&lt;<br>
+ NbJoker, UseRandom, Shift <br>
+&gt;::CHash &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainery2">THashContextSound</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerd0">addSound</a> (<a class="el" href="a02246.html">CSound</a> *sound, const std::string &amp;baseName)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerd1">getMaxDistance</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a02246.html">CSound</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerd2">getSound</a> (const <a class="el" href="a03417.html">CSoundContext</a> &amp;context, <a class="el" href="a04558.html#a11">uint32</a> randomValue)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerd3">getSoundList</a> (std::vector&lt; std::pair&lt; std::string, <a class="el" href="a02246.html">CSound</a> * &gt; &gt; &amp;subsounds) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerd4">init</a> (<a class="el" href="a04558.html#a15">uint</a> *contextArgsIndex)</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="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerr0">_ContextArgsIndex</a> [JOKER_ARRAY_SIZE]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainery2">THashContextSound</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerr2">_MaxDist</a></td></tr>
+
+</table>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainery2" doxytag="NLSOUND::CContextSoundContainer::THashContextSound" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::hash_map&lt;<a class="el" href="a02415.html">CContextMatcher</a>&lt;NbJoker, UseRandom, Shift&gt;, <a class="el" href="a02246.html">CSound</a> *, <a class="el" href="a02415.html">CContextMatcher</a>&lt;NbJoker, UseRandom, Shift&gt;::CHash&gt; <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::<a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainery2">THashContextSound</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05612.html#l00123">123</a> of file <a class="el" href="a05612.html">context_sound.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainery0" doxytag="NLSOUND::CContextSoundContainer::@60" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> anonymous enum<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CContextSoundContainery0NLSOUND_1_1CContextSoundContainery1" doxytag="JOKER_ARRAY_SIZE" ></a>JOKER_ARRAY_SIZE</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05612.html#l00117">117</a> of file <a class="el" href="a05612.html">context_sound.h</a>.
+<p>
+<div class="fragment"><pre>00118 {
+00119 <span class="comment">// Size of array : special case for 0 joker because we can't declare array of 0 elements</span>
+00120 <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainery0NLSOUND_1_1CContextSoundContainery1">JOKER_ARRAY_SIZE</a> = (NbJoker == 0 ? 1 : NbJoker)
+00121 };
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainerd0" doxytag="NLSOUND::CContextSoundContainer::addSound" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::addSound </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02246.html">CSound</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>sound</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>baseName</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, private, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03849.html#NLSOUND_1_1IContextSoundContainera0">NLSOUND::IContextSoundContainer</a>.
+<p>
+Definition at line <a class="el" href="a05612.html#l00136">136</a> of file <a class="el" href="a05612.html">context_sound.h</a>.
+<p>
+References <a class="el" href="a05612.html#l00274">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::_ContextSounds</a>, <a class="el" href="a06407.html#l00110">NLSOUND::CSound::getMaxDistance()</a>, <a class="el" href="a06407.html#l00108">NLSOUND::CSound::getName()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00137 {
+00138 <span class="keyword">const</span> std::string &amp;patternName = CStringMapper::unmap(sound-&gt;getName());
+00139 <a class="code" href="a04199.html#a6">nlassert</a>(patternName.size() &gt;= baseName.size());
+00140
+00141 std::string arg;
+00142 <a class="code" href="a04558.html#a11">uint32</a> args[<a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainery0NLSOUND_1_1CContextSoundContainery1">JOKER_ARRAY_SIZE</a>];
+00143
+00144 <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr2">_MaxDist</a> = std::max(sound-&gt;getMaxDistance(), <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr2">_MaxDist</a>);
+00145
+00146 <span class="comment">// extract the context values</span>
+00147 std::string::const_iterator first(patternName.begin() + baseName.size()), last(patternName.end());
+00148 <span class="comment">// std::string::const_iterator first2(baseName.begin()), last2(baseName.end());</span>
+00149 <span class="comment">// 1st, skip the base name </span>
+00150 <span class="comment">// for (; first == first2; ++first, ++first2);</span>
+00151
+00152 <span class="comment">// 2nd, read all the joker values</span>
+00153 <a class="code" href="a04558.html#a15">uint</a> i;
+00154 <span class="keywordflow">for</span> ( i=0; i&lt;NbJoker &amp;&amp; first != last; ++first)
+00155 {
+00156 <span class="keywordflow">if</span> (isdigit(<span class="keywordtype">int</span>(*first)))
+00157 {
+00158 arg += *first;
+00159 }
+00160 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!arg.empty())
+00161 {
+00162 <span class="comment">// end of the argument.</span>
+00163 args[i++] = atoi(arg.c_str());
+00164 arg = <span class="stringliteral">""</span>;
+00165 }
+00166 }
+00167 <span class="comment">// read the potential last arg.</span>
+00168 <span class="keywordflow">if</span> (!arg.empty())
+00169 {
+00170 <span class="comment">// end of the argument.</span>
+00171 args[i++] = atoi(arg.c_str());
+00172 arg = <span class="stringliteral">""</span>;
+00173 }
+00174
+00175 <span class="keywordflow">if</span> (i != NbJoker)
+00176 <span class="keywordflow">return</span>;
+00177 <a class="code" href="a04199.html#a6">nlassert</a>(i==NbJoker);
+00178
+00179 <span class="keywordtype">int</span> randomValue;
+00180 <span class="keywordflow">if</span> (UseRandom)
+00181 {
+00182 <span class="keywordtype">bool</span> ok = <span class="keyword">false</span>;
+00183 <span class="comment">// 3rd, read the random value (if any)</span>
+00184 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; first != last; ++first)
+00185 {
+00186 <span class="keywordflow">if</span> (isdigit(<span class="keywordtype">int</span>(*first)))
+00187 {
+00188 arg += *first;
+00189 }
+00190 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!arg.empty())
+00191 {
+00192 <a class="code" href="a04199.html#a6">nlassert</a> (ok == <span class="keyword">false</span>);
+00193 <span class="comment">// end of the argument.</span>
+00194 randomValue = atoi(arg.c_str());
+00195 arg = <span class="stringliteral">""</span>;
+00196 ok = <span class="keyword">true</span>;
+00197 }
+00198 }
+00199 <span class="comment">// read the potential last arg.</span>
+00200 <span class="keywordflow">if</span> (!arg.empty())
+00201 {
+00202 <a class="code" href="a04199.html#a6">nlassert</a> (ok == <span class="keyword">false</span>);
+00203 <span class="comment">// end of the argument.</span>
+00204 randomValue = atoi(arg.c_str());
+00205 arg = <span class="stringliteral">""</span>;
+00206 ok = <span class="keyword">true</span>;
+00207 }
+00208 <a class="code" href="a04199.html#a6">nlassert</a> (ok == <span class="keyword">true</span>);
+00209
+00210 }
+00211 <span class="keywordflow">else</span>
+00212 {
+00213 randomValue = 0;
+00214 }
+00215
+00216 <span class="comment">// ok, now create the key and store the sound.</span>
+00217 CContextMatcher&lt;NbJoker, UseRandom, Shift&gt; cm(args, randomValue);
+00218
+00219 <span class="preprocessor">#ifdef _DEBUG</span>
+00220 <span class="preprocessor"></span> <span class="keywordtype">char</span> tmp[1024];
+00221 <span class="keywordtype">char</span> tmp2[1024];
+00222
+00223 <a class="code" href="a05378.html#a259">smprintf</a>(tmp, 1024, <span class="stringliteral">"Adding sound : %s, args = "</span>, patternName.c_str());
+00224
+00225 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k=0; k&lt;NbJoker; ++k)
+00226 {
+00227 sprintf(tmp2, <span class="stringliteral">"%u"</span>, args[k]);
+00228 strcat(tmp, tmp2);
+00229 }
+00230
+00231 <a class="code" href="a04199.html#a0">nldebug</a>(tmp);
+00232
+00233 <span class="preprocessor">#endif</span>
+00234 <span class="preprocessor"></span>
+00235 std::pair&lt;THashContextSound::iterator, bool&gt; ret;
+00236 ret = <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a>.insert(std::make_pair(cm, sound));
+00237 <span class="keywordflow">if</span> (!ret.second)
+00238 {
+00239 THashContextSound::iterator it = <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a>.find(cm);
+00240 <a class="code" href="a04199.html#a6">nlassert</a>(it != <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a>.end());
+00241
+00242 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Sound %s has the same context matcher as the sound %s"</span>, CStringMapper::unmap(sound-&gt;getName()).c_str(), CStringMapper::unmap(it-&gt;second-&gt;getName()).c_str());
+00243 }
+00244 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainerd1" doxytag="NLSOUND::CContextSoundContainer::getMaxDistance" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual float <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::getMaxDistance </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, private, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03849.html#NLSOUND_1_1IContextSoundContainera1">NLSOUND::IContextSoundContainer</a>.
+<p>
+Definition at line <a class="el" href="a05612.html#l00131">131</a> of file <a class="el" href="a05612.html">context_sound.h</a>.
+<p>
+<div class="fragment"><pre>00132 {
+00133 <span class="keywordflow">return</span> <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr2">_MaxDist</a>;
+00134 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainerd2" doxytag="NLSOUND::CContextSoundContainer::getSound" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual <a class="el" href="a02246.html">CSound</a>* <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::getSound </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03417.html">CSoundContext</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>context</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>randomValue</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, private, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03849.html#NLSOUND_1_1IContextSoundContainera2">NLSOUND::IContextSoundContainer</a>.
+<p>
+Definition at line <a class="el" href="a05612.html#l00246">246</a> of file <a class="el" href="a05612.html">context_sound.h</a>.
+<p>
+References <a class="el" href="a05612.html#l00273">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::_ContextArgsIndex</a>, <a class="el" href="a05612.html#l00274">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::_ContextSounds</a>, <a class="el" href="a06630.html#l00059">NLSOUND::CSoundContext::Args</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00247 {
+00248 <span class="comment">// create a key</span>
+00249 <a class="code" href="a04558.html#a11">uint32</a> args[<a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainery0NLSOUND_1_1CContextSoundContainery1">JOKER_ARRAY_SIZE</a>];
+00250 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;NbJoker; ++i)
+00251 args[i] = context.Args[<a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr0">_ContextArgsIndex</a>[i]];
+00252
+00253 CContextMatcher&lt;NbJoker, UseRandom, Shift&gt; cm(args, randomValue);
+00254
+00255 THashContextSound::iterator it = <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a>.find(cm);
+00256
+00257 <span class="keywordflow">if</span> (it != <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a>.end())
+00258 <span class="keywordflow">return</span> it-&gt;second;
+00259 <span class="keywordflow">else</span>
+00260 <span class="keywordflow">return</span> 0;
+00261 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainerd3" doxytag="NLSOUND::CContextSoundContainer::getSoundList" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> void <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::getSoundList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; std::pair&lt; std::string, <a class="el" href="a02246.html">CSound</a> * &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>subsounds</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, private, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03849.html#NLSOUND_1_1IContextSoundContainera3">NLSOUND::IContextSoundContainer</a>.
+<p>
+Definition at line <a class="el" href="a05612.html#l00263">263</a> of file <a class="el" href="a05612.html">context_sound.h</a>.
+<p>
+References <a class="el" href="a05612.html#l00274">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::_ContextSounds</a>.
+<p>
+<div class="fragment"><pre>00264 {
+00265 THashContextSound::const_iterator first(<a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a>.begin()), last(<a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a>.end());
+00266 <span class="keywordflow">for</span> (; first != last; ++first)
+00267 {
+00268 subsounds.push_back(std::make_pair(CStringMapper::unmap(first-&gt;second-&gt;getName()), first-&gt;second));
+00269 }
+00270 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainerd4" doxytag="NLSOUND::CContextSoundContainer::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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>contextArgsIndex</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, private, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Implements <a class="el" href="a03849.html#NLSOUND_1_1IContextSoundContainera4">NLSOUND::IContextSoundContainer</a>.
+<p>
+Definition at line <a class="el" href="a05612.html#l00125">125</a> of file <a class="el" href="a05612.html">context_sound.h</a>.
+<p>
+References <a class="el" href="a05612.html#l00273">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::_ContextArgsIndex</a>, <a class="el" href="a05702.html#l00239">NLMISC::CFastMem::memcpy</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <a class="code" href="a02418.html#NLSOUND_1_1CContextSoundContainerr2">_MaxDist</a> = 0;
+00128 <a class="code" href="a02515.html#NLMISC_1_1CFastMems0">NLMISC::CFastMem::memcpy</a>(_ContextArgsIndex, contextArgsIndex, <span class="keyword">sizeof</span>(<a class="code" href="a04558.html#a15">uint</a>) * NbJoker);
+00129 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainerr0" doxytag="NLSOUND::CContextSoundContainer::_ContextArgsIndex" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::<a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerr0">_ContextArgsIndex</a>[JOKER_ARRAY_SIZE]<code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05612.html#l00273">273</a> of file <a class="el" href="a05612.html">context_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05612.html#l00246">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::getSound()</a>, and <a class="el" href="a05612.html#l00125">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::init()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainerr1" doxytag="NLSOUND::CContextSoundContainer::_ContextSounds" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainery2">THashContextSound</a> <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::<a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerr1">_ContextSounds</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05612.html#l00274">274</a> of file <a class="el" href="a05612.html">context_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05612.html#l00136">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::addSound()</a>, <a class="el" href="a05612.html#l00246">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::getSound()</a>, and <a class="el" href="a05612.html#l00263">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::getSoundList()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CContextSoundContainerr2" doxytag="NLSOUND::CContextSoundContainer::_MaxDist" ></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" colspan="4">
+template&lt;uint NbJoker, bool UseRandom, uint Shift = 5&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02418.html">NLSOUND::CContextSoundContainer</a>&lt; NbJoker, UseRandom, Shift &gt;::<a class="el" href="a02418.html#NLSOUND_1_1CContextSoundContainerr2">_MaxDist</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05612.html#l00275">275</a> of file <a class="el" href="a05612.html">context_sound.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a05612.html">context_sound.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 14:38:00 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>