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/a02277.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a02277.html | 3237 |
1 files changed, 3237 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02277.html b/docs/doxygen/nel/a02277.html new file mode 100644 index 00000000..acbc59b7 --- /dev/null +++ b/docs/doxygen/nel/a02277.html @@ -0,0 +1,3237 @@ +<!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::CBone 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::CBone Class Reference</h1><code>#include <<a class="el" href="a05492.html">bone.h</a>></code> +<p> +<p>Inheritance diagram for NL3D::CBone: +<p><center><img src="a02277.png" usemap="#NL3D::CBone_map" border="0" alt=""></center> +<map name="NL3D::CBone_map"> +<area href="a02278.html" alt="NL3D::ITransformable" shape="rect" coords="0,56,134,80"> +<area href="a02197.html" alt="NL3D::IAnimatable" shape="rect" coords="0,0,134,24"> +</map> +<hr><a name="_details"></a><h2>Detailed Description</h2> +This is a bone, for skeleton animation, with information for result WorldMatrix. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <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="a05492.html#l00096">96</a> of file <a class="el" href="a05492.html">bone.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Herited from IAnimatable</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0">TAnimValues</a> { <br> + <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew2">OwnerBit</a> = IAnimatable::AnimValueLast, +<a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">PosValue</a>, +<a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6">RotEulerValue</a>, +<a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8">RotQuatValue</a>, +<br> + <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9">ScaleValue</a>, +<a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3">PivotValue</a>, +<a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew0">AnimValueLast</a> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Added values. <a href="#NL3D_1_1ITransformablez1087_0">More...</a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03835.html">IAnimatedValue</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_2">getValue</a> (<a class="el" href="a04558.html#a15">uint</a> valueId)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">From <a class="el" href="a02197.html">IAnimatable</a>. <a href="#NL3D_1_1ITransformablez1087_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_3">getValueName</a> (<a class="el" href="a04558.html#a15">uint</a> valueId) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">From <a class="el" href="a02197.html">IAnimatable</a>. <a href="#NL3D_1_1ITransformablez1087_3"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Public Types</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablew11">TTransformMode</a> { <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew1">DirectMatrix</a> = 0, +<a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">RotEuler</a>, +<a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">RotQuat</a>, +<a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew10">TransformModeCount</a> + }</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="a02277.html#NL3D_1_1CBonea0">CBone</a> (<a class="el" href="a02279.html">CBoneBase</a> *boneBase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablea0">compareMatrixDate</a> (<a class="el" href="a04558.html#a13">uint64</a> callerDate) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea2">compute</a> (<a class="el" href="a02277.html">CBone</a> *parent, const <a class="el" href="a02851.html">CMatrix</a> &rootMatrix, <a class="el" href="a03399.html">CSkeletonModel</a> *skeletonForAnimCtrl)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea3">forceAnimate</a> (<a class="el" href="a02335.html">CChannelMixer</a> &chanMixer)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02279.html">CBoneBase</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea4">getBoneBase</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve the boneBase <a href="#NL3D_1_1CBonea4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const std::string & </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea5">getBoneName</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve the boneName from BoneBase. <a href="#NL3D_1_1CBonea5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">CMatrix</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea6">getBoneSkinMatrix</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve the BoneSkinMatrix computed in <a class="el" href="a02277.html#NL3D_1_1CBonea2">compute()</a>. <a href="#NL3D_1_1CBonea6"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a10">sint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea7">getFatherId</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve the fatherId from BoneBase. <a href="#NL3D_1_1CBonea7"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">CMatrix</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea8">getLocalSkeletonMatrix</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve the matrix local to the skeleton, computed in <a class="el" href="a02277.html#NL3D_1_1CBonea2">compute()</a>. <a href="#NL3D_1_1CBonea8"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">CMatrix</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablea1">getMatrix</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the matrix, compute her if necessary (work in all modes). <a href="#NL3D_1_1ITransformablea1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a13">uint64</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablea2">getMatrixDate</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02851.html">CMatrix</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea11">getWorldMatrix</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">retrieve the WorldMatrix computed in <a class="el" href="a02277.html#NL3D_1_1CBonea2">compute()</a>. <a href="#NL3D_1_1CBonea11"></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="a02277.html#NL3D_1_1CBonea12">interpolateBoneSkinMatrix</a> (const <a class="el" href="a02851.html">CMatrix</a> &otherMatrix, float interp)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonea13">lodEnableChannels</a> (<a class="el" href="a02335.html">CChannelMixer</a> *chanMixer, bool enable)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">enable the channels (lodEnable) associated to this bone in the channelMixer. <a href="#NL3D_1_1CBonea13"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Herited from ITransformable</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a03542.html">ITrack</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonez39_0">getDefaultTrack</a> (<a class="el" href="a04558.html#a15">uint</a> valueId)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">retrive the default trak from skeleton shape. <a href="#NL3D_1_1CBonez39_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBonez39_1">registerToChannelMixer</a> (<a class="el" href="a02335.html">CChannelMixer</a> *chanMixer, const std::string &prefix)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">register the <a class="el" href="a02278.html">ITransformable</a> channels as detailled channels. <a href="#NL3D_1_1CBonez39_1"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablee0">getPivotValueName</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablee1">getPosValueName</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablee2">getRotEulerValueName</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablee3">getRotQuatValueName</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a02278.html#NL3D_1_1ITransformablee4">getScaleValueName</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03836.html">IAnimCtrl</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoneo0">_AnimCtrl</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02291.html">NLMISC::CBSphere</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoneo1">_MaxSphere</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> </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 &prefix, bool detail)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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"> </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 </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"> </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 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="a02279.html">CBoneBase</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">CMatrix</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner1">_BoneSkinMatrix</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">CMatrix</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner2">_LocalSkeletonMatrix</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner3">_PivotChannelId</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner4">_PosChannelId</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner5">_RotEulerChannelId</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner6">_RotQuatChannelId</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner7">_ScaleChannelId</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02851.html">CMatrix</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02277.html#NL3D_1_1CBoner8">_WorldMatrix</a></td></tr> + +</table> +<hr><h2>Member Enumeration Documentation</h2> +<a class="anchor" name="NL3D_1_1ITransformablez1087_0" doxytag="NL3D::CBone::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="a02278.html#NL3D_1_1ITransformablez1087_0">NL3D::ITransformable::TAnimValues</a><code> [inherited]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Added values. +<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="NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew2" doxytag="OwnerBit" ></a>OwnerBit</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4" doxytag="PosValue" ></a>PosValue</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6" doxytag="RotEulerValue" ></a>RotEulerValue</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8" doxytag="RotQuatValue" ></a>RotQuatValue</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9" doxytag="ScaleValue" ></a>ScaleValue</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3" doxytag="PivotValue" ></a>PivotValue</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew0" doxytag="AnimValueLast" ></a>AnimValueLast</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Reimplemented from <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_0">NL3D::IAnimatable</a>. +<p> +Reimplemented in <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>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz918_0">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06575.html#l00280">280</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +<div class="fragment"><pre>00281 { +00282 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew2">OwnerBit</a>= IAnimatable::AnimValueLast, +00283 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">PosValue</a>, +00284 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6">RotEulerValue</a>, +00285 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8">RotQuatValue</a>, +00286 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9">ScaleValue</a>, +00287 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3">PivotValue</a>, +00288 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew0">AnimValueLast</a> +00289 }; +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablew11" doxytag="NL3D::CBone::TTransformMode" ></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="a02278.html#NL3D_1_1ITransformablew11">NL3D::ITransformable::TTransformMode</a><code> [inherited]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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="NL3D_1_1ITransformablew11NL3D_1_1ITransformablew1" doxytag="DirectMatrix" ></a>DirectMatrix</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5" doxytag="RotEuler" ></a>RotEuler</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7" doxytag="RotQuat" ></a>RotQuat</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1ITransformablew11NL3D_1_1ITransformablew10" doxytag="TransformModeCount" ></a>TransformModeCount</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a06575.html#l00058">58</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +Referenced by <a class="el" href="a06575.html#l00189">NL3D::ITransformable::getTransformMode()</a>. +<p> +<div class="fragment"><pre>00059 { +00060 <a class="code" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew1">DirectMatrix</a>=0, <span class="comment">// DirectMatrixMode.</span> +00061 <a class="code" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">RotEuler</a>, <span class="comment">// Matrix is computed from sperated composantes, with euler rotation.</span> +00062 <a class="code" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">RotQuat</a>, <span class="comment">// Matrix is computed from sperated composantes, with quat rotation (default).</span> +00063 +00064 <a class="code" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew10">TransformModeCount</a> +00065 }; +</pre></div> </td> + </tr> +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NL3D_1_1CBonea0" doxytag="NL3D::CBone::CBone" ></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::CBone::CBone </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02279.html">CBoneBase</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>boneBase</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> +Constructor. build a bone from a CBoneBase*. By defautl, a bone is in RotQuat transform mode. This ctor:<ul> +<li>store a RefPtr on the bonebase (for getDefaultTracks() method). the refptr is just for nlassert.</li><li>copy the bonebase default track value into Animated Values Pos/Rot etc....</li></ul> + +<p> +Definition at line <a class="el" href="a05491.html#l00093">93</a> of file <a class="el" href="a05491.html">bone.cpp</a>. +<p> +References <a class="el" href="a05492.html#l00166">_AnimCtrl</a>, <a class="el" href="a05492.html#l00173">_BoneBase</a>, <a class="el" href="a05492.html#l00187">_PivotChannelId</a>, <a class="el" href="a05492.html#l00183">_PosChannelId</a>, <a class="el" href="a05492.html#l00184">_RotEulerChannelId</a>, <a class="el" href="a05492.html#l00185">_RotQuatChannelId</a>, <a class="el" href="a05492.html#l00186">_ScaleChannelId</a>, <a class="el" href="a05442.html#l00279">NL3D::CAnimatedValueQuat</a>, <a class="el" href="a05442.html#l00277">NL3D::CAnimatedValueVector</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +<div class="fragment"><pre>00094 { +00095 <a class="code" href="a04199.html#a6">nlassert</a>(boneBase); +00096 <a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>= boneBase; +00097 +00098 <span class="comment">// IAnimatable.</span> +00099 IAnimatable::resize(AnimValueLast); +00100 +00101 ITransformable::setTransformMode(ITransformable::RotQuat); +00102 ITransformable::setPos( ((CAnimatedValueVector&)<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultPos.getValue()).Value ); +00103 ITransformable::setRotQuat( ((CAnimatedValueQuat&)<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultRotQuat.getValue()).Value ); +00104 ITransformable::setScale( ((CAnimatedValueVector&)<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultScale.getValue()).Value ); +00105 ITransformable::setPivot( ((CAnimatedValueVector&)<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultPivot.getValue()).Value ); +00106 +00107 <span class="comment">// By default, the bone is not binded to a channelMixer.</span> +00108 <a class="code" href="a02277.html#NL3D_1_1CBoner4">_PosChannelId</a>= -1; +00109 <a class="code" href="a02277.html#NL3D_1_1CBoner5">_RotEulerChannelId</a>= -1; +00110 <a class="code" href="a02277.html#NL3D_1_1CBoner6">_RotQuatChannelId</a>= -1; +00111 <a class="code" href="a02277.html#NL3D_1_1CBoner7">_ScaleChannelId</a>= -1; +00112 <a class="code" href="a02277.html#NL3D_1_1CBoner3">_PivotChannelId</a>= -1; +00113 +00114 <span class="comment">// No animCtrl by default</span> +00115 <a class="code" href="a02277.html#NL3D_1_1CBoneo0">_AnimCtrl</a>= NULL; +00116 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NL3D_1_1ITransformableb0" doxytag="NL3D::CBone::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02335.html">CChannelMixer</a> * </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> </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> </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 & </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 </td> + <td class="mdname" nowrap> <em>detail</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [protected, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">NL3D::IAnimatable::getDefaultTrack()</a>, <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_2">NL3D::IAnimatable::getValue()</a>, <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_3">NL3D::IAnimatable::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">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->addChannel(prefix+<a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_3">getValueName</a>(valueId), <span class="keyword">this</span>, <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_2">getValue</a>(valueId), <a class="code" href="a02277.html#NL3D_1_1CBonez39_0">getDefaultTrack</a>(valueId), valueId, ownerValueId, detail); +00041 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformableb1" doxytag="NL3D::CBone::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>valueId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">NL3D::IAnimatable::_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 _BitSet&= ~(1<<valueId); +00236 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablea0" doxytag="NL3D::CBone::compareMatrixDate" ></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::ITransformable::compareMatrixDate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a13">uint64</a> </td> + <td class="mdname1" valign="top" nowrap> <em>callerDate</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Tells if the LocalMatrix is newer than what caller except. This return true either if the matrix components (pos/rot etc...) are touched, or if matrix is newer than caller date. +<p> +Definition at line <a class="el" href="a06575.html#l00082">82</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00318">NL3D::ITransformable::_LocalMatrixDate</a>, <a class="el" href="a06575.html#l00334">NL3D::ITransformable::needCompute()</a>, and <a class="el" href="a05981.html#l00102">uint64</a>. +<p> +Referenced by <a class="el" href="a06737.html#l01339">NL3D::CWaterModel::updateDiffuseMapMatrix()</a>. +<p> +<div class="fragment"><pre>00083 { +00084 <span class="keywordflow">return</span> callerDate<_LocalMatrixDate || <a class="code" href="a02278.html#NL3D_1_1ITransformabled1">needCompute</a>(); +00085 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea2" doxytag="NL3D::CBone::compute" ></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::CBone::compute </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02277.html">CBone</a> * </td> + <td class="mdname" nowrap> <em>parent</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a02851.html">CMatrix</a> & </td> + <td class="mdname" nowrap> <em>rootMatrix</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03399.html">CSkeletonModel</a> * </td> + <td class="mdname" nowrap> <em>skeletonForAnimCtrl</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> +Compute the LocalSkeletonMatrix, the WorldMatrix, and the BoneSkinMatrix (for skinning). NB: the result localSkeletonMatrix depends on BoneBase::UnheritScale. <br> + NB: the result worldMatrix depends on BoneBase::UnheritScale. <br> + NB: the result boneSkinMatrix depends on BoneBase::InvBindPos. <br> + <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>parent</em> </td><td>the parent of this bone (maybe NULL if root). his WorldMatrix is used, so it should be computed before. </td></tr> + <tr><td valign=top><em>rootMatrix</em> </td><td>is used as father worldmatrix if parent==NULL. Usefull for computing WorldMatrix. </td></tr> + <tr><td valign=top><em>skeletonForAnimCtrl</em> </td><td>if NULL, no AnimCtrl is performed, else skeletonForAnimCtrl->getWorldMAtrix() should be == to rootMatrix</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05491.html#l00155">155</a> of file <a class="el" href="a05491.html">bone.cpp</a>. +<p> +References <a class="el" href="a05492.html#l00166">_AnimCtrl</a>, <a class="el" href="a05492.html#l00173">_BoneBase</a>, <a class="el" href="a05492.html#l00180">_BoneSkinMatrix</a>, <a class="el" href="a05492.html#l00176">_LocalSkeletonMatrix</a>, <a class="el" href="a05492.html#l00178">_WorldMatrix</a>, <a class="el" href="a03836.html#NL3D_1_1IAnimCtrla0">NL3D::IAnimCtrl::execute()</a>, <a class="el" href="a06575.html#l00076">NL3D::ITransformable::getMatrix()</a>, <a class="el" href="a05973.html#l00198">NLMISC::CMatrix::getPos()</a>, <a class="el" href="a06575.html#l00218">NL3D::ITransformable::getScale()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05972.html#l00702">NLMISC::CMatrix::setMulMatrixNoProj()</a>, <a class="el" href="a05972.html#l00267">NLMISC::CMatrix::setPos()</a>, <a class="el" href="a05972.html#l01471">NLMISC::CMatrix::setScale()</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>. +<p> +Referenced by <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, <a class="el" href="a06393.html#l00391">NL3D::CSkeletonModel::forceComputeBone()</a>, and <a class="el" href="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00156 { +00157 <span class="comment">// compute is called typically 800 time per frame.</span> +00158 <span class="preprocessor">#ifdef NL_DEBUG</span> +00159 <span class="preprocessor"></span> <a class="code" href="a04199.html#a6">nlassert</a>(_BoneBase); +00160 <span class="preprocessor">#endif</span> +00161 <span class="preprocessor"></span> +00162 <span class="comment">// get/compute our local matrix</span> +00163 <span class="keyword">const</span> CMatrix &localMatrix= <a class="code" href="a02278.html#NL3D_1_1ITransformablea1">getMatrix</a>(); +00164 +00165 <span class="comment">// Compute LocalSkeletonMatrix.</span> +00166 <span class="comment">// Root case?</span> +00167 <span class="keywordflow">if</span>(!parent) +00168 { +00169 <a class="code" href="a02277.html#NL3D_1_1CBoner2">_LocalSkeletonMatrix</a>= localMatrix; +00170 } +00171 <span class="comment">// Else, son case, take world matrix from parent.</span> +00172 <span class="keywordflow">else</span> +00173 { +00174 <span class="comment">// UnheritScale case.</span> +00175 <span class="keywordflow">if</span>(<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->UnheritScale) +00176 { +00177 CMatrix invScaleComp; +00178 CVector fatherScale; +00179 CVector trans; +00180 +00181 <span class="comment">/* Optim note:</span> +00182 <span class="comment"> the scale is rarely ==1, so don't optimize case where it may be.</span> +00183 <span class="comment"> */</span> +00184 +00185 <span class="comment">// retrieve our translation</span> +00186 localMatrix.getPos(trans); +00187 <span class="comment">// retrieve scale from our father.</span> +00188 parent->getScale(fatherScale); +00189 <span class="comment">// inverse this scale.</span> +00190 fatherScale.x= 1.0f / fatherScale.x; +00191 fatherScale.y= 1.0f / fatherScale.y; +00192 fatherScale.z= 1.0f / fatherScale.z; +00193 +00194 <span class="comment">// Compute InverseScale compensation:</span> +00195 <span class="comment">// with UnheritScale, formula per bone should be T*Sf-1*P*R*S*P-1.</span> +00196 <span class="comment">// But getMatrix() return T*P*R*S*P-1.</span> +00197 <span class="comment">// So we must compute T*Sf-1*T-1, in order to get wanted result.</span> +00198 invScaleComp.setScale(fatherScale); +00199 <span class="comment">// Faster compute of the translation part: just "trans + fatherScale MUL -trans" where MUL is comp mul</span> +00200 trans.x-= fatherScale.x * trans.x; +00201 trans.y-= fatherScale.y * trans.y; +00202 trans.z-= fatherScale.z * trans.z; +00203 invScaleComp.setPos(trans); +00204 +00205 +00206 <span class="comment">// And finally, we got ParentWM * T*Sf-1*P*R*S*P-1.</span> +00207 <span class="comment">// Do: _LocalSkeletonMatrix= parent->_LocalSkeletonMatrix * invScaleComp * localMatrix</span> +00208 <span class="keyword">static</span> CMatrix tmp; +00209 tmp.setMulMatrixNoProj( parent->_LocalSkeletonMatrix, invScaleComp ); +00210 <a class="code" href="a02277.html#NL3D_1_1CBoner2">_LocalSkeletonMatrix</a>.setMulMatrixNoProj( tmp, localMatrix ); +00211 } +00212 <span class="comment">// Normal case.</span> +00213 <span class="keywordflow">else</span> +00214 { +00215 <span class="comment">// Do: _LocalSkeletonMatrix= parent->_LocalSkeletonMatrix * localMatrix</span> +00216 <a class="code" href="a02277.html#NL3D_1_1CBoner2">_LocalSkeletonMatrix</a>.setMulMatrixNoProj( parent->_LocalSkeletonMatrix, localMatrix ); +00217 } +00218 } +00219 +00220 <span class="comment">// Compute WorldMatrix. Do: _WorldMatrix= rootMatrix * _LocalSkeletonMatrix</span> +00221 <a class="code" href="a02277.html#NL3D_1_1CBoner8">_WorldMatrix</a>.setMulMatrixNoProj( rootMatrix, _LocalSkeletonMatrix ); +00222 +00223 <span class="comment">// Compute BoneSkinMatrix. Do: _BoneSkinMatrix= _LocalSkeletonMatrix * _BoneBase->InvBindPos</span> +00224 <a class="code" href="a02277.html#NL3D_1_1CBoner1">_BoneSkinMatrix</a>.setMulMatrixNoProj( _LocalSkeletonMatrix, <a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->InvBindPos ); +00225 +00226 <span class="comment">// When compute is done, do extra user ctrl?</span> +00227 <span class="keywordflow">if</span>(<a class="code" href="a02277.html#NL3D_1_1CBoneo0">_AnimCtrl</a> && skeletonForAnimCtrl) +00228 <a class="code" href="a02277.html#NL3D_1_1CBoneo0">_AnimCtrl</a>->execute(skeletonForAnimCtrl, <span class="keyword">this</span>); +00229 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea3" doxytag="NL3D::CBone::forceAnimate" ></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::CBone::forceAnimate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02335.html">CChannelMixer</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>chanMixer</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Force to eval the animation of that bone Useful when a bone position is needed, and if the father skeleton has been clipped (and thus not detail-animated) <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>chanMixer</em> </td><td>the channel mixer to which that bone has been registered</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05492.html#l00194">194</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +References <a class="el" href="a05492.html#l00187">_PivotChannelId</a>, <a class="el" href="a05492.html#l00183">_PosChannelId</a>, <a class="el" href="a05492.html#l00184">_RotEulerChannelId</a>, <a class="el" href="a05492.html#l00185">_RotQuatChannelId</a>, <a class="el" href="a05492.html#l00186">_ScaleChannelId</a>, <a class="el" href="a05543.html#l00255">NL3D::CChannelMixer::evalChannels()</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00195 { +00196 <a class="code" href="a04558.html#a14">sint</a> ids[] = +00197 { +00198 <a class="code" href="a02277.html#NL3D_1_1CBoner4">_PosChannelId</a>, +00199 <a class="code" href="a02277.html#NL3D_1_1CBoner5">_RotEulerChannelId</a>, +00200 <a class="code" href="a02277.html#NL3D_1_1CBoner6">_RotQuatChannelId</a>, +00201 <a class="code" href="a02277.html#NL3D_1_1CBoner7">_ScaleChannelId</a>, +00202 <a class="code" href="a02277.html#NL3D_1_1CBoner3">_PivotChannelId</a> +00203 }; +00204 chanMixer.evalChannels(ids, <span class="keyword">sizeof</span>(ids) / <span class="keyword">sizeof</span>(ids[0])); +00205 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea4" doxytag="NL3D::CBone::getBoneBase" ></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="a02279.html">CBoneBase</a>& NL3D::CBone::getBoneBase </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> +retrieve the boneBase +<p> + +<p> +Definition at line <a class="el" href="a05492.html#l00114">114</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +References <a class="el" href="a05492.html#l00173">_BoneBase</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +Referenced by <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, and <a class="el" href="a06483.html#l00219">NL3D::CTargetAnimCtrl::getCurrentLSRotationFromBone()</a>. +<p> +<div class="fragment"><pre>00114 {<a class="code" href="a04199.html#a6">nlassert</a>(_BoneBase); <span class="keywordflow">return</span> *<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea5" doxytag="NL3D::CBone::getBoneName" ></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"> const std::string& NL3D::CBone::getBoneName </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> +retrieve the boneName from BoneBase. +<p> + +<p> +Definition at line <a class="el" href="a05492.html#l00110">110</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +References <a class="el" href="a05492.html#l00173">_BoneBase</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +<div class="fragment"><pre>00110 {<a class="code" href="a04199.html#a6">nlassert</a>(_BoneBase); <span class="keywordflow">return</span> <a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->Name;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea6" doxytag="NL3D::CBone::getBoneSkinMatrix" ></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"> const <a class="el" href="a02851.html">CMatrix</a>& NL3D::CBone::getBoneSkinMatrix </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> +retrieve the BoneSkinMatrix computed in <a class="el" href="a02277.html#NL3D_1_1CBonea2">compute()</a>. +<p> + +<p> +Definition at line <a class="el" href="a05492.html#l00150">150</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +References <a class="el" href="a05492.html#l00180">_BoneSkinMatrix</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00150 {<span class="keywordflow">return</span> <a class="code" href="a02277.html#NL3D_1_1CBoner1">_BoneSkinMatrix</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonez39_0" doxytag="NL3D::CBone::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"> <a class="el" href="a03542.html">ITrack</a> * NL3D::CBone::getDefaultTrack </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>valueId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +retrive the default trak from skeleton shape. +<p> + +<p> +Implements <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_1">NL3D::ITransformable</a>. +<p> +Definition at line <a class="el" href="a05491.html#l00119">119</a> of file <a class="el" href="a05491.html">bone.cpp</a>. +<p> +References <a class="el" href="a05492.html#l00173">_BoneBase</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00120 { +00121 <a class="code" href="a04199.html#a6">nlassert</a>(_BoneBase); +00122 +00123 <span class="comment">// what value ?</span> +00124 <span class="keywordflow">switch</span> (valueId) +00125 { +00126 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">PosValue</a>: <span class="keywordflow">return</span> &<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultPos; +00127 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6">RotEulerValue</a>: <span class="keywordflow">return</span> &<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultRotEuler; +00128 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8">RotQuatValue</a>: <span class="keywordflow">return</span> &<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultRotQuat; +00129 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9">ScaleValue</a>: <span class="keywordflow">return</span> &<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultScale; +00130 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3">PivotValue</a>: <span class="keywordflow">return</span> &<a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->DefaultPivot; +00131 } +00132 +00133 <span class="comment">// No, only ITrnasformable values!</span> +00134 <a class="code" href="a04199.html#a12">nlstop</a>; +00135 <span class="comment">// Deriver note: else call BaseClass::getDefaultTrack(valueId);</span> +00136 +00137 <span class="keywordflow">return</span> NULL; +00138 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea7" doxytag="NL3D::CBone::getFatherId" ></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#a10">sint32</a> NL3D::CBone::getFatherId </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> +retrieve the fatherId from BoneBase. +<p> + +<p> +Definition at line <a class="el" href="a05492.html#l00112">112</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +References <a class="el" href="a05492.html#l00173">_BoneBase</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00099">sint32</a>. +<p> +Referenced by <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, and <a class="el" href="a06393.html#l00391">NL3D::CSkeletonModel::forceComputeBone()</a>. +<p> +<div class="fragment"><pre>00112 {<a class="code" href="a04199.html#a6">nlassert</a>(_BoneBase); <span class="keywordflow">return</span> <a class="code" href="a02277.html#NL3D_1_1CBoner0">_BoneBase</a>->FatherId;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea8" doxytag="NL3D::CBone::getLocalSkeletonMatrix" ></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"> const <a class="el" href="a02851.html">CMatrix</a>& NL3D::CBone::getLocalSkeletonMatrix </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> +retrieve the matrix local to the skeleton, computed in <a class="el" href="a02277.html#NL3D_1_1CBonea2">compute()</a>. +<p> + +<p> +Definition at line <a class="el" href="a05492.html#l00144">144</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +References <a class="el" href="a05492.html#l00176">_LocalSkeletonMatrix</a>. +<p> +Referenced by <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, and <a class="el" href="a06483.html#l00219">NL3D::CTargetAnimCtrl::getCurrentLSRotationFromBone()</a>. +<p> +<div class="fragment"><pre>00144 {<span class="keywordflow">return</span> <a class="code" href="a02277.html#NL3D_1_1CBoner2">_LocalSkeletonMatrix</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablea1" doxytag="NL3D::CBone::getMatrix" ></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"> const <a class="el" href="a02851.html">CMatrix</a>& NL3D::ITransformable::getMatrix </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, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the matrix, compute her if necessary (work in all modes). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00076">76</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06574.html#l00141">NL3D::ITransformable::updateMatrix()</a>. +<p> +Referenced by <a class="el" href="a06350.html#l00571">NL3D::CInstanceGroup::addToSceneWhenAllShapesLoaded()</a>, <a class="el" href="a05530.html#l00243">NL3D::CCamera::buildCameraPyramid()</a>, <a class="el" href="a05491.html#l00155">compute()</a>, <a class="el" href="a06741.html#l00327">NL3D::CWaterShape::createInstance()</a>, <a class="el" href="a06737.html#l00127">NL3D::CWaterModel::getAttenuatedHeight()</a>, <a class="el" href="a06577.html#l00081">NL3D::CTransformableUser::getMatrix()</a>, <a class="el" href="a05559.html#l00777">NL3D::CCloudScape::render()</a>, <a class="el" href="a06016.html#l00496">NL3D::CMeshMultiLod::renderCoarseMesh()</a>, and <a class="el" href="a06568.html#l00450">NL3D::CTransform::update()</a>. +<p> +<div class="fragment"><pre>00076 {<a class="code" href="a02278.html#NL3D_1_1ITransformabled2">updateMatrix</a>(); <span class="keywordflow">return</span> _LocalMatrix;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablea2" doxytag="NL3D::CBone::getMatrixDate" ></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#a13">uint64</a> NL3D::ITransformable::getMatrixDate </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, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +return the last date of computed matrix. <a class="el" href="a02278.html#NL3D_1_1ITransformabled2">updateMatrix()</a> if necessary. +<p> +Definition at line <a class="el" href="a06575.html#l00090">90</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00318">NL3D::ITransformable::_LocalMatrixDate</a>, <a class="el" href="a05981.html#l00102">uint64</a>, and <a class="el" href="a06574.html#l00141">NL3D::ITransformable::updateMatrix()</a>. +<p> +Referenced by <a class="el" href="a06737.html#l01339">NL3D::CWaterModel::updateDiffuseMapMatrix()</a>. +<p> +<div class="fragment"><pre>00091 { +00092 <a class="code" href="a02278.html#NL3D_1_1ITransformabled2">updateMatrix</a>(); +00093 <span class="keywordflow">return</span> _LocalMatrixDate; +00094 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_0" doxytag="NL3D::CBone::getPivot" ></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="a03128.html">CVector</a> NL3D::ITransformable::getPivot </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00255">255</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00325">NL3D::ITransformable::_Pivot</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +<div class="fragment"><pre>00256 { +00257 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00258 <span class="keywordflow">return</span> _Pivot.Value; +00259 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_1" doxytag="NL3D::CBone::getPivot" ></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::ITransformable::getPivot </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>pivot</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00224">224</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00325">NL3D::ITransformable::_Pivot</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06577.html#l00169">NL3D::CTransformableUser::getPivot()</a>. +<p> +<div class="fragment"><pre>00225 { +00226 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00227 pivot= _Pivot.Value; +00228 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablee0" doxytag="NL3D::CBone::getPivotValueName" ></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"> const char * NL3D::ITransformable::getPivotValueName </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static, inherited]</code></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="a06574.html#l00117">117</a> of file <a class="el" href="a06574.html">transformable.cpp</a>. +<p> +Referenced by <a class="el" href="a06574.html#l00077">NL3D::ITransformable::getValueName()</a>. +<p> +<div class="fragment"><pre>00118 { +00119 <span class="keywordflow">return</span> <span class="stringliteral">"pivot"</span>; +00120 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_2" doxytag="NL3D::CBone::getPos" ></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="a03128.html">CVector</a> NL3D::ITransformable::getPos </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><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode(nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00231">231</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06393.html#l01781">NL3D::CSkeletonModel::generateShadowMap()</a>, <a class="el" href="a06737.html#l00117">NL3D::CWaterModel::getHeight()</a>, <a class="el" href="a06393.html#l02062">NL3D::CSkeletonModel::renderIntoSkeletonShadowMap()</a>, <a class="el" href="a06001.html#l00367">NL3D::CMeshInstance::renderIntoSkeletonShadowMap()</a>, and <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>. +<p> +<div class="fragment"><pre>00232 { +00233 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00234 <span class="keywordflow">return</span> _Pos.Value; +00235 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_3" doxytag="NL3D::CBone::getPos" ></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::ITransformable::getPos </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode(nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00200">200</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06577.html#l00149">NL3D::CTransformableUser::getPos()</a>, <a class="el" href="a06350.html#l01105">NL3D::CInstanceGroup::getPos()</a>, and <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>. +<p> +<div class="fragment"><pre>00201 { +00202 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00203 pos= _Pos.Value; +00204 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablee1" doxytag="NL3D::CBone::getPosValueName" ></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"> const char * NL3D::ITransformable::getPosValueName </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static, inherited]</code></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="a06574.html#l00097">97</a> of file <a class="el" href="a06574.html">transformable.cpp</a>. +<p> +Referenced by <a class="el" href="a06574.html#l00077">NL3D::ITransformable::getValueName()</a>. +<p> +<div class="fragment"><pre>00098 { +00099 <span class="keywordflow">return</span> <span class="stringliteral">"pos"</span>; +00100 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_4" doxytag="NL3D::CBone::getRotEuler" ></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="a03128.html">CVector</a> NL3D::ITransformable::getRotEuler </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in RotEuler mode(nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00237">237</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00322">NL3D::ITransformable::_RotEuler</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +<div class="fragment"><pre>00238 { +00239 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler); +00240 <span class="keywordflow">return</span> _RotEuler.Value; +00241 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_5" doxytag="NL3D::CBone::getRotEuler" ></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::ITransformable::getRotEuler </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>rot</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in RotEuler mode(nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00206">206</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00322">NL3D::ITransformable::_RotEuler</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06577.html#l00154">NL3D::CTransformableUser::getRotEuler()</a>. +<p> +<div class="fragment"><pre>00207 { +00208 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler); +00209 rot= _RotEuler.Value; +00210 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablee2" doxytag="NL3D::CBone::getRotEulerValueName" ></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"> const char * NL3D::ITransformable::getRotEulerValueName </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static, inherited]</code></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="a06574.html#l00102">102</a> of file <a class="el" href="a06574.html">transformable.cpp</a>. +<p> +Referenced by <a class="el" href="a06574.html#l00077">NL3D::ITransformable::getValueName()</a>. +<p> +<div class="fragment"><pre>00103 { +00104 <span class="keywordflow">return</span> <span class="stringliteral">"roteuler"</span>; +00105 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_6" doxytag="NL3D::CBone::getRotOrder" ></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="a02851.html#NLMISC_1_1CMatrixw0">CMatrix::TRotOrder</a> NL3D::ITransformable::getRotOrder </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the current rotorder (information vlaid only when RotEuler mode). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00194">194</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00317">NL3D::ITransformable::_RotOrder</a>. +<p> +Referenced by <a class="el" href="a06577.html#l00143">NL3D::CTransformableUser::getRotOrder()</a>. +<p> +<div class="fragment"><pre>00195 { +00196 <span class="keywordflow">return</span> _RotOrder; +00197 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_7" doxytag="NL3D::CBone::getRotQuat" ></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="a03296.html">CQuat</a> NL3D::ITransformable::getRotQuat </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in RotQuat mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00243">243</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00323">NL3D::ITransformable::_RotQuat</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +<div class="fragment"><pre>00244 { +00245 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotQuat); +00246 <span class="keywordflow">return</span> _RotQuat.Value; +00247 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_8" doxytag="NL3D::CBone::getRotQuat" ></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::ITransformable::getRotQuat </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03296.html">CQuat</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>quat</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in RotQuat mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00212">212</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00323">NL3D::ITransformable::_RotQuat</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06577.html#l00159">NL3D::CTransformableUser::getRotQuat()</a>, and <a class="el" href="a06350.html#l01114">NL3D::CInstanceGroup::getRotQuat()</a>. +<p> +<div class="fragment"><pre>00213 { +00214 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotQuat); +00215 quat= _RotQuat.Value; +00216 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablee3" doxytag="NL3D::CBone::getRotQuatValueName" ></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"> const char * NL3D::ITransformable::getRotQuatValueName </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static, inherited]</code></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="a06574.html#l00107">107</a> of file <a class="el" href="a06574.html">transformable.cpp</a>. +<p> +Referenced by <a class="el" href="a06574.html#l00077">NL3D::ITransformable::getValueName()</a>. +<p> +<div class="fragment"><pre>00108 { +00109 <span class="keywordflow">return</span> <span class="stringliteral">"rotquat"</span>; +00110 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_9" doxytag="NL3D::CBone::getScale" ></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="a03128.html">CVector</a> NL3D::ITransformable::getScale </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><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00249">249</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +<div class="fragment"><pre>00250 { +00251 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00252 <span class="keywordflow">return</span> _Scale.Value; +00253 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_10" doxytag="NL3D::CBone::getScale" ></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::ITransformable::getScale </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>scale</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00218">218</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00155">compute()</a>, and <a class="el" href="a06577.html#l00164">NL3D::CTransformableUser::getScale()</a>. +<p> +<div class="fragment"><pre>00219 { +00220 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00221 scale= _Scale.Value; +00222 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablee4" doxytag="NL3D::CBone::getScaleValueName" ></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"> const char * NL3D::ITransformable::getScaleValueName </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static, inherited]</code></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="a06574.html#l00112">112</a> of file <a class="el" href="a06574.html">transformable.cpp</a>. +<p> +Referenced by <a class="el" href="a06574.html#l00077">NL3D::ITransformable::getValueName()</a>. +<p> +<div class="fragment"><pre>00113 { +00114 <span class="keywordflow">return</span> <span class="stringliteral">"scale"</span>; +00115 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_11" doxytag="NL3D::CBone::getTransformMode" ></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="a02278.html#NL3D_1_1ITransformablew11">TTransformMode</a> NL3D::ITransformable::getTransformMode </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the current transform mode. +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00189">189</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00058">NL3D::ITransformable::TTransformMode</a>. +<p> +Referenced by <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, and <a class="el" href="a06577.html#l00138">NL3D::CTransformableUser::getTransformMode()</a>. +<p> +<div class="fragment"><pre>00190 { +00191 <span class="keywordflow">return</span> _Mode; +00192 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1087_2" doxytag="NL3D::CBone::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"> <a class="el" href="a03835.html">IAnimatedValue</a> * NL3D::ITransformable::getValue </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>valueId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +From <a class="el" href="a02197.html">IAnimatable</a>. +<p> + +<p> +Implements <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_2">NL3D::IAnimatable</a>. +<p> +Reimplemented in <a class="el" href="a02315.html#NL3D_1_1CCameraz48_2">NL3D::CCamera</a>, and <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_3">NL3D::CParticleSystemModel</a>. +<p> +Definition at line <a class="el" href="a06574.html#l00058">58</a> of file <a class="el" href="a06574.html">transformable.cpp</a>. +<p> +References <a class="el" href="a06575.html#l00325">NL3D::ITransformable::_Pivot</a>, <a class="el" href="a06575.html#l00322">NL3D::ITransformable::_RotEuler</a>, <a class="el" href="a06575.html#l00323">NL3D::ITransformable::_RotQuat</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3">NL3D::ITransformable::PivotValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">NL3D::ITransformable::PosValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6">NL3D::ITransformable::RotEulerValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8">NL3D::ITransformable::RotQuatValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9">NL3D::ITransformable::ScaleValue</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00059 { +00060 <span class="comment">// what value ?</span> +00061 <span class="keywordflow">switch</span> (valueId) +00062 { +00063 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">PosValue</a>: <span class="keywordflow">return</span> &_Pos; +00064 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6">RotEulerValue</a>: <span class="keywordflow">return</span> &_RotEuler; +00065 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8">RotQuatValue</a>: <span class="keywordflow">return</span> &_RotQuat; +00066 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9">ScaleValue</a>: <span class="keywordflow">return</span> &_Scale; +00067 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3">PivotValue</a>: <span class="keywordflow">return</span> &_Pivot; +00068 } +00069 +00070 <span class="comment">// No, only ITrnasformable values!</span> +00071 <a class="code" href="a04199.html#a12">nlstop</a>; +00072 <span class="comment">// Deriver note: else call BaseClass::getValue(valueId);</span> +00073 +00074 <span class="keywordflow">return</span> NULL; +00075 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1087_3" doxytag="NL3D::CBone::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"> const char * NL3D::ITransformable::getValueName </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>valueId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [virtual, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +From <a class="el" href="a02197.html">IAnimatable</a>. +<p> + +<p> +Implements <a class="el" href="a02197.html#NL3D_1_1IAnimatablez3_3">NL3D::IAnimatable</a>. +<p> +Reimplemented in <a class="el" href="a02315.html#NL3D_1_1CCameraz48_3">NL3D::CCamera</a>, and <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_4">NL3D::CParticleSystemModel</a>. +<p> +Definition at line <a class="el" href="a06574.html#l00077">77</a> of file <a class="el" href="a06574.html">transformable.cpp</a>. +<p> +References <a class="el" href="a06574.html#l00117">NL3D::ITransformable::getPivotValueName()</a>, <a class="el" href="a06574.html#l00097">NL3D::ITransformable::getPosValueName()</a>, <a class="el" href="a06574.html#l00102">NL3D::ITransformable::getRotEulerValueName()</a>, <a class="el" href="a06574.html#l00107">NL3D::ITransformable::getRotQuatValueName()</a>, <a class="el" href="a06574.html#l00112">NL3D::ITransformable::getScaleValueName()</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3">NL3D::ITransformable::PivotValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">NL3D::ITransformable::PosValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6">NL3D::ITransformable::RotEulerValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8">NL3D::ITransformable::RotQuatValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9">NL3D::ITransformable::ScaleValue</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00078 { +00079 <span class="comment">// what value ?</span> +00080 <span class="keywordflow">switch</span> (valueId) +00081 { +00082 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">PosValue</a>: <span class="keywordflow">return</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablee1">getPosValueName</a> (); +00083 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6">RotEulerValue</a>: <span class="keywordflow">return</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablee2">getRotEulerValueName</a>(); +00084 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8">RotQuatValue</a>: <span class="keywordflow">return</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablee3">getRotQuatValueName</a>(); +00085 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9">ScaleValue</a>: <span class="keywordflow">return</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablee4">getScaleValueName</a>(); +00086 <span class="keywordflow">case</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3">PivotValue</a>: <span class="keywordflow">return</span> <a class="code" href="a02278.html#NL3D_1_1ITransformablee0">getPivotValueName</a>(); +00087 } +00088 +00089 <span class="comment">// No, only ITrnasformable values!</span> +00090 <a class="code" href="a04199.html#a12">nlstop</a>; +00091 <span class="comment">// Deriver note: else call BaseClass::getValueName(valueId);</span> +00092 +00093 <span class="keywordflow">return</span> <span class="stringliteral">""</span>; +00094 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea11" doxytag="NL3D::CBone::getWorldMatrix" ></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"> const <a class="el" href="a02851.html">CMatrix</a>& NL3D::CBone::getWorldMatrix </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> +retrieve the WorldMatrix computed in <a class="el" href="a02277.html#NL3D_1_1CBonea2">compute()</a>. +<p> + +<p> +Definition at line <a class="el" href="a05492.html#l00147">147</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +References <a class="el" href="a05492.html#l00178">_WorldMatrix</a>. +<p> +Referenced by <a class="el" href="a06393.html#l01987">NL3D::CSkeletonModel::computeWorldBBoxForShadow()</a>, <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, and <a class="el" href="a06393.html#l00391">NL3D::CSkeletonModel::forceComputeBone()</a>. +<p> +<div class="fragment"><pre>00147 {<span class="keywordflow">return</span> <a class="code" href="a02277.html#NL3D_1_1CBoner8">_WorldMatrix</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea12" doxytag="NL3D::CBone::interpolateBoneSkinMatrix" ></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::CBone::interpolateBoneSkinMatrix </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02851.html">CMatrix</a> & </td> + <td class="mdname" nowrap> <em>otherMatrix</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>interp</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> +Interpolate the current result of _BoneSkinMatrix fith otherMatrix. when interp==0.f, _BoneSkinMatrix= otherMatrix. NB: the interpolation is made on per-vector basis => bad matrix interpolation. +<p> +Definition at line <a class="el" href="a05491.html#l00233">233</a> of file <a class="el" href="a05491.html">bone.cpp</a>. +<p> +References <a class="el" href="a05492.html#l00180">_BoneSkinMatrix</a>, <a class="el" href="a05972.html#l00419">NLMISC::CMatrix::getI()</a>, <a class="el" href="a05972.html#l00427">NLMISC::CMatrix::getJ()</a>, <a class="el" href="a05972.html#l00435">NLMISC::CMatrix::getK()</a>, <a class="el" href="a05973.html#l00198">NLMISC::CMatrix::getPos()</a>, <a class="el" href="a05972.html#l00267">NLMISC::CMatrix::setPos()</a>, and <a class="el" href="a05972.html#l00209">NLMISC::CMatrix::setRot()</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00234 { +00235 CMatrix &curMatrix= <a class="code" href="a02277.html#NL3D_1_1CBoner1">_BoneSkinMatrix</a>; +00236 +00237 <span class="comment">// interpolate rot/scale. Just interpolate basis vectors</span> +00238 CVector fatherI= otherMatrix.getI(); +00239 CVector curI= curMatrix.getI(); +00240 curI= fatherI*(1-interp) + curI*interp; +00241 CVector fatherJ= otherMatrix.getJ(); +00242 CVector curJ= curMatrix.getJ(); +00243 curJ= fatherJ*(1-interp) + curJ*interp; +00244 CVector fatherK= otherMatrix.getK(); +00245 CVector curK= curMatrix.getK(); +00246 curK= fatherK*(1-interp) + curK*interp; +00247 <span class="comment">// replace rotation</span> +00248 curMatrix.setRot(curI, curJ, curK); +00249 +00250 <span class="comment">// interpolate pos</span> +00251 CVector fatherPos= otherMatrix.getPos(); +00252 CVector curPos= curMatrix.getPos(); +00253 curPos= fatherPos*(1-interp) + curPos*interp; +00254 curMatrix.setPos(curPos); +00255 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez5_0" doxytag="NL3D::CBone::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>valueId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </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">NL3D::IAnimatable::_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">NL3D::IAnimatable::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> _BitSet&(1<<valueId); +00187 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonea13" doxytag="NL3D::CBone::lodEnableChannels" ></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::CBone::lodEnableChannels </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02335.html">CChannelMixer</a> * </td> + <td class="mdname" nowrap> <em>chanMixer</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>enable</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> +enable the channels (lodEnable) associated to this bone in the channelMixer. +<p> + +<p> +Definition at line <a class="el" href="a05491.html#l00259">259</a> of file <a class="el" href="a05491.html">bone.cpp</a>. +<p> +References <a class="el" href="a05492.html#l00187">_PivotChannelId</a>, <a class="el" href="a05492.html#l00183">_PosChannelId</a>, <a class="el" href="a05492.html#l00184">_RotEulerChannelId</a>, <a class="el" href="a05492.html#l00185">_RotQuatChannelId</a>, <a class="el" href="a05492.html#l00186">_ScaleChannelId</a>, <a class="el" href="a05543.html#l00418">NL3D::CChannelMixer::lodEnableChannel()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +<div class="fragment"><pre>00260 { +00261 <a class="code" href="a04199.html#a6">nlassert</a>(chanMixer); +00262 +00263 <span class="comment">// Lod Enable channels if they are correclty registered to the channelMixer.</span> +00264 <span class="keywordflow">if</span>( <a class="code" href="a02277.html#NL3D_1_1CBoner4">_PosChannelId</a>>=0 ) +00265 chanMixer->lodEnableChannel(_PosChannelId, enable); +00266 <span class="keywordflow">if</span>( <a class="code" href="a02277.html#NL3D_1_1CBoner5">_RotEulerChannelId</a>>=0 ) +00267 chanMixer->lodEnableChannel(_RotEulerChannelId, enable); +00268 <span class="keywordflow">if</span>( <a class="code" href="a02277.html#NL3D_1_1CBoner6">_RotQuatChannelId</a>>=0 ) +00269 chanMixer->lodEnableChannel(_RotQuatChannelId, enable); +00270 <span class="keywordflow">if</span>( <a class="code" href="a02277.html#NL3D_1_1CBoner7">_ScaleChannelId</a>>=0 ) +00271 chanMixer->lodEnableChannel(_ScaleChannelId, enable); +00272 <span class="keywordflow">if</span>( <a class="code" href="a02277.html#NL3D_1_1CBoner3">_PivotChannelId</a>>=0 ) +00273 chanMixer->lodEnableChannel(_PivotChannelId, enable); +00274 +00275 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1085_0" doxytag="NL3D::CBone::lookAt" ></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::ITransformable::lookAt </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname" nowrap> <em>eye</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname" nowrap> <em>target</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>roll</em> = 0.f</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Setup Matrix by the lookAt method. Work only in DirectMatrix mode and RotQuat mode (not euler...).<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>eye</em> </td><td>is the coordinate of the object. </td></tr> + <tr><td valign=top><em>target</em> </td><td>is the point the object look at. </td></tr> + <tr><td valign=top><em>roll</em> </td><td>is the roll angle in radian along the object's Y axis.</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06574.html#l00169">169</a> of file <a class="el" href="a06574.html">transformable.cpp</a>. +<p> +References <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew1">NL3D::ITransformable::DirectMatrix</a>, <a class="el" href="a05973.html#l00198">NLMISC::CMatrix::getPos()</a>, <a class="el" href="a05972.html#l00353">NLMISC::CMatrix::getRot()</a>, <a class="el" href="a05972.html#l00200">NLMISC::CMatrix::identity()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06682.html#l00119">NLMISC::CVector::normalize()</a>, <a class="el" href="a05972.html#l00538">NLMISC::CMatrix::rotateY()</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, <a class="el" href="a06575.html#l00174">NL3D::ITransformable::setMatrix()</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="a05972.html#l00267">NLMISC::CMatrix::setPos()</a>, <a class="el" href="a05972.html#l00209">NLMISC::CMatrix::setRot()</a>, <a class="el" href="a06575.html#l00138">NL3D::ITransformable::setRotQuat()</a>, and <a class="el" href="a06575.html#l00145">NL3D::ITransformable::setScale()</a>. +<p> +Referenced by <a class="el" href="a06577.html#l00206">NL3D::CTransformableUser::lookAt()</a>, and <a class="el" href="a05530.html#l00164">NL3D::CCamera::update()</a>. +<p> +<div class="fragment"><pre>00170 { +00171 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotQuat || _Mode==DirectMatrix); +00172 +00173 <span class="comment">// Roll matrix</span> +00174 CMatrix rollMT; +00175 rollMT.identity(); +00176 <span class="keywordflow">if</span> (roll!=0.f) +00177 rollMT.rotateY (roll); +00178 +00179 <span class="comment">// Make the target base</span> +00180 CVector j=target; +00181 j-=eye; +00182 j.normalize(); +00183 CVector i=j^CVector (0,0,1.f); +00184 CVector k=i^j; +00185 k.normalize(); +00186 i=j^k; +00187 i.normalize(); +00188 +00189 <span class="comment">// Make the target matrix</span> +00190 CMatrix targetMT; +00191 targetMT.identity(); +00192 targetMT.setRot (i, j, k); +00193 targetMT.setPos (eye); +00194 +00195 <span class="comment">// Compose matrix</span> +00196 targetMT*=rollMT; +00197 +00198 <span class="comment">// Set the matrix</span> +00199 <span class="keywordflow">if</span>(_Mode==<a class="code" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew1">DirectMatrix</a>) +00200 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_0">setMatrix</a> (targetMT); +00201 <span class="keywordflow">else</span> +00202 { +00203 <span class="comment">// transfrom to quaternion mode.</span> +00204 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_10">setScale</a>(CVector(1,1,1)); +00205 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_2">setPivot</a>(CVector::Null); +00206 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_4">setPos</a>(targetMT.getPos()); +00207 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_7">setRotQuat</a>(targetMT.getRot()); +00208 } +00209 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBonez39_1" doxytag="NL3D::CBone::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"> void NL3D::CBone::registerToChannelMixer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02335.html">CChannelMixer</a> * </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 & </td> + <td class="mdname" nowrap> <em>prefix</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +register the <a class="el" href="a02278.html">ITransformable</a> channels as detailled channels. +<p> + +<p> +Implements <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_4">NL3D::ITransformable</a>. +<p> +Definition at line <a class="el" href="a05491.html#l00141">141</a> of file <a class="el" href="a05491.html">bone.cpp</a>. +<p> +References <a class="el" href="a05492.html#l00187">_PivotChannelId</a>, <a class="el" href="a05492.html#l00183">_PosChannelId</a>, <a class="el" href="a05492.html#l00184">_RotEulerChannelId</a>, <a class="el" href="a05492.html#l00185">_RotQuatChannelId</a>, <a class="el" href="a05492.html#l00186">_ScaleChannelId</a>, and <a class="el" href="a05433.html#l00037">NL3D::IAnimatable::addValue()</a>. +<p> +<div class="fragment"><pre>00142 { +00143 <span class="comment">// For CBone, channels are detailled.</span> +00144 <span class="comment">// Bkup each channelId (for disable).</span> +00145 <a class="code" href="a02277.html#NL3D_1_1CBoner4">_PosChannelId</a>= <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, PosValue, OwnerBit, prefix, <span class="keyword">true</span>); +00146 <a class="code" href="a02277.html#NL3D_1_1CBoner5">_RotEulerChannelId</a>= <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, RotEulerValue, OwnerBit, prefix, <span class="keyword">true</span>); +00147 <a class="code" href="a02277.html#NL3D_1_1CBoner6">_RotQuatChannelId</a>= <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, RotQuatValue, OwnerBit, prefix, <span class="keyword">true</span>); +00148 <a class="code" href="a02277.html#NL3D_1_1CBoner7">_ScaleChannelId</a>= <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, ScaleValue, OwnerBit, prefix, <span class="keyword">true</span>); +00149 <a class="code" href="a02277.html#NL3D_1_1CBoner3">_PivotChannelId</a>= <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, PivotValue, OwnerBit, prefix, <span class="keyword">true</span>); +00150 +00151 <span class="comment">// Deriver note: if necessary, call BaseClass::registerToChannelMixer(chanMixer, prefix);</span> +00152 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez5_1" doxytag="NL3D::CBone::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>count</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </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<=32); +00199 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez5_2" doxytag="NL3D::CBone::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02197.html">IAnimatable</a> * </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> </td> + <td class="mdname" nowrap> <em>fatherOwnerBit</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </td><td>the father we must inform of our update. </td></tr> + <tr><td valign=top><em>fatherOwnerBit</em> </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">NL3D::IAnimatable::_Father</a>, <a class="el" href="a05434.html#l00210">NL3D::IAnimatable::_FatherOwnerBit</a>, <a class="el" href="a05434.html#l00212">NL3D::IAnimatable::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 _Father= father; _FatherOwnerBit= 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::CBone::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname1" valign="top" nowrap> <em>valueId</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">NL3D::IAnimatable::_BitSet</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05434.html#l00212">NL3D::IAnimatable::propagateTouch()</a>, and <a class="el" href="a05434.html#l00168">NL3D::IAnimatable::touch()</a>. +<p> +<div class="fragment"><pre>00240 { +00241 _BitSet|= (1<<valueId); +00242 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_0" doxytag="NL3D::CBone::setMatrix" ></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::ITransformable::setMatrix </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02851.html">CMatrix</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>mat</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in DirecTMatrix mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00174">174</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00318">NL3D::ITransformable::_LocalMatrixDate</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew1">NL3D::ITransformable::DirectMatrix</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +Referenced by <a class="el" href="a06574.html#l00169">NL3D::ITransformable::lookAt()</a>, and <a class="el" href="a06577.html#l00076">NL3D::CTransformableUser::setMatrix()</a>. +<p> +<div class="fragment"><pre>00175 { +00176 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==DirectMatrix); +00177 _LocalMatrix= mat; +00178 <span class="comment">// The matrix has changed.</span> +00179 _LocalMatrixDate++; +00180 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_1" doxytag="NL3D::CBone::setPivot" ></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::ITransformable::setPivot </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>x</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>y</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>z</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00169">169</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00162">NL3D::ITransformable::setPivot()</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>. +<p> +<div class="fragment"><pre>00170 { +00171 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_2">setPivot</a>(CVector(x, y, z)); +00172 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_2" doxytag="NL3D::CBone::setPivot" ></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::ITransformable::setPivot </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>pivot</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00162">162</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00325">NL3D::ITransformable::_Pivot</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew3">NL3D::ITransformable::PivotValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, <a class="el" href="a05434.html#l00168">NL3D::IAnimatable::touch()</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06574.html#l00169">NL3D::ITransformable::lookAt()</a>, <a class="el" href="a06577.html#l00132">NL3D::CTransformableUser::setPivot()</a>, and <a class="el" href="a06575.html#l00169">NL3D::ITransformable::setPivot()</a>. +<p> +<div class="fragment"><pre>00163 { +00164 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00165 _Pivot.Value= pivot; +00166 <a class="code" href="a02197.html#NL3D_1_1ITransformablez5_3">touch</a>(PivotValue, OwnerBit); +00167 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_3" doxytag="NL3D::CBone::setPos" ></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::ITransformable::setPos </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>x</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>y</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>z</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode(nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00121">121</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00114">NL3D::ITransformable::setPos()</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>. +<p> +<div class="fragment"><pre>00122 { +00123 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_4">setPos</a>(CVector(x,y,z)); +00124 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_4" doxytag="NL3D::CBone::setPos" ></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::ITransformable::setPos </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode(nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00114">114</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">NL3D::ITransformable::PosValue</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, <a class="el" href="a05434.html#l00168">NL3D::IAnimatable::touch()</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a05530.html#l00196">NL3D::CCamera::build()</a>, <a class="el" href="a06574.html#l00169">NL3D::ITransformable::lookAt()</a>, <a class="el" href="a06577.html#l00097">NL3D::CTransformableUser::setPos()</a>, <a class="el" href="a06575.html#l00121">NL3D::ITransformable::setPos()</a>, <a class="el" href="a06350.html#l01090">NL3D::CInstanceGroup::setPos()</a>, and <a class="el" href="a06244.html#l00146">NL3D::CPSLight::step()</a>. +<p> +<div class="fragment"><pre>00115 { +00116 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00117 _Pos.Value= pos; +00118 <a class="code" href="a02197.html#NL3D_1_1ITransformablez5_3">touch</a>(PosValue, OwnerBit); +00119 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_5" doxytag="NL3D::CBone::setRotEuler" ></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::ITransformable::setRotEuler </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>rotX</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>rotY</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>rotZ</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in RotEuler mode(nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00133">133</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00126">NL3D::ITransformable::setRotEuler()</a>. +<p> +<div class="fragment"><pre>00134 { +00135 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_6">setRotEuler</a>(CVector(rotX, rotY, rotZ)); +00136 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_6" doxytag="NL3D::CBone::setRotEuler" ></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::ITransformable::setRotEuler </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>rot</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in RotEuler mode(nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00126">126</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00322">NL3D::ITransformable::_RotEuler</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew6">NL3D::ITransformable::RotEulerValue</a>, <a class="el" href="a05434.html#l00168">NL3D::IAnimatable::touch()</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06577.html#l00102">NL3D::CTransformableUser::setRotEuler()</a>, and <a class="el" href="a06575.html#l00133">NL3D::ITransformable::setRotEuler()</a>. +<p> +<div class="fragment"><pre>00127 { +00128 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler); +00129 _RotEuler.Value= rot; +00130 <a class="code" href="a02197.html#NL3D_1_1ITransformablez5_3">touch</a>(RotEulerValue, OwnerBit); +00131 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_7" doxytag="NL3D::CBone::setRotQuat" ></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::ITransformable::setRotQuat </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03296.html">CQuat</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>quat</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in RotQuat mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00138">138</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00323">NL3D::ITransformable::_RotQuat</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew8">NL3D::ITransformable::RotQuatValue</a>, <a class="el" href="a05434.html#l00168">NL3D::IAnimatable::touch()</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, <a class="el" href="a06574.html#l00169">NL3D::ITransformable::lookAt()</a>, <a class="el" href="a06577.html#l00107">NL3D::CTransformableUser::setRotQuat()</a>, and <a class="el" href="a06350.html#l01098">NL3D::CInstanceGroup::setRotQuat()</a>. +<p> +<div class="fragment"><pre>00139 { +00140 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotQuat); +00141 _RotQuat.Value= quat; +00142 <a class="code" href="a02197.html#NL3D_1_1ITransformablez5_3">touch</a>(RotQuatValue, OwnerBit); +00143 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_8" doxytag="NL3D::CBone::setScale" ></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::ITransformable::setScale </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>scale</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00157">157</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00145">NL3D::ITransformable::setScale()</a>. +<p> +<div class="fragment"><pre>00158 { +00159 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_10">setScale</a>(CVector(scale, scale, scale)); +00160 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_9" doxytag="NL3D::CBone::setScale" ></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::ITransformable::setScale </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>scaleX</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>scaleY</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>scaleZ</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00152">152</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00145">NL3D::ITransformable::setScale()</a>. +<p> +<div class="fragment"><pre>00153 { +00154 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_10">setScale</a>(CVector(scaleX, scaleY, scaleZ)); +00155 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_10" doxytag="NL3D::CBone::setScale" ></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::ITransformable::setScale </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>scale</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Work only in Rot* mode (nlassert). +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00145">145</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew5">NL3D::ITransformable::RotEuler</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablew11NL3D_1_1ITransformablew7">NL3D::ITransformable::RotQuat</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew9">NL3D::ITransformable::ScaleValue</a>, <a class="el" href="a05434.html#l00168">NL3D::IAnimatable::touch()</a>, and <a class="el" href="a05442.html#l00116">NL3D::CAnimatedValueBlendable< T >::Value</a>. +<p> +Referenced by <a class="el" href="a06574.html#l00169">NL3D::ITransformable::lookAt()</a>, <a class="el" href="a06577.html#l00128">NL3D::CTransformableUser::setScale()</a>, and <a class="el" href="a06575.html#l00152">NL3D::ITransformable::setScale()</a>. +<p> +<div class="fragment"><pre>00146 { +00147 <a class="code" href="a04199.html#a6">nlassert</a>(_Mode==RotEuler || _Mode==RotQuat); +00148 _Scale.Value= scale; +00149 <a class="code" href="a02197.html#NL3D_1_1ITransformablez5_3">touch</a>(ScaleValue, OwnerBit); +00150 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1079_0" doxytag="NL3D::CBone::setTransformMode" ></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::ITransformable::setTransformMode </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02278.html#NL3D_1_1ITransformablew11">TTransformMode</a> </td> + <td class="mdname" nowrap> <em>mode</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02851.html#NLMISC_1_1CMatrixw0">CMatrix::TRotOrder</a> </td> + <td class="mdname" nowrap> <em>ro</em> = CMatrix::ZXY</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Change the transform mode. Components or matrix are not reseted. +<p> + +<p> +Definition at line <a class="el" href="a06575.html#l00100">100</a> of file <a class="el" href="a06575.html">transformable.h</a>. +<p> +References <a class="el" href="a06575.html#l00317">NL3D::ITransformable::_RotOrder</a>, <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_0NL3D_1_1ITransformablew4">NL3D::ITransformable::PosValue</a>, and <a class="el" href="a05434.html#l00168">NL3D::IAnimatable::touch()</a>. +<p> +Referenced by <a class="el" href="a05530.html#l00196">NL3D::CCamera::build()</a>, <a class="el" href="a05531.html#l00125">NL3D::CCamera::enableTargetAnimation()</a>, <a class="el" href="a06250.html#l00225">NL3D::CPSMesh::newElement()</a>, <a class="el" href="a06577.html#l00092">NL3D::CTransformableUser::setTransformMode()</a>, and <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>. +<p> +<div class="fragment"><pre>00101 { +00102 _Mode= mode; +00103 _RotOrder= ro; +00104 <span class="comment">// just for information.</span> +00105 <a class="code" href="a02197.html#NL3D_1_1ITransformablez5_3">touch</a>(PosValue, OwnerBit); +00106 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez5_3" doxytag="NL3D::CBone::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </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> </td> + <td class="mdname" nowrap> <em>ownerValueId</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, inherited]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </td><td>is the animated value ID in the object we want to touch. </td></tr> + <tr><td valign=top><em>ownerValueId</em> </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">NL3D::IAnimatable::propagateTouch()</a>, <a class="el" href="a05434.html#l00239">NL3D::IAnimatable::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>Field Documentation</h2> +<a class="anchor" name="NL3D_1_1CBoneo0" doxytag="NL3D::CBone::_AnimCtrl" ></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="a03836.html">IAnimCtrl</a>* <a class="el" href="a02277.html#NL3D_1_1CBoneo0">NL3D::CBone::_AnimCtrl</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05492.html#l00166">166</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00093">CBone()</a>, <a class="el" href="a05491.html#l00155">compute()</a>, and <a class="el" href="a06393.html#l01745">NL3D::CSkeletonModel::setBoneAnimCtrl()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner0" doxytag="NL3D::CBone::_BoneBase" ></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="a02279.html">CBoneBase</a>> <a class="el" href="a02277.html#NL3D_1_1CBoner0">NL3D::CBone::_BoneBase</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="a05492.html#l00173">173</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00093">CBone()</a>, <a class="el" href="a05491.html#l00155">compute()</a>, <a class="el" href="a05492.html#l00114">getBoneBase()</a>, <a class="el" href="a05492.html#l00110">getBoneName()</a>, <a class="el" href="a05491.html#l00119">getDefaultTrack()</a>, and <a class="el" href="a05492.html#l00112">getFatherId()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner1" doxytag="NL3D::CBone::_BoneSkinMatrix" ></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="a02851.html">CMatrix</a> <a class="el" href="a02277.html#NL3D_1_1CBoner1">NL3D::CBone::_BoneSkinMatrix</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="a05492.html#l00180">180</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00155">compute()</a>, <a class="el" href="a05492.html#l00150">getBoneSkinMatrix()</a>, and <a class="el" href="a05491.html#l00233">interpolateBoneSkinMatrix()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner2" doxytag="NL3D::CBone::_LocalSkeletonMatrix" ></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="a02851.html">CMatrix</a> <a class="el" href="a02277.html#NL3D_1_1CBoner2">NL3D::CBone::_LocalSkeletonMatrix</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="a05492.html#l00176">176</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00155">compute()</a>, and <a class="el" href="a05492.html#l00144">getLocalSkeletonMatrix()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoneo1" doxytag="NL3D::CBone::_MaxSphere" ></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="a02291.html">NLMISC::CBSphere</a> <a class="el" href="a02277.html#NL3D_1_1CBoneo1">NL3D::CBone::_MaxSphere</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05492.html#l00169">169</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l01987">NL3D::CSkeletonModel::computeWorldBBoxForShadow()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner3" doxytag="NL3D::CBone::_PivotChannelId" ></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> <a class="el" href="a02277.html#NL3D_1_1CBoner3">NL3D::CBone::_PivotChannelId</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="a05492.html#l00187">187</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00093">CBone()</a>, <a class="el" href="a05492.html#l00194">forceAnimate()</a>, <a class="el" href="a05491.html#l00259">lodEnableChannels()</a>, and <a class="el" href="a05491.html#l00141">registerToChannelMixer()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner4" doxytag="NL3D::CBone::_PosChannelId" ></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> <a class="el" href="a02277.html#NL3D_1_1CBoner4">NL3D::CBone::_PosChannelId</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="a05492.html#l00183">183</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00093">CBone()</a>, <a class="el" href="a05492.html#l00194">forceAnimate()</a>, <a class="el" href="a05491.html#l00259">lodEnableChannels()</a>, and <a class="el" href="a05491.html#l00141">registerToChannelMixer()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner5" doxytag="NL3D::CBone::_RotEulerChannelId" ></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> <a class="el" href="a02277.html#NL3D_1_1CBoner5">NL3D::CBone::_RotEulerChannelId</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="a05492.html#l00184">184</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00093">CBone()</a>, <a class="el" href="a05492.html#l00194">forceAnimate()</a>, <a class="el" href="a05491.html#l00259">lodEnableChannels()</a>, and <a class="el" href="a05491.html#l00141">registerToChannelMixer()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner6" doxytag="NL3D::CBone::_RotQuatChannelId" ></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> <a class="el" href="a02277.html#NL3D_1_1CBoner6">NL3D::CBone::_RotQuatChannelId</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="a05492.html#l00185">185</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00093">CBone()</a>, <a class="el" href="a05492.html#l00194">forceAnimate()</a>, <a class="el" href="a05491.html#l00259">lodEnableChannels()</a>, and <a class="el" href="a05491.html#l00141">registerToChannelMixer()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner7" doxytag="NL3D::CBone::_ScaleChannelId" ></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> <a class="el" href="a02277.html#NL3D_1_1CBoner7">NL3D::CBone::_ScaleChannelId</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="a05492.html#l00186">186</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00093">CBone()</a>, <a class="el" href="a05492.html#l00194">forceAnimate()</a>, <a class="el" href="a05491.html#l00259">lodEnableChannels()</a>, and <a class="el" href="a05491.html#l00141">registerToChannelMixer()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CBoner8" doxytag="NL3D::CBone::_WorldMatrix" ></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="a02851.html">CMatrix</a> <a class="el" href="a02277.html#NL3D_1_1CBoner8">NL3D::CBone::_WorldMatrix</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="a05492.html#l00178">178</a> of file <a class="el" href="a05492.html">bone.h</a>. +<p> +Referenced by <a class="el" href="a05491.html#l00155">compute()</a>, and <a class="el" href="a05492.html#l00147">getWorldMatrix()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05492.html">bone.h</a><li><a class="el" href="a05491.html">bone.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:44:38 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> |