aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02197.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a02197.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a02197.html')
-rw-r--r--docs/doxygen/nel/a02197.html889
1 files changed, 889 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02197.html b/docs/doxygen/nel/a02197.html
new file mode 100644
index 00000000..d1777852
--- /dev/null
+++ b/docs/doxygen/nel/a02197.html
@@ -0,0 +1,889 @@
+<!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::IAnimatable 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>NL3D::IAnimatable Class Reference</h1><code>#include &lt;<a class="el" href="a05434.html">animatable.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::IAnimatable:
+<p><center><img src="a02197.png" usemap="#NL3D::IAnimatable_map" border="0" alt=""></center>
+<map name="NL3D::IAnimatable_map">
+<area href="a02196.html" alt="NL3D::CAnimatedLightmap" shape="rect" coords="0,56,216,80">
+<area href="a02198.html" alt="NL3D::CAnimatedMaterial" shape="rect" coords="226,56,442,80">
+<area href="a02200.html" alt="NL3D::CAnimatedMorph" shape="rect" coords="452,56,668,80">
+<area href="a02278.html" alt="NL3D::ITransformable" shape="rect" coords="678,56,894,80">
+<area href="a02277.html" alt="NL3D::CBone" shape="rect" coords="565,112,781,136">
+<area href="a02316.html" alt="NL3D::CTransform" shape="rect" coords="791,112,1007,136">
+<area href="a02315.html" alt="NL3D::CCamera" shape="rect" coords="1017,168,1233,192">
+<area href="a02362.html" alt="NL3D::CCluster" shape="rect" coords="1017,224,1233,248">
+<area href="a02713.html" alt="NL3D::CLandscapeModel" shape="rect" coords="1017,280,1233,304">
+<area href="a03093.html" alt="NL3D::CPointLightModel" shape="rect" coords="1017,336,1233,360">
+<area href="a03287.html" alt="NL3D::CQuadGridClipManager" shape="rect" coords="1017,392,1233,416">
+<area href="a03340.html" alt="NL3D::CRootModel" shape="rect" coords="1017,448,1233,472">
+<area href="a02537.html" alt="NL3D::CTransformShape" shape="rect" coords="1017,504,1233,528">
+<area href="a03672.html" alt="NL3D::CVegetableBlendLayerModel" shape="rect" coords="1017,560,1233,584">
+</map>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+An animatable object.<p>
+This object can have a set of animated values. At Max 32 animated values can be set (because of bit and touch mgt) Animated values are animated by a <a class="el" href="a02335.html">CChannelMixer</a> object. Each value have a name and a default track.<p>
+An <a class="el" href="a02197.html">IAnimatable</a> may have <a class="el" href="a02197.html">IAnimatable</a> sons (list of bones, list of materails etc...). The value count and valueId of the <a class="el" href="a02197.html">IAnimatable</a> DO NOT count those sons, but register() should register his sons too. A father propagated touch system (<a class="el" href="a02197.html#NL3D_1_1ITransformablez5_2">setFather()</a>) is implemented. When a son is touched, he touchs his fathers, his grandfather and so on.<p>
+When a class derives from <a class="el" href="a02197.html">IAnimatable</a>, it must implement all the interface's methods:<p>
+extend TAnimValues enum, beginning to BaseClass::AnimValueLast, and add a bit OwnerBit. ctor(): just type "IAnimatable::resize (AnimValueLast);" virtual IAnimatedValue* getValue (uint valueId); virtual const char *getValueName (uint valueId) const; virtual ITrack* getDefaultTrack (uint valueId);<p>
+virtual register(CChannelMixer *, const string &amp;prefix);<p>
+Watch <a class="el" href="a02278.html">NL3D::ITransformable</a> and <a class="el" href="a02316.html">NL3D::CTransform</a> for a good example.<p>
+<dl compact><dt><b>Author:</b></dt><dd>Cyril 'Hulud' Corvazier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05434.html#l00073">73</a> of file <a class="el" href="a05434.html">animatable.h</a>.<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Interface</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_0">TAnimValues</a> { <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_0NL3D_1_1IAnimatablew0">AnimValueLast</a> = 0
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03542.html">ITrack</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_1">getDefaultTrack</a> (<a class="el" href="a04558.html#a15">uint</a> valueId)=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03835.html">IAnimatedValue</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_2">getValue</a> (<a class="el" href="a04558.html#a15">uint</a> valueId)=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_3">getValueName</a> (<a class="el" href="a04558.html#a15">uint</a> valueId) const=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_4">registerToChannelMixer</a> (<a class="el" href="a02335.html">CChannelMixer</a> *chanMixer, const std::string &amp;prefix=std::string())=0</td></tr>
+
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatablea0">IAnimatable</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatablea1">~IAnimatable</a> ()</td></tr>
+
+<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a> (<a class="el" href="a02335.html">CChannelMixer</a> *chanMixer, <a class="el" href="a04558.html#a15">uint</a> valueId, <a class="el" href="a04558.html#a15">uint</a> ownerValueId, const std::string &amp;prefix, bool detail)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1ITransformableb1">clearFlag</a> (<a class="el" href="a04558.html#a15">uint</a> valueId)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method clear a bit in the bitset. <a href="#NL3D_1_1ITransformableb1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1ITransformableb2">setFlag</a> (<a class="el" href="a04558.html#a15">uint</a> valueId)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method set a bit in the bitset. <a href="#NL3D_1_1ITransformableb2"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatabled0">propagateTouch</a> ()</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="a02197.html#NL3D_1_1IAnimatabler0">_BitSet</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02197.html">IAnimatable</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatabler1">_Father</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatabler2">_FatherOwnerBit</a></td></tr>
+
+<tr><td colspan=2><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02197.html#NL3D_1_1IAnimatablen0">IAnimatedValue</a></td></tr>
+
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NL3D_1_1IAnimatablez3_0" doxytag="NL3D::IAnimatable::TAnimValues" ></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"> enum <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_0">NL3D::IAnimatable::TAnimValues</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The enum of animated values. (same system in CMOT). Deriver should extend this enum, beginning with OwnerBit= BaseClass::AnimValueLast. The number of values MUST NOT EXCEED 32, for fast <a class="el" href="a02197.html#NL3D_1_1ITransformablez5_3">touch()</a> system. "OwnerBit" system: each deriver of <a class="el" href="a02197.html">IAnimatable</a> should had an entry "OwnerBit" in this TAnimValues. This bit will be set when an <a class="el" href="a03835.html">IAnimatedValue</a> of this deriver part is touched, or if one of his <a class="el" href="a02197.html">IAnimatable</a> sons is touched (see <a class="el" href="a02197.html#NL3D_1_1ITransformablez5_2">setFather()</a>).<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="NL3D_1_1IAnimatablez3_0NL3D_1_1IAnimatablew0" doxytag="AnimValueLast" ></a>AnimValueLast</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Reimplemented in <a class="el" href="a02196.html#NL3D_1_1CAnimatedLightmapz9_0">NL3D::CAnimatedLightmap</a>, <a class="el" href="a02198.html#NL3D_1_1CAnimatedMaterialz17_0">NL3D::CAnimatedMaterial</a>, <a class="el" href="a02200.html#NL3D_1_1CAnimatedMorphz21_0">NL3D::CAnimatedMorph</a>, <a class="el" href="a02315.html#NL3D_1_1CCameraz48_0">NL3D::CCamera</a>, <a class="el" href="a02873.html#NL3D_1_1CMeshMultiLodInstancez437_0">NL3D::CMeshBaseInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_0">NL3D::CParticleSystemModel</a>, <a class="el" href="a03357.html#NL3D_1_1CSegRemanencew10">NL3D::CSegRemanence</a>, <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz918_0">NL3D::CSkeletonModel</a>, and <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0">NL3D::ITransformable</a>.
+<p>
+Definition at line <a class="el" href="a05434.html#l00098">98</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+<div class="fragment"><pre>00099 {
+00100 <a class="code" href="a02197.html#NL3D_1_1IAnimatablez3_0NL3D_1_1IAnimatablew0">AnimValueLast</a>=0,
+00101 };
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NL3D_1_1IAnimatablea0" doxytag="NL3D::IAnimatable::IAnimatable" ></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::IAnimatable::IAnimatable </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><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Default Constructor. Set number of value to 0. Deriver: should just write: <a class="el" href="a02197.html#NL3D_1_1ITransformablez5_1">IAnimatable::resize</a> (getValueCount());
+<p>
+Definition at line <a class="el" href="a05434.html#l00083">83</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+References <a class="el" href="a05434.html#l00206">_BitSet</a>, and <a class="el" href="a05434.html#l00208">_Father</a>.
+<p>
+<div class="fragment"><pre>00084 {
+00085 <a class="code" href="a02197.html#NL3D_1_1IAnimatabler1">_Father</a>= NULL;
+00086 <a class="code" href="a02197.html#NL3D_1_1IAnimatabler0">_BitSet</a>= 0;
+00087 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IAnimatablea1" doxytag="NL3D::IAnimatable::~IAnimatable" ></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"> virtual NL3D::IAnimatable::~<a class="el" href="a02197.html">IAnimatable</a> </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><code> [inline, virtual]</code></td>
+ </tr>
+
+ </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="a05434.html#l00089">89</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+<div class="fragment"><pre>00089 {}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1ITransformableb0" doxytag="NL3D::IAnimatable::addValue" ></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#a14">sint</a> NL3D::IAnimatable::addValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02335.html">CChannelMixer</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>chanMixer</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>&nbsp;</td>
+ <td class="mdname" nowrap> <em>valueId</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>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ownerValueId</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>prefix</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>detail</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is a tool function which add a given value to a channel. <dl compact><dt><b>Returns:</b></dt><dd>-1 if the track was not found in the animationSet, else it return the channelId as if returned by CAnimationSet::getChannelIdByName(channelName).</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05433.html#l00037">37</a> of file <a class="el" href="a05433.html">animatable.cpp</a>.
+<p>
+References <a class="el" href="a05543.html#l00306">NL3D::CChannelMixer::addChannel()</a>, <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_1">getDefaultTrack()</a>, <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_2">getValue()</a>, <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_3">getValueName()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06568.html#l00334">NL3D::CTransform::registerToChannelMixer()</a>, <a class="el" href="a06148.html#l00470">NL3D::CParticleSystemModel::registerToChannelMixer()</a>, <a class="el" href="a05530.html#l00151">NL3D::CCamera::registerToChannelMixer()</a>, <a class="el" href="a05491.html#l00141">NL3D::CBone::registerToChannelMixer()</a>, <a class="el" href="a05439.html#l00102">NL3D::CAnimatedMorph::registerToChannelMixer()</a>, <a class="el" href="a05437.html#l00376">NL3D::CAnimatedMaterial::registerToChannelMixer()</a>, and <a class="el" href="a05435.html#l00139">NL3D::CAnimatedLightmap::registerToChannelMixer()</a>.
+<p>
+<div class="fragment"><pre>00038 {
+00039 <a class="code" href="a04199.html#a6">nlassert</a>(chanMixer);
+00040 <span class="keywordflow">return</span> chanMixer-&gt;addChannel(prefix+<a class="code" href="a02197.html#NL3D_1_1IAnimatablez3_3">getValueName</a>(valueId), <span class="keyword">this</span>, <a class="code" href="a02197.html#NL3D_1_1IAnimatablez3_2">getValue</a>(valueId), <a class="code" href="a02197.html#NL3D_1_1IAnimatablez3_1">getDefaultTrack</a>(valueId), valueId, ownerValueId, detail);
+00041 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITransformableb1" doxytag="NL3D::IAnimatable::clearFlag" ></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::IAnimatable::clearFlag </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>valueId</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This method clear a bit in the bitset.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05434.html#l00233">233</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+References <a class="el" href="a05434.html#l00206">_BitSet</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06574.html#l00124">NL3D::ITransformable::clearTransformFlags()</a>, <a class="el" href="a06148.html#l00619">NL3D::CParticleSystemModel::doAnimate()</a>, and <a class="el" href="a05437.html#l00197">NL3D::CAnimatedMaterial::update()</a>.
+<p>
+<div class="fragment"><pre>00234 {
+00235 <a class="code" href="a02197.html#NL3D_1_1IAnimatabler0">_BitSet</a>&amp;= ~(1&lt;&lt;valueId);
+00236 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IAnimatablez3_1" doxytag="NL3D::IAnimatable::getDefaultTrack" ></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"> virtual <a class="el" href="a03542.html">ITrack</a>* NL3D::IAnimatable::getDefaultTrack </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>valueId</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get default track pointer.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>valueId</em>&nbsp;</td><td>is the animated value ID in the object we want the default track. IGNORING IANIMATABLE SONS (eg: bones, materials...). </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>The pointer on the default track of the value.</dd></dl>
+
+<p>
+Implemented in <a class="el" href="a02196.html#NL3D_1_1CAnimatedLightmapz9_1">NL3D::CAnimatedLightmap</a>, <a class="el" href="a02198.html#NL3D_1_1CAnimatedMaterialz17_1">NL3D::CAnimatedMaterial</a>, <a class="el" href="a02200.html#NL3D_1_1CAnimatedMorphz21_1">NL3D::CAnimatedMorph</a>, <a class="el" href="a02277.html#NL3D_1_1CBonez39_0">NL3D::CBone</a>, <a class="el" href="a02315.html#NL3D_1_1CCameraz48_1">NL3D::CCamera</a>, <a class="el" href="a02873.html#NL3D_1_1CMeshMultiLodInstancez441_0">NL3D::CMeshBaseInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_2">NL3D::CParticleSystemModel</a>, <a class="el" href="a03357.html#NL3D_1_1CSegRemanencea9">NL3D::CSegRemanence</a>, <a class="el" href="a02316.html#NL3D_1_1CVegetableBlendLayerModelz1023_0">NL3D::CTransform</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_1">NL3D::ITransformable</a>, <a class="el" href="a03721.html#NL3D_1_1CWaterModela10">NL3D::CWaterModel</a>, and <a class="el" href="a03725.html#NL3D_1_1CWaveMakerModela9">NL3D::CWaveMakerModel</a>.
+<p>
+Referenced by <a class="el" href="a05433.html#l00037">addValue()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IAnimatablez3_2" doxytag="NL3D::IAnimatable::getValue" ></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"> virtual <a class="el" href="a03835.html">IAnimatedValue</a>* NL3D::IAnimatable::getValue </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>valueId</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a value pointer.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>valueId</em>&nbsp;</td><td>is the animated value ID in the object. IGNORING IANIMATABLE SONS (eg: bones, materials...). </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>The pointer on the animated value.</dd></dl>
+
+<p>
+Implemented in <a class="el" href="a02196.html#NL3D_1_1CAnimatedLightmapz9_2">NL3D::CAnimatedLightmap</a>, <a class="el" href="a02198.html#NL3D_1_1CAnimatedMaterialz17_2">NL3D::CAnimatedMaterial</a>, <a class="el" href="a02200.html#NL3D_1_1CAnimatedMorphz21_2">NL3D::CAnimatedMorph</a>, <a class="el" href="a02315.html#NL3D_1_1CCameraz48_2">NL3D::CCamera</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_3">NL3D::CParticleSystemModel</a>, and <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_2">NL3D::ITransformable</a>.
+<p>
+Referenced by <a class="el" href="a05433.html#l00037">addValue()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IAnimatablez3_3" doxytag="NL3D::IAnimatable::getValueName" ></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"> virtual const char* NL3D::IAnimatable::getValueName </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>valueId</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get animated value name.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>valueId</em>&nbsp;</td><td>is the animated value ID in the object we want the name. IGNORING IANIMATABLE SONS (eg: bones, materials...). </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the name of the animated value.</dd></dl>
+
+<p>
+Implemented in <a class="el" href="a02196.html#NL3D_1_1CAnimatedLightmapz9_3">NL3D::CAnimatedLightmap</a>, <a class="el" href="a02198.html#NL3D_1_1CAnimatedMaterialz17_3">NL3D::CAnimatedMaterial</a>, <a class="el" href="a02200.html#NL3D_1_1CAnimatedMorphz21_3">NL3D::CAnimatedMorph</a>, <a class="el" href="a02315.html#NL3D_1_1CCameraz48_3">NL3D::CCamera</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_4">NL3D::CParticleSystemModel</a>, and <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_3">NL3D::ITransformable</a>.
+<p>
+Referenced by <a class="el" href="a05433.html#l00037">addValue()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITransformablez5_0" doxytag="NL3D::IAnimatable::isTouched" ></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#a11">uint32</a> NL3D::IAnimatable::isTouched </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>valueId</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return non 0 int if the value as been touched else 0.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>valueId</em>&nbsp;</td><td>is the animated value ID in the object we want to test the touch flag. or it may be an OwnerBit.</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05434.html#l00184">184</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+References <a class="el" href="a05434.html#l00206">_BitSet</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06148.html#l00619">NL3D::CParticleSystemModel::doAnimate()</a>, <a class="el" href="a06575.html#l00334">NL3D::ITransformable::needCompute()</a>, <a class="el" href="a05434.html#l00212">propagateTouch()</a>, and <a class="el" href="a05437.html#l00197">NL3D::CAnimatedMaterial::update()</a>.
+<p>
+<div class="fragment"><pre>00185 {
+00186 <span class="keywordflow">return</span> <a class="code" href="a02197.html#NL3D_1_1IAnimatabler0">_BitSet</a>&amp;(1&lt;&lt;valueId);
+00187 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IAnimatabled0" doxytag="NL3D::IAnimatable::propagateTouch" ></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::IAnimatable::propagateTouch </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><code> [inline, private]</code></td>
+ </tr>
+
+ </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="a05434.html#l00212">212</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+References <a class="el" href="a05434.html#l00208">_Father</a>, <a class="el" href="a05434.html#l00210">_FatherOwnerBit</a>, <a class="el" href="a05434.html#l00184">isTouched()</a>, and <a class="el" href="a05434.html#l00239">setFlag()</a>.
+<p>
+Referenced by <a class="el" href="a05434.html#l00153">setFather()</a>, and <a class="el" href="a05434.html#l00168">touch()</a>.
+<p>
+<div class="fragment"><pre>00213 {
+00214 <a class="code" href="a02197.html#NL3D_1_1IAnimatablea0">IAnimatable</a> *pCur= <span class="keyword">this</span>;
+00215 <span class="comment">// Stop when no father, or when father is already touched (and so the grandfather...!!!).</span>
+00216 <span class="keywordflow">while</span>(pCur-&gt;_Father &amp;&amp; !pCur-&gt;_Father-&gt;isTouched(_FatherOwnerBit))
+00217 {
+00218 <span class="comment">// The Owner bit is the "something is touched" flag. touch it.</span>
+00219 pCur-&gt;_Father-&gt;setFlag(pCur-&gt;_FatherOwnerBit);
+00220 pCur= pCur-&gt;_Father;
+00221 }
+00222 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IAnimatablez3_4" doxytag="NL3D::IAnimatable::registerToChannelMixer" ></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"> virtual void NL3D::IAnimatable::registerToChannelMixer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02335.html">CChannelMixer</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>chanMixer</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>prefix</em> = std::string()</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+register the Aniamtable to a channelMixer (using <a class="el" href="a02335.html#NL3D_1_1CChannelMixerz60_0">CChannelMixer::addChannel()</a>). You MUST use this method to register Animatable. This method should:<ul>
+<li>call is BaseClass method.</li><li>register local AnimatableValues, with channel name: prefix+getValueName().</li><li>register local sons!!. eg: matlist[0]-&gt;registerToChannelMixer(chanMixer, prefix+"mat0.").</li></ul>
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>chanMixer</em>&nbsp;</td><td>is the channel mixer. Should not be NULL. for anim detail purpose , the <a class="el" href="a02197.html">IAnimatable</a> may store a RefPtr on this channel mixer. </td></tr>
+ <tr><td valign=top><em>prefix</em>&nbsp;</td><td>prefix to be append to valueNames</td></tr>
+ </table>
+</dl>
+
+<p>
+Implemented in <a class="el" href="a02196.html#NL3D_1_1CAnimatedLightmapz9_4">NL3D::CAnimatedLightmap</a>, <a class="el" href="a02198.html#NL3D_1_1CAnimatedMaterialz17_4">NL3D::CAnimatedMaterial</a>, <a class="el" href="a02200.html#NL3D_1_1CAnimatedMorphz21_4">NL3D::CAnimatedMorph</a>, <a class="el" href="a02277.html#NL3D_1_1CBonez39_1">NL3D::CBone</a>, <a class="el" href="a02315.html#NL3D_1_1CCameraz48_4">NL3D::CCamera</a>, <a class="el" href="a02873.html#NL3D_1_1CMeshMultiLodInstancez437_1">NL3D::CMeshBaseInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_6">NL3D::CParticleSystemModel</a>, <a class="el" href="a03357.html#NL3D_1_1CSegRemanencea34">NL3D::CSegRemanence</a>, <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz918_1">NL3D::CSkeletonModel</a>, <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1023_0">NL3D::CTransform</a>, and <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_4">NL3D::ITransformable</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITransformablez5_1" doxytag="NL3D::IAnimatable::resize" ></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::IAnimatable::resize </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>count</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Change value count, bit are set to 0<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>count</em>&nbsp;</td><td>is the new value count.</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05434.html#l00195">195</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00196 {
+00197 <span class="comment">// with the "uint32 _BitSet" implementation, juste check the size is correct</span>
+00198 <a class="code" href="a04199.html#a6">nlassert</a>(count&lt;=32);
+00199 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITransformablez5_2" doxytag="NL3D::IAnimatable::setFather" ></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::IAnimatable::setFather </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02197.html">IAnimatable</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>father</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>&nbsp;</td>
+ <td class="mdname" nowrap> <em>fatherOwnerBit</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Say which (if any) <a class="el" href="a02197.html">IAnimatable</a> owns this one. This is important for Touch propagation. By this system, Fathers and ancestors know if they must check their sons (<a class="el" href="a02197.html#NL3D_1_1ITransformablez5_0">isTouched()</a> return true).<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>father</em>&nbsp;</td><td>the father we must inform of our update. </td></tr>
+ <tr><td valign=top><em>fatherOwnerBit</em>&nbsp;</td><td>What bit of father we must set when we are updated</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05434.html#l00153">153</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+References <a class="el" href="a05434.html#l00208">_Father</a>, <a class="el" href="a05434.html#l00210">_FatherOwnerBit</a>, <a class="el" href="a05434.html#l00212">propagateTouch()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05991.html#l00261">NL3D::CMeshBase::instanciateMeshBase()</a>, and <a class="el" href="a06358.html#l00424">NL3D::CSegRemanence::setAnimatedMaterial()</a>.
+<p>
+<div class="fragment"><pre>00154 {
+00155 <a class="code" href="a02197.html#NL3D_1_1IAnimatabler1">_Father</a>= father; <a class="code" href="a02197.html#NL3D_1_1IAnimatabler2">_FatherOwnerBit</a>= fatherOwnerBit;
+00156
+00157 <span class="comment">// propagate the touch to the fathers.</span>
+00158 <a class="code" href="a02197.html#NL3D_1_1IAnimatabled0">propagateTouch</a>();
+00159 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITransformableb2" doxytag="NL3D::IAnimatable::setFlag" ></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::IAnimatable::setFlag </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>valueId</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, protected]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This method set a bit in the bitset.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05434.html#l00239">239</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+References <a class="el" href="a05434.html#l00206">_BitSet</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05434.html#l00212">propagateTouch()</a>, and <a class="el" href="a05434.html#l00168">touch()</a>.
+<p>
+<div class="fragment"><pre>00240 {
+00241 <a class="code" href="a02197.html#NL3D_1_1IAnimatabler0">_BitSet</a>|= (1&lt;&lt;valueId);
+00242 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1ITransformablez5_3" doxytag="NL3D::IAnimatable::touch" ></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::IAnimatable::touch </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="mdname" nowrap> <em>valueId</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>&nbsp;</td>
+ <td class="mdname" nowrap> <em>ownerValueId</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Touch a value because it has been modified.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>valueId</em>&nbsp;</td><td>is the animated value ID in the object we want to touch. </td></tr>
+ <tr><td valign=top><em>ownerValueId</em>&nbsp;</td><td>is the bit of the <a class="el" href="a02197.html">IAnimatable</a> part which owns this animated value.</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05434.html#l00168">168</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+References <a class="el" href="a05434.html#l00212">propagateTouch()</a>, <a class="el" href="a05434.html#l00239">setFlag()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05543.html#l00154">NL3D::CChannelMixer::eval()</a>, <a class="el" href="a05543.html#l00083">NL3D::CChannelMixer::evalSingleChannel()</a>, <a class="el" href="a06148.html#l00249">NL3D::CParticleSystemModel::reallocRsc()</a>, <a class="el" href="a05543.html#l00621">NL3D::CChannelMixer::refreshList()</a>, <a class="el" href="a05531.html#l00154">NL3D::CCamera::setFov()</a>, <a class="el" href="a06575.html#l00162">NL3D::ITransformable::setPivot()</a>, <a class="el" href="a06575.html#l00114">NL3D::ITransformable::setPos()</a>, <a class="el" href="a05531.html#l00147">NL3D::CCamera::setRoll()</a>, <a class="el" href="a06575.html#l00126">NL3D::ITransformable::setRotEuler()</a>, <a class="el" href="a06575.html#l00138">NL3D::ITransformable::setRotQuat()</a>, <a class="el" href="a06575.html#l00145">NL3D::ITransformable::setScale()</a>, <a class="el" href="a05531.html#l00135">NL3D::CCamera::setTargetPos()</a>, <a class="el" href="a06575.html#l00100">NL3D::ITransformable::setTransformMode()</a>, and <a class="el" href="a06144.html#l00100">NL3D::CParticleSystemInstanceUser::setUserParam()</a>.
+<p>
+<div class="fragment"><pre>00169 {
+00170 <span class="comment">// Set the bit</span>
+00171 <a class="code" href="a02197.html#NL3D_1_1ITransformableb2">setFlag</a>(valueId);
+00172 <span class="comment">// Set the owner bit</span>
+00173 <a class="code" href="a02197.html#NL3D_1_1ITransformableb2">setFlag</a>(ownerValueId);
+00174
+00175 <span class="comment">// propagate the touch to the fathers.</span>
+00176 <a class="code" href="a02197.html#NL3D_1_1IAnimatabled0">propagateTouch</a>();
+00177 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NL3D_1_1IAnimatablen0" doxytag="NL3D::IAnimatable::IAnimatedValue" ></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"> friend class <a class="el" href="a03835.html">IAnimatedValue</a><code> [friend]</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="a05434.html#l00075">75</a> of file <a class="el" href="a05434.html">animatable.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NL3D_1_1IAnimatabler0" doxytag="NL3D::IAnimatable::_BitSet" ></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#a11">uint32</a> <a class="el" href="a02197.html#NL3D_1_1IAnimatabler0">NL3D::IAnimatable::_BitSet</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="a05434.html#l00206">206</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+Referenced by <a class="el" href="a05434.html#l00233">clearFlag()</a>, <a class="el" href="a05434.html#l00083">IAnimatable()</a>, <a class="el" href="a05434.html#l00184">isTouched()</a>, and <a class="el" href="a05434.html#l00239">setFlag()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IAnimatabler1" doxytag="NL3D::IAnimatable::_Father" ></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="a02197.html">IAnimatable</a>* <a class="el" href="a02197.html#NL3D_1_1IAnimatabler1">NL3D::IAnimatable::_Father</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="a05434.html#l00208">208</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+Referenced by <a class="el" href="a05434.html#l00083">IAnimatable()</a>, <a class="el" href="a05434.html#l00212">propagateTouch()</a>, and <a class="el" href="a05434.html#l00153">setFather()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NL3D_1_1IAnimatabler2" doxytag="NL3D::IAnimatable::_FatherOwnerBit" ></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="a02197.html#NL3D_1_1IAnimatabler2">NL3D::IAnimatable::_FatherOwnerBit</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="a05434.html#l00210">210</a> of file <a class="el" href="a05434.html">animatable.h</a>.
+<p>
+Referenced by <a class="el" href="a05434.html#l00212">propagateTouch()</a>, and <a class="el" href="a05434.html#l00153">setFather()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a05434.html">animatable.h</a><li><a class="el" href="a05433.html">animatable.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 08:37:13 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>