diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a02316.html | 10529 |
1 files changed, 10529 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02316.html b/docs/doxygen/nel/a02316.html new file mode 100644 index 00000000..a4710e95 --- /dev/null +++ b/docs/doxygen/nel/a02316.html @@ -0,0 +1,10529 @@ +<!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::CTransform 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::CTransform Class Reference</h1><code>#include <<a class="el" href="a06569.html">transform.h</a>></code> +<p> +<p>Inheritance diagram for NL3D::CTransform: +<p><center><img src="a02316.png" usemap="#NL3D::CTransform_map" border="0" alt=""></center> +<map name="NL3D::CTransform_map"> +<area href="a02209.html" alt="NLMISC::CRefCount" shape="rect" coords="0,56,216,80"> +<area href="a02278.html" alt="NL3D::ITransformable" shape="rect" coords="226,56,442,80"> +<area href="a02197.html" alt="NL3D::IAnimatable" shape="rect" coords="226,0,442,24"> +<area href="a02315.html" alt="NL3D::CCamera" shape="rect" coords="339,168,555,192"> +<area href="a02362.html" alt="NL3D::CCluster" shape="rect" coords="339,224,555,248"> +<area href="a02713.html" alt="NL3D::CLandscapeModel" shape="rect" coords="339,280,555,304"> +<area href="a03093.html" alt="NL3D::CPointLightModel" shape="rect" coords="339,336,555,360"> +<area href="a03287.html" alt="NL3D::CQuadGridClipManager" shape="rect" coords="339,392,555,416"> +<area href="a03340.html" alt="NL3D::CRootModel" shape="rect" coords="339,448,555,472"> +<area href="a02537.html" alt="NL3D::CTransformShape" shape="rect" coords="339,504,555,528"> +<area href="a03672.html" alt="NL3D::CVegetableBlendLayerModel" shape="rect" coords="339,560,555,584"> +</map> +<hr><a name="_details"></a><h2>Detailed Description</h2> +A basic node which provide an animatable matrix (<a class="el" href="a02278.html">ITransformable</a>). May be derived for each node who want to support such a scheme (<a class="el" href="a02315.html">CCamera</a>, <a class="el" href="a02743.html">CLight</a>, CInstance ... )<p> +<a class="el" href="a02316.html">CTransform</a> ALWAYS herit scale from fathers! (joints skeleton may not...) (nbyoyo: else, this breaks the <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_4">update()</a> system).<p> +<a class="el" href="a02316.html">CTransform</a> Default tracks are identity (derived class may change this).<p> +<a class="el" href="a02316.html">CTransform</a> by default IS NOT RENDERABLE. ie never inserted in renderList. Deriver should call setIsRenderable(true) to make the model renderable<p> +<a class="el" href="a02316.html">CTransform</a> by default IS NOT ANIMDETAIL-able. ie never inserted in anim detail list. It is automatically inserted in anim detail list if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1023_0">registerToChannelMixer()</a> is called. Deriver should call setIsForceAnimdetail(true) to make the model always anim-detail-ed<p> +<a class="el" href="a02316.html">CTransform</a> by default IS NOT LOADBALANCE-able. ie never inserted into list for LoadBlancing. Deriver should call setIsLoadbalancable(true) to support this traversal.<p> +<dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00098">98</a> of file <a class="el" href="a06569.html">transform.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>Model updating/traversing features</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1017_0">clip</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">clip method called by <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_1">traverseClip()</a>. deafult is always visible <a href="#NL3D_1_1CTransformz1017_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="a02316.html#NL3D_1_1CWaveMakerModelz1017_0">initModel</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CVegetableBlendLayerModelz1017_1">profileRender</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Called at RenderTrav to profile current render. no-op per default. <a href="#NL3D_1_1CVegetableBlendLayerModelz1017_1"></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="a02316.html#NL3D_1_1CWaterModelz1017_1">traverseAnimDetail</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">call <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1047_1">updateWorldMatrixFromFather()</a>, then <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1047_0">traverseAnimDetailWithoutUpdateWorldMatrix()</a> <a href="#NL3D_1_1CWaterModelz1017_1"></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="a02316.html#NL3D_1_1CWaveMakerModelz1017_1">traverseClip</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_2">traverseHrc</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Each method is called in its associated traversal. <a href="#NL3D_1_1CWaveMakerModelz1017_2"></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="a02316.html#NL3D_1_1CWaveMakerModelz1017_3">traverseLight</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">traverse the lightedModel per default: recompute LightContribution is <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_4">isLightable()</a> <a href="#NL3D_1_1CWaveMakerModelz1017_3"></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="a02316.html#NL3D_1_1CVegetableBlendLayerModelz1017_6">traverseLoadBalancing</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">no-op by default <a href="#NL3D_1_1CVegetableBlendLayerModelz1017_6"></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="a02316.html#NL3D_1_1CTransformz1017_8">traverseRender</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">no-op by default <a href="#NL3D_1_1CTransformz1017_8"></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="a02316.html#NL3D_1_1CWaveMakerModelz1017_4">update</a> ()</td></tr> + +<tr><td colspan=2><br><h2>[NOHEADER]</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_0">freezeStaticLightSetup</a> (<a class="el" href="a03091.html">CPointLight</a> *pointLight[NL3D_MAX_LIGHT_CONTRIBUTION], <a class="el" href="a04558.html#a15">uint</a> numPointLights, <a class="el" href="a04558.html#a7">uint8</a> sunContribution, <a class="el" href="a03091.html">CPointLight</a> *frozenAmbientlight)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02744.html">CLightContribution</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_1">getLightContribution</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CVegetableBlendLayerModelz1024_2">getLightHotSpotInWorld</a> (<a class="el" href="a03128.html">CVector</a> &modelPos, float &modelRadius) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_2">getUserLightable</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_3">isBigLightable</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_4">isLightable</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_5">resetLighting</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_6">setUserLightable</a> (bool enable)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_7">unfreezeStaticLightSetup</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_8">useMergedPointLight</a> () const </td></tr> + +<tr><td colspan=2><br><h2>Derived from ITransformable.</h2></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="a02316.html#NL3D_1_1CVegetableBlendLayerModelz1023_0">getDefaultTrack</a> (<a class="el" href="a04558.html#a15">uint</a> valueId)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Default Track Values are identity (pos,pivot= 0, scale= 1, rots=0). <a href="#NL3D_1_1CVegetableBlendLayerModelz1023_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="a02316.html#NL3D_1_1CWaveMakerModelz1023_0">registerToChannelMixer</a> (<a class="el" href="a02335.html">CChannelMixer</a> *chanMixer, const std::string &prefix)</td></tr> + +<tr><td colspan=2><br><h2>Skinning Behavior.</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const std::vector<<br> + <a class="el" href="a02291.html">NLMISC::CBSphere</a> > * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_0">getSkinBoneSphere</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const std::vector<<br> + <a class="el" href="a04558.html#a10">sint32</a> > * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_1">getSkinBoneUsage</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Deriver must change this method if the model can be skinned. called rarely. <a href="#NL3D_1_1CWaveMakerModelz1032_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_3">renderShadowSkinGeom</a> (<a class="el" href="a04558.html#a15">uint</a> remainingVertices, <a class="el" href="a04558.html#a7">uint8</a> *vbDest)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_4">renderShadowSkinPrimitives</a> (<a class="el" href="a02839.html">CMaterial</a> &castMat, <a class="el" href="a02434.html">IDriver</a> *drv, <a class="el" href="a04558.html#a15">uint</a> baseVertex)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_5">renderSkin</a> (float alphaMRM)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_6">renderSkinGroupGeom</a> (float alphaMRM, <a class="el" href="a04558.html#a15">uint</a> remainingVertices, <a class="el" href="a04558.html#a7">uint8</a> *dest)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_7">renderSkinGroupPrimitives</a> (<a class="el" href="a04558.html#a15">uint</a> baseVertex, std::vector< <a class="el" href="a03407.html">CSkinSpecularRdrPass</a> > &specularRdrPasses, <a class="el" href="a04558.html#a15">uint</a> skinIndex)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_8">renderSkinGroupSpecularRdrPass</a> (<a class="el" href="a04558.html#a15">uint</a> rdrPass)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Render a specific specular renderPass returned by renderSkinGroupPrimitives. <a href="#NL3D_1_1CWaveMakerModelz1032_8"></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="a02316.html#NL3D_1_1CWaveMakerModelz1032_9">setApplySkin</a> (bool state)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_10">supportShadowSkinGrouping</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Special Skinning For ShadowMapping. <a href="#NL3D_1_1CWaveMakerModelz1032_10"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_11">supportSkinGrouping</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_12">_FatherBoneId</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03399.html">CSkeletonModel</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a></td></tr> + +<tr><td colspan=2><br><h2>[NOHEADER]</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_0">isNeedUpdateFrozenStaticLightSetup</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">non-zero if the object has a FrozenStaticLightSetup not correclty updated. <a href="#NL3D_1_1CWaveMakerModelz1033_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_1">isNeedUpdateLighting</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">non-zero if the object needs to updatelighting. <a href="#NL3D_1_1CWaveMakerModelz1033_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02744.html">CLightContribution</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The contribution of all lights. This enlarge the struct only of approx 15%. <a href="#NL3D_1_1CWaveMakerModelz1033_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02749.html">CLightingManager::CQGItLightedModel</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_3">_LightedModelIt</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">each transform may be in a quadGird of lighted models (see <a class="el" href="a02747.html">CLightingManager</a>) <a href="#NL3D_1_1CWaveMakerModelz1033_3"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Hrc Traversal</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_0">updateClipTravForAncestorSkeleton</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_1">updateWorld</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Update the world state according to the parent world state and the local states. <a href="#NL3D_1_1CWaveMakerModelz1043_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03399.html">CSkeletonModel</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_3">_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_4">_DontUnfreezeChildren</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_5">_Frozen</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a12">sint64</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_6">_LocalDate</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="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Hrc IN variables. <a href="#NL3D_1_1CWaveMakerModelz1043_7"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02639.html#NL3D_1_1CHrcTravw3">CHrcTrav::TVisibility</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_8">_LocalVis</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a12">sint64</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_9">_WorldDate</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="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">_WorldMatrix</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Hrc OUT variables. <a href="#NL3D_1_1CWaveMakerModelz1043_10"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_11">_WorldVis</a></td></tr> + +<tr><td colspan=2><br><h2>State Flag mgt (boolean compression)</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0">TState</a> { <br> + <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy5">IsAnimDetailable</a> = 0x0001, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy15">IsLoadBalancable</a> = 0x0002, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy14">IsLightable</a> = 0x0004, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy20">IsRenderable</a> = 0x0008, +<br> + <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy26">IsTransparent</a> = 0x0010, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy19">IsOpaque</a> = 0x0020, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy28">QuadGridClipEnabled</a> = 0x0040, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy27">IsUserLightable</a> = 0x0080, +<br> + <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy9">IsFinalLightable</a> = 0x0100, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy6">IsBigLightable</a> = 0x0200, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy18">IsNeedUpdateLighting</a> = 0x0400, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy17">IsNeedUpdateFrozenStaticLightSetup</a>, +<br> + <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy23">IsSkeleton</a> = 0x1000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy24">IsSkinned</a> = 0x2000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy8">IsDeleteChannelMixer</a> = 0x4000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy12">IsForceAnimDetail</a> = 0x8000, +<br> + <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy16">IsMeshBaseInstance</a> = 0x10000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy25">IsTransformShape</a> = 0x20000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy7">IsCluster</a> = 0x40000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy30">UserClipping</a> = 0x80000, +<br> + <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy21">IsShadowMapCaster</a> = 0x100000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy10">IsFinalShadowMapCaster</a> = 0x200000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy22">IsShadowMapReceiver</a> = 0x400000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy11">IsFinalShadowMapReceiver</a> = 0x800000, +<br> + <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy13">IsGeneratingShadowMap</a> = 0x1000000, +<a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0">ForceClipRoot</a> = 0x2000000 +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">State Flags. <a href="#NL3D_1_1CTransformz1041_0">More...</a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a> (<a class="el" href="a04558.html#a11">uint32</a> mask) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">return a non zero-value if state is set. <a href="#NL3D_1_1CTransformz1041_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a> (<a class="el" href="a04558.html#a11">uint32</a> mask, bool val)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">This is used to set Static or dynamic flags. val must take 0 or 1. <a href="#NL3D_1_1CTransformz1041_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1041_3">_StateFlags</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Flags for the General State of the Transform. They are both static or dynamic flags. <a href="#NL3D_1_1CTransformz1041_3"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Hrc / Clip hierarchy.</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1037_0">clipDelFromParent</a> (<a class="el" href="a02316.html">CTransform</a> *parent)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1037_1">clipHasParent</a> (<a class="el" href="a02316.html">CTransform</a> *parent)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a03612.html">CClipNode</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02518.html">CFastPtrList</a>< <a class="el" href="a02316.html">CTransform</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1037_3">_ClipSons</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02520.html">CFastPtrListNode</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1037_4">_HrcNode</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02316.html">CTransform</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>< <a class="el" href="a02316.html">CTransform</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1037_6">_HrcParentUnfreeze</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02518.html">CFastPtrList</a>< <a class="el" href="a02316.html">CTransform</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1037_7">_HrcSons</a></td></tr> + +<tr><td colspan=2><br><h2>Model updating/traversing features</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1039_0">linkToUpdateList</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1039_1">unlinkFromUpdateList</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02316.html">CTransform</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02316.html">CTransform</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a></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>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="a02316.html#NL3D_1_1CWaveMakerModela3">freeze</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela4">freezeHRC</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CVegetableBlendLayerModela3">getAABBox</a> (<a class="el" href="a02156.html">NLMISC::CAABBox</a> &bbox) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03399.html">CSkeletonModel</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela6">getAncestorSkeletonModel</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela7">getChannelMixerOwnerShip</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02671.html">CInstanceGroup</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela8">getClusterSystem</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela11">getForceClipRoot</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="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><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela19">getOrderingLayer</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the ordering layer. <a href="#NL3D_1_1CWaveMakerModela19"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03348.html">CScene</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">get the scene which has created us <a href="#NL3D_1_1CWaveMakerModela20"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a14">sint</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypea8">getRefCount</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03399.html">CSkeletonModel</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela22">getSkeletonModel</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the skeleton model. Returnr NULL in normal mode. <a href="#NL3D_1_1CWaveMakerModela22"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela23">getUserClipping</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the user clipping state. <a href="#NL3D_1_1CWaveMakerModela23"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02639.html#NL3D_1_1CHrcTravw3">CHrcTrav::TVisibility</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela24">getVisibility</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the local visibility state. <a href="#NL3D_1_1CWaveMakerModela24"></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="a02316.html#NL3D_1_1CWaveMakerModela25">getWorldMatrix</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela26">heritVisibility</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">herit the visibility from his father. (default behavior). <a href="#NL3D_1_1CWaveMakerModela26"></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="a02316.html#NL3D_1_1CWaveMakerModela27">hide</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Hide the object and his sons. <a href="#NL3D_1_1CWaveMakerModela27"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela28">isClipVisible</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela29">isHrcVisible</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela31">isOpaque</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela32">isQuadGridClipEnabled</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela34">isTransparent</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela35">setChannelMixerOwnerShip</a> (bool enable=true)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela36">setClusterSystem</a> (<a class="el" href="a02671.html">CInstanceGroup</a> *pCS)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela38">setDontUnfreezeChildren</a> (bool val)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela39">setForceClipRoot</a> (bool forceClipRoot)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela40">setLogicInfo</a> (<a class="el" href="a03863.html">ILogicInfo</a> *logicInfo)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela41">setOpacity</a> (bool <a class="el" href="a04223.html#a576">v</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela42">setOrderingLayer</a> (<a class="el" href="a04558.html#a15">uint</a> layer)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela43">setTransparency</a> (bool <a class="el" href="a04223.html#a576">v</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela44">setUserClipping</a> (bool enable)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela45">setWorldMatrix</a> (const <a class="el" href="a02851.html">CMatrix</a> &mat)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela46">show</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Show the objet and his sons. <a href="#NL3D_1_1CWaveMakerModela46"></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="a02316.html#NL3D_1_1CWaveMakerModela49">unfreezeHRC</a> ()</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 class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransforme5">registerBasic</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Call at the begining of the program, to register the model. <a href="#NL3D_1_1CTransforme5"></a><br><br></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="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>CPtrInfo * </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">pinfo</a></td></tr> + +<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>CPtrInfo </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NullPtrInfo</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> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformb2">CTransform</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelb2">forceCompute</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02335.html">CChannelMixer</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelb3">getChannelMixer</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelb4">getShowWhenLODSticked</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Test if obj must be displayed when sticked to an object displayed as a LOD (example: sword in hand of a character displayed as a LOD state). <a href="#NL3D_1_1CWaveMakerModelb4"></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 class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CVegetableBlendLayerModelb7">unlinkFromQuadCluster</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">special feature for <a class="el" href="a03287.html">CQuadGridClipManager</a>. called at <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela49">unfreezeHRC()</a>. Used by <a class="el" href="a02537.html">CTransformShape</a>. <a href="#NL3D_1_1CVegetableBlendLayerModelb7"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformb8">~CTransform</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#NL3D_1_1CTransformb8"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelp0">_RenderFilterType</a></td></tr> + +<tr><td colspan=2><br><h2>Private Types</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformy29">TFreezeHRCState</a> { <a class="el" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a> = 0, +<a class="el" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy4">FreezeHRCStateRequest</a>, +<a class="el" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy3">FreezeHRCStateReady</a>, +<a class="el" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy2">FreezeHRCStateEnabled</a> + }</td></tr> + +<tr><td colspan=2><br><h2>Static Private Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02316.html">CTransform</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformh0">creator</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03321.html">NLMISC::CRefPtr</a>< <a class="el" href="a02335.html">CChannelMixer</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr0">_ChannelMixer</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02671.html">CInstanceGroup</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr1">_ClusterSystem</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr2">_ForceCLodSticked</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02316.html#NL3D_1_1CTransformy29">TFreezeHRCState</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a></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="a02316.html#NL3D_1_1CTransformr4">_LastTransformableMatrixDate</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03863.html">ILogicInfo</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr5">_LogicInfo</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">See <a class="el" href="a03863.html">ILogicInfo</a>. Used for lighting. default is NULL. <a href="#NL3D_1_1CTransformr5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03337.html">CRGBA</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr6">_MeanColor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">see <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1028_7">setMeanColor()</a> <a href="#NL3D_1_1CTransformr6"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr7">_OrderingLayer</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03348.html">CScene</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">true if need to compute transform <a href="#NL3D_1_1CTransformr9"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02639.html#NL3D_1_1CHrcTravw3">CHrcTrav::TVisibility</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a></td></tr> + +<tr><td colspan=2><br><h2>Static Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03551.html">CTrackDefaultVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformv0">DefaultPivot</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03551.html">CTrackDefaultVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformv1">DefaultPos</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03551.html">CTrackDefaultVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformv2">DefaultRotEuler</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03548.html">CTrackDefaultQuat</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformv3">DefaultRotQuat</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03551.html">CTrackDefaultVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformv4">DefaultScale</a></td></tr> + +<tr><td colspan=2><br><h2>Friends</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformn0">CAnimDetailTrav</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformn1">CClipTrav</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html#NLGEORGES_1_1UTypen0">CPtrInfo</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformn3">CScene</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02316.html#NL3D_1_1CTransformn4">CSkeletonModel</a></td></tr> + +</table> +<hr><h2>Member Enumeration Documentation</h2> +<a class="anchor" name="NL3D_1_1ITransformablez1087_0" doxytag="NL3D::CTransform::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_1CTransformy29" doxytag="NL3D::CTransform::TFreezeHRCState" ></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="a02316.html#NL3D_1_1CTransformy29">NL3D::CTransform::TFreezeHRCState</a><code> [private]</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_1CTransformy29NL3D_1_1CTransformy1" doxytag="FreezeHRCStateDisabled" ></a>FreezeHRCStateDisabled</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformy29NL3D_1_1CTransformy4" doxytag="FreezeHRCStateRequest" ></a>FreezeHRCStateRequest</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformy29NL3D_1_1CTransformy3" doxytag="FreezeHRCStateReady" ></a>FreezeHRCStateReady</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformy29NL3D_1_1CTransformy2" doxytag="FreezeHRCStateEnabled" ></a>FreezeHRCStateEnabled</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a06569.html#l00740">740</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +<div class="fragment"><pre>00740 { <a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>=0, <a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy4">FreezeHRCStateRequest</a>, <a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy3">FreezeHRCStateReady</a>, <a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy2">FreezeHRCStateEnabled</a>}; +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1041_0" doxytag="NL3D::CTransform::TState" ></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="a02316.html#NL3D_1_1CTransformz1041_0">NL3D::CTransform::TState</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +State Flags. +<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_1CTransformz1041_0NL3D_1_1CTransformy5" doxytag="IsAnimDetailable" ></a>IsAnimDetailable</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy15" doxytag="IsLoadBalancable" ></a>IsLoadBalancable</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy14" doxytag="IsLightable" ></a>IsLightable</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy20" doxytag="IsRenderable" ></a>IsRenderable</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy26" doxytag="IsTransparent" ></a>IsTransparent</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy19" doxytag="IsOpaque" ></a>IsOpaque</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy28" doxytag="QuadGridClipEnabled" ></a>QuadGridClipEnabled</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy27" doxytag="IsUserLightable" ></a>IsUserLightable</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy9" doxytag="IsFinalLightable" ></a>IsFinalLightable</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy6" doxytag="IsBigLightable" ></a>IsBigLightable</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy18" doxytag="IsNeedUpdateLighting" ></a>IsNeedUpdateLighting</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy17" doxytag="IsNeedUpdateFrozenStaticLightSetup" ></a>IsNeedUpdateFrozenStaticLightSetup</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy23" doxytag="IsSkeleton" ></a>IsSkeleton</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy24" doxytag="IsSkinned" ></a>IsSkinned</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy8" doxytag="IsDeleteChannelMixer" ></a>IsDeleteChannelMixer</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy12" doxytag="IsForceAnimDetail" ></a>IsForceAnimDetail</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy16" doxytag="IsMeshBaseInstance" ></a>IsMeshBaseInstance</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy25" doxytag="IsTransformShape" ></a>IsTransformShape</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy7" doxytag="IsCluster" ></a>IsCluster</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy30" doxytag="UserClipping" ></a>UserClipping</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy21" doxytag="IsShadowMapCaster" ></a>IsShadowMapCaster</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy10" doxytag="IsFinalShadowMapCaster" ></a>IsFinalShadowMapCaster</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy22" doxytag="IsShadowMapReceiver" ></a>IsShadowMapReceiver</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy11" doxytag="IsFinalShadowMapReceiver" ></a>IsFinalShadowMapReceiver</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy13" doxytag="IsGeneratingShadowMap" ></a>IsGeneratingShadowMap</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0" doxytag="ForceClipRoot" ></a>ForceClipRoot</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a06569.html#l00763">763</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +<div class="fragment"><pre>00763 { +00764 <span class="comment">// Post-clipping Traversal flags. If set, then the object is inserted into traversal list.</span> +00765 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy5">IsAnimDetailable</a>= 0x0001, +00766 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy15">IsLoadBalancable</a>= 0x0002, +00767 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy14">IsLightable</a>= 0x0004, +00768 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy20">IsRenderable</a>= 0x0008, +00769 <span class="comment">// Transparency Flags.</span> +00770 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy26">IsTransparent</a>= 0x0010, +00771 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy19">IsOpaque</a>= 0x0020, +00772 <span class="comment">// For fast clip.</span> +00773 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy28">QuadGridClipEnabled</a>= 0x0040, +00774 <span class="comment">// Lighting.</span> +00775 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy27">IsUserLightable</a>= 0x0080, +00776 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy9">IsFinalLightable</a>= 0x0100, <span class="comment">// IsLightable && IsUserLightable</span> +00777 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy6">IsBigLightable</a>= 0x0200, +00778 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy18">IsNeedUpdateLighting</a>= 0x0400, +00779 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy17">IsNeedUpdateFrozenStaticLightSetup</a>= +00780 0x0800, +00781 <span class="comment">// Skinning</span> +00782 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy23">IsSkeleton</a>= 0x1000, <span class="comment">// set if the model is a skeleton (faster than dynamic_cast)</span> +00783 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy24">IsSkinned</a>= 0x2000, <span class="comment">// true if the model is isSkinnable() and if currently skinned</span> +00784 <span class="comment">// Misc</span> +00785 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy8">IsDeleteChannelMixer</a>= 0x4000, +00786 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy12">IsForceAnimDetail</a>= 0x8000, +00787 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy16">IsMeshBaseInstance</a>= 0x10000, +00788 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy25">IsTransformShape</a>= 0x20000, <span class="comment">// set if the model is a transform_shape (faster than dynamic_cast)</span> +00789 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy7">IsCluster</a>= 0x40000, <span class="comment">// set if the model is a cluster (faster than dynamic_cast)</span> +00790 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy30">UserClipping</a>= 0x80000, <span class="comment">// set if the user provide a clip method, don't call clip() in ClipTrav</span> +00791 +00792 <span class="comment">// ShadowMap</span> +00793 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy21">IsShadowMapCaster</a>= 0x100000, <span class="comment">// set if the model can cast ShadowMap</span> +00794 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy10">IsFinalShadowMapCaster</a>= 0x200000, <span class="comment">// set if the model can cast ShadowMap AND the user want it</span> +00795 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy22">IsShadowMapReceiver</a>= 0x400000, <span class="comment">// set if the model can receive ShadowMap</span> +00796 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy11">IsFinalShadowMapReceiver</a>= 0x800000, <span class="comment">// set if the model can receive ShadowMap AND the user want it</span> +00797 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy13">IsGeneratingShadowMap</a>= 0x1000000, <span class="comment">// temp set if the model is asked to render its shadowMap this frame.</span> +00798 +00799 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0">ForceClipRoot</a> = 0x2000000 <span class="comment">// Force the object to always be attached to the root</span> +00800 <span class="comment">// As a consequence, it can't be inserted into a cluster system (even the root cluster)</span> +00801 <span class="comment">// and is thus always visible when in the frustum</span> +00802 <span class="comment">// NB: may continue on >=0x2000000</span> +00803 }; +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablew11" doxytag="NL3D::CTransform::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_1CTransformb2" doxytag="NL3D::CTransform::CTransform" ></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::CTransform::CTransform </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> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor The deriver <b>should</b> do a <code>TouchObs.resize(Last)</code>, to ensure he resize the BitSet correctly. The dervier <b>should</b> keep/declare ctor and dtor protected, to avoid user error (new and delete). +<p> +Definition at line <a class="el" href="a06568.html#l00052">52</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00851">_AncestorSkeletonModel</a>, <a class="el" href="a06569.html#l00865">_ClipDate</a>, <a class="el" href="a06569.html#l00849">_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>, <a class="el" href="a06569.html#l00737">_ClusterSystem</a>, <a class="el" href="a06569.html#l00848">_DontUnfreezeChildren</a>, <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00746">_ForceCLodSticked</a>, <a class="el" href="a06569.html#l00741">_FreezeHRCState</a>, <a class="el" href="a06569.html#l00847">_Frozen</a>, <a class="el" href="a06569.html#l00700">_HrcParent</a>, <a class="el" href="a06569.html#l00701">_HrcParentUnfreeze</a>, <a class="el" href="a06569.html#l00869">_IndexInVisibleList</a>, <a class="el" href="a06569.html#l00735">_LastTransformableMatrixDate</a>, <a class="el" href="a06569.html#l00894">_LoadBalancingGroup</a>, <a class="el" href="a06569.html#l00841">_LocalDate</a>, <a class="el" href="a06569.html#l00839">_LocalMatrix</a>, <a class="el" href="a06569.html#l00840">_LocalVis</a>, <a class="el" href="a06569.html#l00752">_LogicInfo</a>, <a class="el" href="a06569.html#l00756">_MeanColor</a>, <a class="el" href="a06569.html#l00722">_NextModelToUpdate</a>, <a class="el" href="a06569.html#l00743">_OrderingLayer</a>, <a class="el" href="a06569.html#l00693">_OwnerScene</a>, <a class="el" href="a06569.html#l00721">_PrecModelToUpdate</a>, <a class="el" href="a06569.html#l00830">_RenderFilterType</a>, <a class="el" href="a06569.html#l00806">_StateFlags</a>, <a class="el" href="a06569.html#l00749">_TransformDirty</a>, <a class="el" href="a06569.html#l00867">_Visible</a>, <a class="el" href="a06569.html#l00845">_WorldDate</a>, <a class="el" href="a06569.html#l00844">_WorldVis</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>, <a class="el" href="a05972.html#l00200">NLMISC::CMatrix::identity()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy27">IsUserLightable</a>, <a class="el" href="a06339.html#l00066">NLMISC::CRGBA::set()</a>, and <a class="el" href="a06569.html#l00543">Visibility</a>. +<p> +<div class="fragment"><pre>00053 { +00054 <span class="comment">// important to reset for destructor to know if linked or not (CCluster !!)</span> +00055 <a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>= NULL; +00056 +00057 <span class="comment">// Hrc/Graph hierarchy</span> +00058 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>= NULL; +00059 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_6">_HrcParentUnfreeze</a>= NULL; +00060 +00061 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a>= NULL; +00062 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>= NULL; +00063 +00064 <a class="code" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a>= <span class="keyword">true</span>; +00065 +00066 <a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>= CHrcTrav::Herit; +00067 +00068 <a class="code" href="a02316.html#NL3D_1_1CTransformr4">_LastTransformableMatrixDate</a>= 0; +00069 +00070 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>= NULL; +00071 +00072 <a class="code" href="a02316.html#NL3D_1_1CTransformr1">_ClusterSystem</a> = NULL; +00073 +00074 <a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>; +00075 +00076 <a class="code" href="a02316.html#NL3D_1_1CTransformr7">_OrderingLayer</a> = 2; +00077 +00078 +00079 <span class="comment">// No logicInfo by default</span> +00080 <a class="code" href="a02316.html#NL3D_1_1CTransformr5">_LogicInfo</a>= NULL; +00081 +00082 <a class="code" href="a02316.html#NL3D_1_1CTransformr2">_ForceCLodSticked</a>= <span class="keyword">false</span>; +00083 +00084 <span class="comment">// default MeanColor value</span> +00085 <a class="code" href="a02316.html#NL3D_1_1CTransformr6">_MeanColor</a>.<a class="code" href="a03337.html#NLMISC_1_1CRGBAa14">set</a>(255,255,255,255); +00086 +00087 +00088 <span class="comment">// Setup some state.</span> +00089 +00090 <span class="comment">/*</span> +00091 <span class="comment"> Default are:</span> +00092 <span class="comment"> IsAnimDetailable= 0</span> +00093 <span class="comment"> IsLoadBalancable= 0</span> +00094 <span class="comment"> IsLightable= 0</span> +00095 <span class="comment"> IsRenderable= 0</span> +00096 <span class="comment"> IsTransparent= 0</span> +00097 <span class="comment"> IsOpaque= 1</span> +00098 <span class="comment"> QuadGridClipEnabled= 0.</span> +00099 <span class="comment"></span> +00100 <span class="comment"> IsUserLightable= 1 // default, the model may be lighted.</span> +00101 <span class="comment"> IsFinalLightable= 0</span> +00102 <span class="comment"> IsNeedUpdateLighting= 0</span> +00103 <span class="comment"> ISNeedUpdateFrozenStaticLightSetup= 0</span> +00104 <span class="comment"></span> +00105 <span class="comment"> IsSkeleton= 0</span> +00106 <span class="comment"> IsTransformShape=0</span> +00107 <span class="comment"> IsCluster= 0</span> +00108 <span class="comment"> IsMeshBaseInstance= 0</span> +00109 <span class="comment"></span> +00110 <span class="comment"> IsDeleteChannelMixer = 0;</span> +00111 <span class="comment"> */</span> +00112 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_3">_StateFlags</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy19">IsOpaque</a> | <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy27">IsUserLightable</a>; +00113 +00114 <span class="comment">// By default, always allow rendering of Transform Models.</span> +00115 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelp0">_RenderFilterType</a>= ~0; +00116 +00117 +00118 <span class="comment">// **** HRC Init Traversal Computed Data.</span> +00119 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_8">_LocalVis</a>= CHrcTrav::Herit; <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a>.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_0">identity</a>(); <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_6">_LocalDate</a>=0; +00120 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_11">_WorldVis</a>= <span class="keyword">true</span>; <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">_WorldMatrix</a>.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_0">identity</a>(); +00121 <span class="comment">// Init the _WorldDate to -1 so at first pass, _LocalDate>_WorldDate, and so</span> +00122 <span class="comment">// the model will be processed and so it'll may be inserted in LightingManager (for example)</span> +00123 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_9">_WorldDate</a>=-1; +00124 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_5">_Frozen</a> = <span class="keyword">false</span>; +00125 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_4">_DontUnfreezeChildren</a> = <span class="keyword">false</span>; +00126 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>= NULL; +00127 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_3">_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>= <span class="keyword">false</span>; +00128 +00129 <span class="comment">// **** Clip Init Traversal Computed Data.</span> +00130 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_0">_ClipDate</a>= 0; +00131 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>=<span class="keyword">false</span>; +00132 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_1">_IndexInVisibleList</a>= -1; +00133 +00134 <span class="comment">// **** AnimDetail Init Traversal Computed Data.</span> +00135 <span class="comment">// none</span> +00136 +00137 <span class="comment">// **** LoadBalancing Init Traversal Computed Data.</span> +00138 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1049_0">_LoadBalancingGroup</a>= NULL; +00139 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformb8" doxytag="NL3D::CTransform::~CTransform" ></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::CTransform::~<a class="el" href="a02316.html">CTransform</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Destructor. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00143">143</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00712">_ClipParents</a>, <a class="el" href="a06569.html#l00711">_ClipSons</a>, <a class="el" href="a05556.html#l00168">NL3D::CClipTrav::_CurrentNumVisibleModels</a>, <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00700">_HrcParent</a>, <a class="el" href="a06569.html#l00699">_HrcSons</a>, <a class="el" href="a06569.html#l00869">_IndexInVisibleList</a>, <a class="el" href="a06569.html#l00634">_LightedModelIt</a>, <a class="el" href="a05556.html#l00167">NL3D::CClipTrav::_VisibleList</a>, <a class="el" href="a06568.html#l01238">clipDelChild()</a>, <a class="el" href="a06568.html#l01265">clipGetChild()</a>, <a class="el" href="a06569.html#l00237">clipGetNumChildren()</a>, <a class="el" href="a06568.html#l01248">clipUnlinkFromAll()</a>, <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, <a class="el" href="a05705.html#l00136">NL3D::CFastPtrList< CTransform >::empty()</a>, <a class="el" href="a05901.html#l00217">NL3D::CLightingManager::eraseStaticLightedModel()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0">ForceClipRoot</a>, <a class="el" href="a06569.html#l00257">getChannelMixerOwnerShip()</a>, <a class="el" href="a06349.html#l00475">NL3D::CScene::getClipTrav()</a>, <a class="el" href="a06349.html#l00476">NL3D::CScene::getLightTrav()</a>, <a class="el" href="a06569.html#l00105">getOwnerScene()</a>, <a class="el" href="a06568.html#l01202">hrcGetChild()</a>, <a class="el" href="a06569.html#l00220">hrcGetNumChildren()</a>, <a class="el" href="a06568.html#l01181">hrcUnlink()</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a05898.html#l00097">NL3D::CLightTrav::LightingManager</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a06568.html#l00988">resetLighting()</a>, <a class="el" href="a06569.html#l00809">setStateFlag()</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a06568.html#l00630">unlinkFromUpdateList()</a>. +<p> +<div class="fragment"><pre>00144 { +00145 <span class="comment">// If still binded to a father skeleton</span> +00146 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a> ) +00147 { +00148 <span class="comment">/* If skinned, cannot detach me from skeleton here because detachSkeletonSon()</span> +00149 <span class="comment"> use some virtual calls of transform: setApplySkin().</span> +00150 <span class="comment"> Hence, It is the deriver job to detach himself from the skeleton.</span> +00151 <span class="comment"></span> +00152 <span class="comment"> NB: test isSkinned(), not isSkinnable(), since isSkinned() is not virtual ....</span> +00153 <span class="comment"> This means that if a Mesh isSkinnable(), but never skinned, it is not asserted here.</span> +00154 <span class="comment"> */</span> +00155 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>() ) +00156 { +00157 <a class="code" href="a04199.html#a12">nlstop</a>; +00158 } +00159 <span class="keywordflow">else</span> +00160 <span class="comment">// Can detach Me. Important for UTransform sticked</span> +00161 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->detachSkeletonSon(<span class="keyword">this</span>); +00162 } +00163 +00164 <span class="comment">// resetLighting, removing me from PointLight Transform list.</span> +00165 <span class="comment">// NB: not done for FrozenStaticLightSetup, because those lights don't owns me.</span> +00166 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_5">resetLighting</a>(); +00167 +00168 <span class="comment">// Must also remove me from the lightingManager.</span> +00169 <span class="comment">// must test getOwnerScene() because of CCluster usage out of CScene (thanks to mat!! :) )</span> +00170 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()) +00171 { +00172 CLightTrav &lightTrav= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getLightTrav(); +00173 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_3">_LightedModelIt</a>= lightTrav.LightingManager.eraseStaticLightedModel(_LightedModelIt); +00174 } +00175 +00176 <span class="keywordflow">if</span> (<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela7">getChannelMixerOwnerShip</a>()) <span class="keyword">delete</span> (CChannelMixer *) <a class="code" href="a02316.html#NL3D_1_1CTransformr0">_ChannelMixer</a>; +00177 +00178 <span class="comment">// ensure the model is no more linked to the UpdateList.</span> +00179 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_1">unlinkFromUpdateList</a>(); +00180 +00181 <span class="comment">// I must remove me from _VisibleList.</span> +00182 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_1">_IndexInVisibleList</a>>=0) +00183 { +00184 <a class="code" href="a02316.html#NL3D_1_1CTransformn1">CClipTrav</a> &clipTrav= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getClipTrav(); +00185 <a class="code" href="a04199.html#a6">nlassert</a>(_IndexInVisibleList < (<a class="code" href="a04558.html#a14">sint</a>)clipTrav._CurrentNumVisibleModels ); +00186 <span class="comment">// Mark NULL. NB: faster than a CRefPtr.</span> +00187 clipTrav._VisibleList[<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_1">_IndexInVisibleList</a>]= NULL; +00188 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_1">_IndexInVisibleList</a>= -1; +00189 } +00190 +00191 <span class="comment">// remove me from parents in Hrc and Clip</span> +00192 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(ForceClipRoot, <span class="keyword">false</span>); <span class="comment">// ensure that not 'glued' to the root so that the following call will succeed</span> +00193 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1019_4">hrcUnlink</a>(); +00194 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_6">clipUnlinkFromAll</a>(); +00195 +00196 <span class="comment">// remove mys sons.</span> +00197 <span class="keywordflow">while</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1019_1">hrcGetNumChildren</a>()) +00198 { +00199 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1019_0">hrcGetChild</a>(0)->hrcUnlink(); +00200 } +00201 <span class="keywordflow">while</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_3">clipGetNumChildren</a>()) +00202 { +00203 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_1">clipDelChild</a>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_2">clipGetChild</a>(0)); +00204 } +00205 +00206 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_7">_HrcSons</a>.empty()); +00207 <a class="code" href="a04199.html#a6">nlassert</a>(_HrcParent==NULL); +00208 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_3">_ClipSons</a>.empty()); +00209 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>.empty()); +00210 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NL3D_1_1ITransformableb0" doxytag="NL3D::CTransform::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">registerToChannelMixer()</a>, <a class="el" href="a06148.html#l00470">NL3D::CParticleSystemModel::registerToChannelMixer()</a>, <a class="el" href="a05530.html#l00151">NL3D::CCamera::registerToChannelMixer()</a>, <a class="el" href="a05491.html#l00141">NL3D::CBone::registerToChannelMixer()</a>, <a class="el" href="a05439.html#l00102">NL3D::CAnimatedMorph::registerToChannelMixer()</a>, <a class="el" href="a05437.html#l00376">NL3D::CAnimatedMaterial::registerToChannelMixer()</a>, and <a class="el" href="a05435.html#l00139">NL3D::CAnimatedLightmap::registerToChannelMixer()</a>. +<p> +<div class="fragment"><pre>00038 { +00039 <a class="code" href="a04199.html#a6">nlassert</a>(chanMixer); +00040 <span class="keywordflow">return</span> chanMixer->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="a02316.html#NL3D_1_1CVegetableBlendLayerModelz1023_0">getDefaultTrack</a>(valueId), valueId, ownerValueId, detail); +00041 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_0" doxytag="NL3D::CTransform::canCastShadowMap" ></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::CTransform::canCastShadowMap </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> +true if the instance cast shadow. By default false +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00470">470</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy10">IsFinalShadowMapCaster</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06568.html#l01335">enableCastShadowMap()</a>, <a class="el" href="a06569.html#l00514">setGeneratingShadowMap()</a>, and <a class="el" href="a06001.html#l00330">NL3D::CMeshInstance::traverseRender()</a>. +<p> +<div class="fragment"><pre>00470 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsFinalShadowMapCaster)!=0;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_1" doxytag="NL3D::CTransform::canReceiveShadowMap" ></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::CTransform::canReceiveShadowMap </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> +true if the instance receive shadow. By default false +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00477">477</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy11">IsFinalShadowMapReceiver</a>. +<p> +Referenced by <a class="el" href="a05874.html#l00554">NL3D::CLandscapeUser::canReceiveShadowMap()</a>, and <a class="el" href="a05870.html#l00257">NL3D::CLandscapeModel::traverseRender()</a>. +<p> +<div class="fragment"><pre>00477 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsFinalShadowMapReceiver)!=0;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformableb1" doxytag="NL3D::CTransform::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_1CTransformz1017_0" doxytag="NL3D::CTransform::clip" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NL3D::CTransform::clip </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, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +clip method called by <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_1">traverseClip()</a>. deafult is always visible +<p> + +<p> +Reimplemented in <a class="el" href="a02362.html#NL3D_1_1CClusterz70_0">NL3D::CCluster</a>, <a class="el" href="a02713.html#NL3D_1_1CLandscapeModela0">NL3D::CLandscapeModel</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz627_0">NL3D::CParticleSystemModel</a>, <a class="el" href="a02537.html#NL3D_1_1CWaveMakerModelz1057_0">NL3D::CTransformShape</a>, <a class="el" href="a03672.html#NL3D_1_1CVegetableBlendLayerModelz1102_0">NL3D::CVegetableBlendLayerModel</a>, and <a class="el" href="a03721.html#NL3D_1_1CWaterModelz1176_0">NL3D::CWaterModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00155">155</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00806">traverseClip()</a>. +<p> +<div class="fragment"><pre>00156 { +00157 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00158 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1021_0" doxytag="NL3D::CTransform::clipAddChild" ></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::CTransform::clipAddChild </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02316.html">CTransform</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>son</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> + +<p> +Definition at line <a class="el" href="a06568.html#l01217">1217</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00712">_ClipParents</a>, <a class="el" href="a06569.html#l00711">_ClipSons</a>, <a class="el" href="a06568.html#l01273">clipHasParent()</a>, <a class="el" href="a06569.html#l00708">NL3D::CTransform::CClipNode::ClipNode</a>, <a class="el" href="a05705.html#l00128">NL3D::CFastPtrList< CTransform >::insert()</a>, and <a class="el" href="a06569.html#l00709">NL3D::CTransform::CClipNode::Parent</a>. +<p> +Referenced by <a class="el" href="a06348.html#l01004">NL3D::CScene::createModel()</a>, <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, <a class="el" href="a05870.html#l00075">NL3D::CLandscapeModel::initModel()</a>, <a class="el" href="a06348.html#l00277">NL3D::CScene::initQuadGridClipManager()</a>, <a class="el" href="a06302.html#l00086">NL3D::CQuadGridClipClusterListDist::resetSons()</a>, <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>, and <a class="el" href="a06568.html#l00748">updateClipTravForAncestorSkeleton()</a>. +<p> +<div class="fragment"><pre>01218 { +01219 <span class="keywordflow">if</span>(!son) +01220 <span class="keywordflow">return</span>; +01221 +01222 <span class="comment">// if already linked, no-op.</span> +01223 <span class="keywordflow">if</span>(son->clipHasParent(<span class="keyword">this</span>)) +01224 <span class="keywordflow">return</span>; +01225 +01226 <span class="comment">// add a new parent entry for our son.</span> +01227 CClipNode *clipNode= <span class="keyword">new</span> CClipNode; +01228 son->_ClipParents.push_back(clipNode); +01229 +01230 <span class="comment">// link the son to us</span> +01231 clipNode->Parent= <span class="keyword">this</span>; +01232 +01233 <span class="comment">// link us to the son </span> +01234 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_3">_ClipSons</a>.insert(son, &clipNode->ClipNode); +01235 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1021_1" doxytag="NL3D::CTransform::clipDelChild" ></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::CTransform::clipDelChild </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02316.html">CTransform</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>son</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> + +<p> +Definition at line <a class="el" href="a06568.html#l01238">1238</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06568.html#l01286">clipDelFromParent()</a>. +<p> +Referenced by <a class="el" href="a06348.html#l00249">NL3D::CScene::initDefaultRoots()</a>, <a class="el" href="a05870.html#l00075">NL3D::CLandscapeModel::initModel()</a>, <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>01239 { +01240 <span class="keywordflow">if</span>(!son) +01241 <span class="keywordflow">return</span>; +01242 +01243 <span class="comment">// try to remove from me from my parent</span> +01244 son->clipDelFromParent(<span class="keyword">this</span>); +01245 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1037_0" doxytag="NL3D::CTransform::clipDelFromParent" ></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::CTransform::clipDelFromParent </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02316.html">CTransform</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>parent</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</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="a06568.html#l01286">1286</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00712">_ClipParents</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01238">clipDelChild()</a>, and <a class="el" href="a06568.html#l01248">clipUnlinkFromAll()</a>. +<p> +<div class="fragment"><pre>01287 { +01288 <span class="comment">// search O(n) for all Parents</span> +01289 <a class="code" href="a04558.html#a15">uint</a> numParents= <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>.size(); +01290 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i<numParents;i++) +01291 { +01292 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>[i]->Parent==parent) +01293 { +01294 <span class="comment">// found! remove me from my parent list</span> +01295 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>[i]->ClipNode.unlink(); +01296 +01297 <span class="comment">// remove this parent entry. swap with last</span> +01298 swap(_ClipParents[i], _ClipParents[numParents-1]); +01299 +01300 <span class="comment">// and delete last.</span> +01301 <span class="keyword">delete</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>[numParents-1]; +01302 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>.resize(numParents-1); +01303 +01304 <span class="keywordflow">break</span>; +01305 } +01306 } +01307 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1021_2" doxytag="NL3D::CTransform::clipGetChild" ></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="a02316.html">CTransform</a> * NL3D::CTransform::clipGetChild </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>index</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</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="a06568.html#l01265">1265</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00711">_ClipSons</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05705.html#l00135">NL3D::CFastPtrList< CTransform >::size()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05563.html#l00405">NL3D::CCluster::recursTraverseClip()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, <a class="el" href="a06341.html#l00052">NL3D::CRootModel::traverseClip()</a>, <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>01266 { +01267 <a class="code" href="a04199.html#a6">nlassert</a>(index < <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_3">_ClipSons</a>.size()); +01268 <span class="keywordflow">return</span> (const_cast<CTransform*>(<span class="keyword">this</span>))->_ClipSons.begin()[<a class="code" href="a04223.html#a566">index</a>]; +01269 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1021_3" doxytag="NL3D::CTransform::clipGetNumChildren" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CTransform::clipGetNumChildren </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> + +<p> +Definition at line <a class="el" href="a06569.html#l00237">237</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00711">_ClipSons</a>, <a class="el" href="a05705.html#l00135">NL3D::CFastPtrList< CTransform >::size()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05563.html#l00405">NL3D::CCluster::recursTraverseClip()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, <a class="el" href="a06341.html#l00052">NL3D::CRootModel::traverseClip()</a>, <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>00237 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_3">_ClipSons</a>.size();} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1021_4" doxytag="NL3D::CTransform::clipGetNumParents" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CTransform::clipGetNumParents </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> + +<p> +Definition at line <a class="el" href="a06569.html#l00234">234</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00712">_ClipParents</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01248">clipUnlinkFromAll()</a>, <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>, and <a class="el" href="a06568.html#l00748">updateClipTravForAncestorSkeleton()</a>. +<p> +<div class="fragment"><pre>00234 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>.size();} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1021_5" doxytag="NL3D::CTransform::clipGetParent" ></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="a02316.html">CTransform</a> * NL3D::CTransform::clipGetParent </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>index</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</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="a06568.html#l01258">1258</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00712">_ClipParents</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01248">clipUnlinkFromAll()</a>, <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>, and <a class="el" href="a06568.html#l00748">updateClipTravForAncestorSkeleton()</a>. +<p> +<div class="fragment"><pre>01259 { +01260 <a class="code" href="a04199.html#a6">nlassert</a>(index < <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>.size()); +01261 <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>[<a class="code" href="a04223.html#a566">index</a>]->Parent; +01262 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1037_1" doxytag="NL3D::CTransform::clipHasParent" ></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::CTransform::clipHasParent </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02316.html">CTransform</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>parent</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</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="a06568.html#l01273">1273</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00712">_ClipParents</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01217">clipAddChild()</a>. +<p> +<div class="fragment"><pre>01274 { +01275 <span class="comment">// search O(n) for all parents</span> +01276 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i<<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>.size();i++) +01277 { +01278 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_2">_ClipParents</a>[i]->Parent==parent) +01279 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01280 } +01281 +01282 <span class="keywordflow">return</span> <span class="keyword">false</span>; +01283 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1021_6" doxytag="NL3D::CTransform::clipUnlinkFromAll" ></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::CTransform::clipUnlinkFromAll </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l01248">1248</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06568.html#l01286">clipDelFromParent()</a>, <a class="el" href="a06569.html#l00234">clipGetNumParents()</a>, and <a class="el" href="a06568.html#l01258">clipGetParent()</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00497">NL3D::CSkeletonModel::bindSkin()</a>, <a class="el" href="a06348.html#l00277">NL3D::CScene::initQuadGridClipManager()</a>, <a class="el" href="a06568.html#l00748">updateClipTravForAncestorSkeleton()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>01249 { +01250 <span class="comment">// unlink from all parent clip</span> +01251 <span class="keywordflow">while</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_4">clipGetNumParents</a>() ) +01252 { +01253 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_0">clipDelFromParent</a>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_5">clipGetParent</a>(0) ); +01254 } +01255 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablea0" doxytag="NL3D::CTransform::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_1CWaveMakerModelz1030_2" doxytag="NL3D::CTransform::computeWorldBBoxForShadow" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NL3D::CTransform::computeWorldBBoxForShadow </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02156.html">NLMISC::CAABBox</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>worldBB</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Special For Skeleton Caster. When Skeletons cast shadows, they first compute the WorldBBox. The model should compute its bbox in World (best fit). <dl compact><dt><b>Returns:</b></dt><dd>false if the model don't support it (default), or if hidden in HRC!!</dd></dl> + +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez465_0">NL3D::CMeshInstance</a>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz934_0">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00521">521</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l01987">NL3D::CSkeletonModel::computeWorldBBoxForShadow()</a>. +<p> +<div class="fragment"><pre>00521 {<span class="keywordflow">return</span> <span class="keyword">false</span>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1051_0" doxytag="NL3D::CTransform::createShadowMap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::createShadowMap </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, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +To implement for ShadowCaster support. typically allocate a <a class="el" href="a03370.html">CShadowMap</a> and store NB: the texture doesn't have to be inited at this time. Update it each frame in <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1030_5">generateShadowMap()</a> +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstanceb3">NL3D::CMeshInstance</a>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelb2">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00902">902</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01335">enableCastShadowMap()</a>. +<p> +<div class="fragment"><pre>00902 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformh0" doxytag="NL3D::CTransform::creator" ></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="a02316.html">CTransform</a>* NL3D::CTransform::creator </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, static, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Reimplemented in <a class="el" href="a02315.html#NL3D_1_1CCamerah0">NL3D::CCamera</a>, <a class="el" href="a02362.html#NL3D_1_1CClusterh0">NL3D::CCluster</a>, <a class="el" href="a02536.html#NL3D_1_1CFlareModele0">NL3D::CFlareModel</a>, <a class="el" href="a02713.html#NL3D_1_1CLandscapeModelh0">NL3D::CLandscapeModel</a>, <a class="el" href="a02873.html#NL3D_1_1CMeshBaseInstanceh0">NL3D::CMeshBaseInstance</a>, <a class="el" href="a02888.html#NL3D_1_1CMeshInstanceh0">NL3D::CMeshInstance</a>, <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstanceh0">NL3D::CMeshMRMInstance</a>, <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstanceh0">NL3D::CMeshMRMSkinnedInstance</a>, <a class="el" href="a02914.html#NL3D_1_1CMeshMultiLodInstanceh0">NL3D::CMeshMultiLodInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModele0">NL3D::CParticleSystemModel</a>, <a class="el" href="a03093.html#NL3D_1_1CPointLightModelh0">NL3D::CPointLightModel</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagerh0">NL3D::CQuadGridClipManager</a>, <a class="el" href="a03340.html#NL3D_1_1CRootModelh0">NL3D::CRootModel</a>, <a class="el" href="a03357.html#NL3D_1_1CSegRemanencee0">NL3D::CSegRemanence</a>, <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelh0">NL3D::CSkeletonModel</a>, <a class="el" href="a02537.html#NL3D_1_1CTransformShapeh0">NL3D::CTransformShape</a>, <a class="el" href="a03672.html#NL3D_1_1CVegetableBlendLayerModelh0">NL3D::CVegetableBlendLayerModel</a>, <a class="el" href="a03721.html#NL3D_1_1CWaterModele0">NL3D::CWaterModel</a>, and <a class="el" href="a03725.html#NL3D_1_1CWaveMakerModele0">NL3D::CWaveMakerModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00686">686</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +<div class="fragment"><pre>00686 {<span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="a02316.html#NL3D_1_1CTransformb2">CTransform</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1051_1" doxytag="NL3D::CTransform::deleteShadowMap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::deleteShadowMap </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, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +To implement for ShadowCaster support. typically free the shadowMap. +<p> + +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstanceb4">NL3D::CMeshInstance</a>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelb4">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00904">904</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01335">enableCastShadowMap()</a>. +<p> +<div class="fragment"><pre>00904 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_3" doxytag="NL3D::CTransform::enableCastShadowMap" ></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::CTransform::enableCastShadowMap </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>state</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> +By default, map shadow casting is disabled. This enabled shadow for this model. Fails if the model don't support dynamic Map Shadow Casting (eg landscape) Dervier note: <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1051_0">createShadowMap()</a> and <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1051_1">deleteShadowMap()</a> is called here. +<p> +Definition at line <a class="el" href="a06568.html#l01335">1335</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00470">canCastShadowMap()</a>, <a class="el" href="a06569.html#l00902">createShadowMap()</a>, <a class="el" href="a06569.html#l00904">deleteShadowMap()</a>, <a class="el" href="a06569.html#l00495">getShadowMap()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy10">IsFinalShadowMapCaster</a>, <a class="el" href="a06569.html#l00480">modelCanCastShadowMap()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>01336 { +01337 <span class="keywordtype">bool</span> precState= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1030_0">canCastShadowMap</a>(); +01338 +01339 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1030_10">modelCanCastShadowMap</a>()) +01340 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsFinalShadowMapCaster, state); +01341 <span class="keywordflow">else</span> +01342 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsFinalShadowMapCaster, <span class="keyword">false</span>); +01343 +01344 <span class="comment">// if just enabled, create the shadowMap</span> +01345 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1030_0">canCastShadowMap</a>() && !precState) +01346 { +01347 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1051_0">createShadowMap</a>(); +01348 <span class="comment">// The user must have created it.</span> +01349 <a class="code" href="a04199.html#a6">nlassert</a>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1030_8">getShadowMap</a>()); +01350 } +01351 <span class="comment">// if just disabled, free ressource</span> +01352 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1030_0">canCastShadowMap</a>() && precState) +01353 { +01354 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1051_1">deleteShadowMap</a>(); +01355 } +01356 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_4" doxytag="NL3D::CTransform::enableReceiveShadowMap" ></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::CTransform::enableReceiveShadowMap </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>state</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> +By default, map shadow receiving is disabled. This enabled shadow for this model. Fails if the model don't support dynamic Map Shadow Receiving (eg Particle system) +<p> +Definition at line <a class="el" href="a06569.html#l00475">475</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy11">IsFinalShadowMapReceiver</a>, <a class="el" href="a06569.html#l00482">modelCanReceiveShadowMap()</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a05874.html#l00548">NL3D::CLandscapeUser::enableReceiveShadowMap()</a>. +<p> +<div class="fragment"><pre>00475 {<span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1030_11">modelCanReceiveShadowMap</a>()) <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsFinalShadowMapReceiver, state);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelb2" doxytag="NL3D::CTransform::forceCompute" ></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::CTransform::forceCompute </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> [protected]</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="a06568.html#l01359">1359</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00618">_FatherBoneId</a>, <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00700">_HrcParent</a>, <a class="el" href="a06393.html#l00391">NL3D::CSkeletonModel::forceComputeBone()</a>, <a class="el" href="a06568.html#l00450">update()</a>, and <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>. +<p> +Referenced by <a class="el" href="a06146.html#l00165">NL3D::CParticleSystemManager::processAnimate()</a>. +<p> +<div class="fragment"><pre>01360 { +01361 <span class="comment">// if father is a skeleton, force to compute the bone we are sticked to</span> +01362 <span class="keywordflow">if</span> (<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>) +01363 { +01364 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->forceComputeBone(_FatherBoneId); +01365 } +01366 <span class="keywordflow">else</span> +01367 { +01368 <span class="comment">// force to compûte the father</span> +01369 <span class="keywordflow">if</span> (<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>) +01370 { +01371 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>->forceCompute(); +01372 } +01373 } +01374 <span class="comment">// compute</span> +01375 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_4">update</a>(); +01376 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1047_1">updateWorldMatrixFromFather</a>(); +01377 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela3" doxytag="NL3D::CTransform::freeze" ></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::CTransform::freeze </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +freeze the preceding position of the model. Do not use, special code for cluster. This inform the scene that preceding position setuped by user is "frozen". ie at next render(), this object won't be added to the "object moving list" (usefull for cluster mgt). The "frozen" state is disabled (at render() time) if:<ul> +<li>change in position (directly or indireclty, such as animation) is performed after the <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela3">freeze()</a>.</li><li>the "frozen" state of a father is not enabled (or disabled by a change in position of him :) ).</li></ul> + +<p> +Definition at line <a class="el" href="a06568.html#l00367">367</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00847">_Frozen</a>, and <a class="el" href="a06568.html#l00450">update()</a>. +<p> +Referenced by <a class="el" href="a06350.html#l00571">NL3D::CInstanceGroup::addToSceneWhenAllShapesLoaded()</a>, and <a class="el" href="a06348.html#l00249">NL3D::CScene::initDefaultRoots()</a>. +<p> +<div class="fragment"><pre>00368 { +00369 <span class="comment">// First, update the model</span> +00370 <span class="comment">// _Frozen state is disabled here (in CTransform::update()).</span> +00371 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_4">update</a>(); +00372 +00373 <span class="comment">// Then flag the frozen state.</span> +00374 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_5">_Frozen</a>= <span class="keyword">true</span>; +00375 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela4" doxytag="NL3D::CTransform::freezeHRC" ></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::CTransform::freezeHRC </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +freeze the HRC so the WorldMatrix computed at next render() will be kept for long, and the model won't either be tested in HRC (which is still expensive, even if the worldmatrix doesn't need to be recomputed). The model won't either be validated. It is suposed to not change at all. Also, if it is not a son of a <a class="el" href="a02362.html">CCluster</a>, it may be accelerated during Cliping (with <a class="el" href="a03287.html">CQuadGridClipManager</a>).<p> +NB: the model won't be tested in HRC anymore. calling <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela4">freezeHRC()</a> on a model in a hierarchy without calling it to the root of the hierarchy will result in that the model won't be validated nor be HRC traversed. To be simplier, you should <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela4">freezeHRC()</a> all the models of a hierarchy, from base root to leaves.<p> +NB: if the hierarchy of this object must change, or if the object must moves, you must call <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela49">unfreezeHRC()</a> first, and you should do this for all the parents of this model. +<p> +Definition at line <a class="el" href="a06568.html#l00385">385</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00741">_FreezeHRCState</a>, <a class="el" href="a06569.html#l00847">_Frozen</a>, <a class="el" href="a06569.html#l00749">_TransformDirty</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy4">FreezeHRCStateRequest</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy28">QuadGridClipEnabled</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06350.html#l01132">NL3D::CInstanceGroup::freezeHRC()</a>. +<p> +<div class="fragment"><pre>00386 { +00387 <span class="comment">// if disabled, say we are ready to validate our worldMatrix for long.</span> +00388 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a>==<a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>) +00389 { +00390 <a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy4">FreezeHRCStateRequest</a>; +00391 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(QuadGridClipEnabled, <span class="keyword">true</span>); +00392 +00393 <span class="comment">/* If the transform is not frozen (ie staticaly inserted in a cluster),</span> +00394 <span class="comment"> We must be sure it will be tested against QuadGridClipManager at next ClipTrav pass.</span> +00395 <span class="comment"> => must make this object a "moving object" at next render=> dirt _LocalMatrixDate.</span> +00396 <span class="comment"> */</span> +00397 <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_5">_Frozen</a>) +00398 { +00399 <a class="code" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a>= <span class="keyword">true</span>; +00400 } +00401 } +00402 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_0" doxytag="NL3D::CTransform::freezeStaticLightSetup" ></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::CTransform::freezeStaticLightSetup </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03091.html">CPointLight</a> * </td> + <td class="mdname" nowrap> <em>pointLight</em>[NL3D_MAX_LIGHT_CONTRIBUTION], </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>numPointLights</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> </td> + <td class="mdname" nowrap> <em>sunContribution</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03091.html">CPointLight</a> * </td> + <td class="mdname" nowrap> <em>frozenAmbientlight</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> +Freeze and set the Static Light Setup. Called by <a class="el" href="a02671.html#NL3D_1_1CInstanceGroupa1">CInstanceGroup::addToScene()</a> NB: it calls <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_5">resetLighting()</a> first. NB: nlassert(numPointLights<=NL3D_MAX_LIGHT_CONTRIBUTION) +<p> +Definition at line <a class="el" href="a06568.html#l01028">1028</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00626">_LightContribution</a>, <a class="el" href="a05894.html#l00071">NL3D::CLightContribution::Factor</a>, <a class="el" href="a05894.html#l00093">NL3D::CLightContribution::FrozenAmbientLight</a>, <a class="el" href="a05894.html#l00079">NL3D::CLightContribution::FrozenStaticLightSetup</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy17">IsNeedUpdateFrozenStaticLightSetup</a>, <a class="el" href="a05894.html#l00042">NL3D_MAX_LIGHT_CONTRIBUTION</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05894.html#l00084">NL3D::CLightContribution::NumFrozenStaticLight</a>, <a class="el" href="a05894.html#l00067">NL3D::CLightContribution::PointLight</a>, <a class="el" href="a06568.html#l00988">resetLighting()</a>, <a class="el" href="a06569.html#l00809">setStateFlag()</a>, <a class="el" href="a05894.html#l00086">NL3D::CLightContribution::SunContribution</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>01030 { +01031 <a class="code" href="a04199.html#a6">nlassert</a>(numPointLights <= NL3D_MAX_LIGHT_CONTRIBUTION); +01032 +01033 <span class="comment">// resetLighting() first.</span> +01034 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_5">resetLighting</a>(); +01035 +01036 <span class="comment">// Enable StaticLightSetup.</span> +01037 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.FrozenStaticLightSetup= <span class="keyword">true</span>; +01038 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.NumFrozenStaticLight= numPointLights; +01039 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.SunContribution= sunContribution; +01040 <span class="comment">// setup the FrozenAmbientLight</span> +01041 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.FrozenAmbientLight= frozenAmbientlight; +01042 <span class="comment">// Setup other pointLights</span> +01043 <a class="code" href="a04558.html#a15">uint</a> i; +01044 <span class="keywordflow">for</span>(i=0;i<numPointLights;i++) +01045 { +01046 <span class="comment">// set the light</span> +01047 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.PointLight[i]= pointLight[i]; +01048 <span class="comment">// Enable at max.</span> +01049 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.Factor[i]= 255; +01050 <span class="comment">// Compute static AttFactor Later because don't have WorlPosition of the model here!!</span> +01051 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsNeedUpdateFrozenStaticLightSetup, <span class="keyword">true</span>); +01052 +01053 <span class="comment">// Do NOT set the iterator, because it is a staticLight.</span> +01054 } +01055 <span class="comment">// End the list</span> +01056 <span class="keywordflow">if</span>(i<<a class="code" href="a04471.html#a0">NL3D_MAX_LIGHT_CONTRIBUTION</a>) +01057 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.PointLight[i]= NULL; +01058 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_5" doxytag="NL3D::CTransform::generateShadowMap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::generateShadowMap </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>lightDir</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +For Casters. Display the Shadow to the "Auxiliary Driver". This method should only write to AlphaBuffer (since RGB may be the current rendered scene!), with Alpha==1 when pixel is shadowed. The ShadowMapManager has already cleared the AlphaBuffer to black, and has already enabled alpha write only. The ShadowMapManager has already setuped Viewport/Scissor as its convenience. The extra blurring is a work of the ShadowMapManager (which blurs multiple shadows in a same pass) NB: you can overwrite the current driver frustum/ViewMatrix/modelMatrix without backuping it (ShadowMapManager work) +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez465_1">NL3D::CMeshInstance</a>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz934_1">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00492">492</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06372.html#l00234">NL3D::CShadowMapManager::renderGenerate()</a>. +<p> +<div class="fragment"><pre>00492 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVegetableBlendLayerModela3" doxytag="NL3D::CTransform::getAABBox" ></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::CTransform::getAABBox </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02156.html">NLMISC::CAABBox</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bbox</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the untransformed AABBox of the transform. NULL (gtCenter()= 0, gtSize()==0) by default. +<p> +Reimplemented in <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModela7">NL3D::CParticleSystemModel</a>, and <a class="el" href="a02537.html#NL3D_1_1CWaveMakerModela5">NL3D::CTransformShape</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00514">514</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a05385.html#l00066">NLMISC::CAABBox::setCenter()</a>, and <a class="el" href="a05385.html#l00067">NLMISC::CAABBox::setHalfSize()</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01080">traverseLight()</a>. +<p> +<div class="fragment"><pre>00515 { +00516 bbox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_1">setCenter</a>(CVector::Null); +00517 bbox.<a class="code" href="a02156.html#NLMISC_1_1CAABBoxz1902_2">setHalfSize</a>(CVector::Null); +00518 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela6" doxytag="NL3D::CTransform::getAncestorSkeletonModel" ></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="a03399.html">CSkeletonModel</a>* NL3D::CTransform::getAncestorSkeletonModel </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> + +<p> +Definition at line <a class="el" href="a06569.html#l00207">207</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00851">_AncestorSkeletonModel</a>. +<p> +Referenced by <a class="el" href="a06146.html#l00165">NL3D::CParticleSystemManager::processAnimate()</a>. +<p> +<div class="fragment"><pre>00207 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelb3" doxytag="NL3D::CTransform::getChannelMixer" ></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="a02335.html">CChannelMixer</a>* NL3D::CTransform::getChannelMixer </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, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the channelMixer owned by the transform. return result of a refPtr => may be NULL. +<p> +Definition at line <a class="el" href="a06569.html#l00641">641</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l01665">NL3D::CSkeletonModel::computeCurrentBBox()</a>, <a class="el" href="a05993.html#l00164">NL3D::CMeshBaseInstance::traverseHrc()</a>, and <a class="el" href="a06393.html#l00280">NL3D::CSkeletonModel::updateBoneToCompute()</a>. +<p> +<div class="fragment"><pre>00641 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformr0">_ChannelMixer</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela7" doxytag="NL3D::CTransform::getChannelMixerOwnerShip" ></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::CTransform::getChannelMixerOwnerShip </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> + +<p> +Definition at line <a class="el" href="a06569.html#l00257">257</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy8">IsDeleteChannelMixer</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00334">registerToChannelMixer()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>00257 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsDeleteChannelMixer)!=0; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela8" doxytag="NL3D::CTransform::getClusterSystem" ></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="a02671.html">CInstanceGroup</a>* NL3D::CTransform::getClusterSystem </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]</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="a06569.html#l00320">320</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00737">_ClusterSystem</a>. +<p> +Referenced by <a class="el" href="a06348.html#l01268">NL3D::CScene::findCameraClusterSystemFromRay()</a>, and <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>. +<p> +<div class="fragment"><pre>00320 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformr1">_ClusterSystem</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVegetableBlendLayerModelz1023_0" doxytag="NL3D::CTransform::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::CTransform::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> +Default Track Values are identity (pos,pivot= 0, scale= 1, rots=0). +<p> + +<p> +Implements <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_1">NL3D::ITransformable</a>. +<p> +Reimplemented in <a class="el" href="a02315.html#NL3D_1_1CCameraz48_1">NL3D::CCamera</a>, <a class="el" href="a02873.html#NL3D_1_1CMeshMultiLodInstancez441_0">NL3D::CMeshBaseInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_2">NL3D::CParticleSystemModel</a>, <a class="el" href="a03357.html#NL3D_1_1CSegRemanencea9">NL3D::CSegRemanence</a>, <a class="el" href="a03721.html#NL3D_1_1CWaterModela10">NL3D::CWaterModel</a>, and <a class="el" href="a03725.html#NL3D_1_1CWaveMakerModela9">NL3D::CWaveMakerModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00311">311</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00416">nlstop</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00312 { +00313 <span class="comment">// Cyril: prefer do it here in CTransform, because of CCamera, CLight etc... (which may not need a default value too!!)</span> +00314 +00315 <span class="comment">// what value ?</span> +00316 <span class="keywordflow">switch</span> (valueId) +00317 { +00318 <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="a02316.html#NL3D_1_1CTransformv1">DefaultPos</a>; +00319 <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="a02316.html#NL3D_1_1CTransformv2">DefaultRotEuler</a>; +00320 <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="a02316.html#NL3D_1_1CTransformv3">DefaultRotQuat</a>; +00321 <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="a02316.html#NL3D_1_1CTransformv4">DefaultScale</a>; +00322 <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="a02316.html#NL3D_1_1CTransformv0">DefaultPivot</a>; +00323 } +00324 +00325 <span class="comment">// No, only ITrnasformable values!</span> +00326 <a class="code" href="a04199.html#a12">nlstop</a>; +00327 <span class="comment">// Deriver note: else call BaseClass::getDefaultTrack(valueId);</span> +00328 +00329 <span class="keywordflow">return</span> NULL; +00330 +00331 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela11" doxytag="NL3D::CTransform::getForceClipRoot" ></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::CTransform::getForceClipRoot </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> + +<p> +Definition at line <a class="el" href="a06569.html#l00538">538</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0">ForceClipRoot</a>, and <a class="el" href="a06569.html#l00818">getStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00265">NL3D::CTransformUser::getForceClipRoot()</a>. +<p> +<div class="fragment"><pre>00538 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(ForceClipRoot) != 0; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_1" doxytag="NL3D::CTransform::getLightContribution" ></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="a02744.html">CLightContribution</a>& NL3D::CTransform::getLightContribution </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> +Return the current light contribution of this model +<p> +Definition at line <a class="el" href="a06569.html#l00373">373</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00626">_LightContribution</a>. +<p> +Referenced by <a class="el" href="a06372.html#l00626">NL3D::CShadowMapManager::computeShadowColors()</a>, and <a class="el" href="a06372.html#l00595">NL3D::CShadowMapManager::computeShadowDirection()</a>. +<p> +<div class="fragment"><pre>00373 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVegetableBlendLayerModelz1024_2" doxytag="NL3D::CTransform::getLightHotSpotInWorld" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::getLightHotSpotInWorld </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> & </td> + <td class="mdname" nowrap> <em>modelPos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float & </td> + <td class="mdname" nowrap> <em>modelRadius</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the HotSpot of the model for Light computation. For models with global attenuation, this is the point taken for attenuation computes. NB: should return the current world position. NB: return also the modelRadius (only for bigLightable) Default to NULL. +<p> +Reimplemented in <a class="el" href="a03399.html#NL3D_1_1CSkeletonModela11">NL3D::CSkeletonModel</a>, and <a class="el" href="a02537.html#NL3D_1_1CWaveMakerModela13">NL3D::CTransformShape</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00381">381</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>. +<p> +<div class="fragment"><pre>00381 {modelPos= CVector::Null; modelRadius=0;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1025_0" doxytag="NL3D::CTransform::getLoadBalancingGroup" ></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::CTransform::getLoadBalancingGroup </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</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the load Balancing group of a model. see <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1025_1">setLoadBalancingGroup()</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00532">532</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00894">_LoadBalancingGroup</a>, and <a class="el" href="a05924.html#l00068">NL3D::CLoadBalancingGroup::Name</a>. +<p> +<div class="fragment"><pre>00533 { +00534 <span class="comment">// get the group name</span> +00535 <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1049_0">_LoadBalancingGroup</a>->Name; +00536 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablea1" doxytag="NL3D::CTransform::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">NL3D::CBone::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">update()</a>. +<p> +<div class="fragment"><pre>00076 {<a class="code" href="a02278.html#NL3D_1_1ITransformabled2">updateMatrix</a>(); <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablea2" doxytag="NL3D::CTransform::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_1CWaveMakerModelz1028_0" doxytag="NL3D::CTransform::getMeanColor" ></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="a03337.html">CRGBA</a> NL3D::CTransform::getMeanColor </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> +see <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1028_7">setMeanColor()</a> +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00437">437</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00756">_MeanColor</a>. +<p> +<div class="fragment"><pre>00437 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformr6">_MeanColor</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela19" doxytag="NL3D::CTransform::getOrderingLayer" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CTransform::getOrderingLayer </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the ordering layer. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00187">187</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00743">_OrderingLayer</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00169">NL3D::CTransformUser::getOrderingLayer()</a>, and <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>. +<p> +<div class="fragment"><pre>00187 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformr7">_OrderingLayer</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela20" doxytag="NL3D::CTransform::getOwnerScene" ></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="a03348.html">CScene</a>* NL3D::CTransform::getOwnerScene </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get the scene which has created us +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00105">105</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00693">_OwnerScene</a>. +<p> +Referenced by <a class="el" href="a05862.html#l00385">NL3D::CLandscape::addZone()</a>, <a class="el" href="a06737.html#l01130">NL3D::CWaterModel::clip()</a>, <a class="el" href="a06570.html#l00141">NL3D::CTransformShape::clip()</a>, <a class="el" href="a05870.html#l00143">NL3D::CLandscapeModel::clipAndRenderLandscape()</a>, <a class="el" href="a06737.html#l01054">NL3D::CWaterModel::computeClippedPoly()</a>, <a class="el" href="a06393.html#l00972">NL3D::CSkeletonModel::computeDisplayLodCharacterPriority()</a>, <a class="el" href="a06393.html#l00866">NL3D::CSkeletonModel::computeLodTexture()</a>, <a class="el" href="a06737.html#l01026">NL3D::CWaterModel::computeSimpleClippedPoly()</a>, <a class="el" href="a06393.html#l01852">NL3D::CSkeletonModel::createShadowMap()</a>, <a class="el" href="a06001.html#l00254">NL3D::CMeshInstance::createShadowMap()</a>, <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, <a class="el" href="a06148.html#l00619">NL3D::CParticleSystemModel::doAnimate()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, <a class="el" href="a06393.html#l01781">NL3D::CSkeletonModel::generateShadowMap()</a>, <a class="el" href="a06001.html#l00166">NL3D::CMeshInstance::generateShadowMap()</a>, <a class="el" href="a06018.html#l00067">NL3D::CMeshMultiLodInstance::getCoarseMeshLighting()</a>, <a class="el" href="a06568.html#l00214">initModel()</a>, <a class="el" href="a06393.html#l00154">NL3D::CSkeletonModel::initModel()</a>, <a class="el" href="a06182.html#l00059">NL3D::CPointLightModel::initModel()</a>, <a class="el" href="a05870.html#l00075">NL3D::CLandscapeModel::initModel()</a>, <a class="el" href="a06149.html#l00315">NL3D::CParticleSystemModel::insertInVisibleList()</a>, <a class="el" href="a06016.html#l00740">NL3D::CMeshMultiLod::instanciateCoarseMeshSpace()</a>, <a class="el" href="a06304.html#l00204">NL3D::CQuadGridClipManager::linkModel()</a>, <a class="el" href="a06304.html#l00319">NL3D::CQuadGridClipManager::profile()</a>, <a class="el" href="a06570.html#l00248">NL3D::CTransformShape::profileRender()</a>, <a class="el" href="a05870.html#l00293">NL3D::CLandscapeModel::receiveShadowMap()</a>, <a class="el" href="a05563.html#l00405">NL3D::CCluster::recursTraverseClip()</a>, <a class="el" href="a05993.html#l00486">NL3D::CMeshBaseInstance::releaseCurrentAsyncTextures()</a>, <a class="el" href="a06358.html#l00141">NL3D::CSegRemanence::render()</a>, <a class="el" href="a06016.html#l00232">NL3D::CMeshMultiLod::render()</a>, <a class="el" href="a06011.html#l00568">NL3D::CMeshMRMSkinnedGeom::render()</a>, <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06016.html#l00496">NL3D::CMeshMultiLod::renderCoarseMesh()</a>, <a class="el" href="a06393.html#l02062">NL3D::CSkeletonModel::renderIntoSkeletonShadowMap()</a>, <a class="el" href="a06001.html#l00367">NL3D::CMeshInstance::renderIntoSkeletonShadowMap()</a>, <a class="el" href="a06393.html#l01885">NL3D::CSkeletonModel::renderShadowSkins()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>, <a class="el" href="a06011.html#l00726">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupGeom()</a>, <a class="el" href="a06005.html#l01318">NL3D::CMeshMRMGeom::renderSkinGroupGeom()</a>, <a class="el" href="a06011.html#l00795">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupPrimitives()</a>, <a class="el" href="a06005.html#l01406">NL3D::CMeshMRMGeom::renderSkinGroupPrimitives()</a>, <a class="el" href="a06011.html#l00877">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupSpecularRdrPass()</a>, <a class="el" href="a06005.html#l01488">NL3D::CMeshMRMGeom::renderSkinGroupSpecularRdrPass()</a>, <a class="el" href="a06393.html#l01449">NL3D::CSkeletonModel::renderSkinList()</a>, <a class="el" href="a06393.html#l01390">NL3D::CSkeletonModel::renderSkins()</a>, <a class="el" href="a06304.html#l00081">NL3D::CQuadGridClipManager::reset()</a>, <a class="el" href="a06568.html#l00522">setLoadBalancingGroup()</a>, <a class="el" href="a06393.html#l00837">NL3D::CSkeletonModel::setLodCharacterShape()</a>, <a class="el" href="a05993.html#l00445">NL3D::CMeshBaseInstance::startAsyncTextureLoading()</a>, <a class="el" href="a06737.html#l00998">NL3D::CWaveMakerModel::traverseAnimDetail()</a>, <a class="el" href="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>, <a class="el" href="a06358.html#l00458">NL3D::CSegRemanence::traverseAnimDetail()</a>, <a class="el" href="a06148.html#l00516">NL3D::CParticleSystemModel::traverseAnimDetail()</a>, <a class="el" href="a05993.html#l00214">NL3D::CMeshBaseInstance::traverseAnimDetail()</a>, <a class="el" href="a06568.html#l00938">traverseAnimDetailWithoutUpdateWorldMatrix()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, <a class="el" href="a06304.html#l00303">NL3D::CQuadGridClipManager::traverseClip()</a>, <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>, <a class="el" href="a05870.html#l00105">NL3D::CLandscapeModel::traverseClip()</a>, <a class="el" href="a05993.html#l00164">NL3D::CMeshBaseInstance::traverseHrc()</a>, <a class="el" href="a05870.html#l00090">NL3D::CLandscapeModel::traverseHrc()</a>, <a class="el" href="a06568.html#l01080">traverseLight()</a>, <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>, <a class="el" href="a06570.html#l00262">NL3D::CTransformShape::traverseLoadBalancing()</a>, <a class="el" href="a06018.html#l00086">NL3D::CMeshMultiLodInstance::traverseLoadBalancing()</a>, <a class="el" href="a06570.html#l00274">NL3D::CTransformShape::traverseLoadBalancingPass0()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, <a class="el" href="a06688.html#l00145">NL3D::CVegetableBlendLayerModel::traverseRender()</a>, <a class="el" href="a06570.html#l00178">NL3D::CTransformShape::traverseRender()</a>, <a class="el" href="a06001.html#l00330">NL3D::CMeshInstance::traverseRender()</a>, <a class="el" href="a05870.html#l00257">NL3D::CLandscapeModel::traverseRender()</a>, <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>, <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>, <a class="el" href="a06568.html#l00450">update()</a>, <a class="el" href="a06568.html#l00748">updateClipTravForAncestorSkeleton()</a>, <a class="el" href="a06304.html#l00112">NL3D::CQuadGridClipManager::updateClustersFromCamera()</a>, <a class="el" href="a06393.html#l01872">NL3D::CSkeletonModel::updateShadowMap()</a>, <a class="el" href="a06001.html#l00319">NL3D::CMeshInstance::updateShadowMap()</a>, <a class="el" href="a06568.html#l00663">updateWorld()</a>, <a class="el" href="a06393.html#l00123">NL3D::CSkeletonModel::~CSkeletonModel()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>00105 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_0" doxytag="NL3D::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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_1CWaveMakerModelz1030_6" doxytag="NL3D::CTransform::getReceiverBBox" ></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::CTransform::getReceiverBBox </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02156.html">CAABBox</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bbox</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> +For receivers. get the World Instance bbox that includes the receiver. +<p> +Reimplemented in <a class="el" href="a02713.html#NL3D_1_1CLandscapeModelz282_0">NL3D::CLandscapeModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l01328">1328</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a05385.html#l00066">NLMISC::CAABBox::setCenter()</a>, and <a class="el" href="a05385.html#l00067">NLMISC::CAABBox::setHalfSize()</a>. +<p> +Referenced by <a class="el" href="a06372.html#l00223">NL3D::CShadowMapManager::addShadowReceiver()</a>. +<p> +<div class="fragment"><pre>01329 { +01330 bbox.setCenter(CVector::Null); +01331 bbox.setHalfSize(CVector::Null); +01332 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_7" doxytag="NL3D::CTransform::getReceiverRenderWorldMatrix" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual const <a class="el" href="a02851.html">CMatrix</a>& NL3D::CTransform::getReceiverRenderWorldMatrix </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, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +For receivers. Retrieve the WorldMatrix of the model used for <a class="el" href="a02434.html#NL3D_1_1IDrivera51">IDriver::render()</a>. By default it returns <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela25">getWorldMatrix()</a>. The exception is the Landscape and his "ZBuffer Problem" management. +<p> +Reimplemented in <a class="el" href="a02713.html#NL3D_1_1CLandscapeModelz282_1">NL3D::CLandscapeModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00511">511</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00299">getWorldMatrix()</a>. +<p> +Referenced by <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>. +<p> +<div class="fragment"><pre>00511 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela25">getWorldMatrix</a>();} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLGEORGES_1_1UTypea8" doxytag="NL3D::CTransform::getRefCount" ></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="a04558.html#a14">sint</a>& NLMISC::CRefCount::getRefCount </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> + +<p> +Definition at line <a class="el" href="a06402.html#l00070">70</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +References <a class="el" href="a06402.html#l00079">NLMISC::CRefCount::crefs</a>, and <a class="el" href="a05981.html#l00104">sint</a>. +<p> +<div class="fragment"><pre>00071 { +00072 <span class="keywordflow">return</span> <a class="code" href="a02209.html#NLGEORGES_1_1UTypeo0">crefs</a>; +00073 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_4" doxytag="NL3D::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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">NL3D::CBone::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::CTransform::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_1CWaveMakerModelz1030_8" doxytag="NL3D::CTransform::getShadowMap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual <a class="el" href="a03370.html">CShadowMap</a>* NL3D::CTransform::getShadowMap </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, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +get The shadow Map result for receveing. If NULL, nothing is displayed. +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez465_2">NL3D::CMeshInstance</a>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz934_2">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00495">495</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06568.html#l01335">enableCastShadowMap()</a>, <a class="el" href="a06372.html#l00234">NL3D::CShadowMapManager::renderGenerate()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, and <a class="el" href="a06372.html#l00880">NL3D::CShadowMapManager::selectShadowMapsToGenerate()</a>. +<p> +<div class="fragment"><pre>00495 {<span class="keywordflow">return</span> NULL;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelb4" doxytag="NL3D::CTransform::getShowWhenLODSticked" ></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::CTransform::getShowWhenLODSticked </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, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Test if obj must be displayed when sticked to an object displayed as a LOD (example: sword in hand of a character displayed as a LOD state). +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00680">680</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00746">_ForceCLodSticked</a>. +<p> +Referenced by <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>. +<p> +<div class="fragment"><pre>00680 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformr2">_ForceCLodSticked</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela22" doxytag="NL3D::CTransform::getSkeletonModel" ></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="a03399.html">CSkeletonModel</a>* NL3D::CTransform::getSkeletonModel </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the skeleton model. Returnr NULL in normal mode. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00205">205</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>. +<p> +Referenced by <a class="el" href="a06011.html#l00568">NL3D::CMeshMRMSkinnedGeom::render()</a>, <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06011.html#l01843">NL3D::CMeshMRMSkinnedGeom::renderShadowSkinGeom()</a>, <a class="el" href="a06005.html#l03376">NL3D::CMeshMRMGeom::renderShadowSkinGeom()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>, <a class="el" href="a06011.html#l00726">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupGeom()</a>, <a class="el" href="a06005.html#l01318">NL3D::CMeshMRMGeom::renderSkinGroupGeom()</a>, and <a class="el" href="a06570.html#l00274">NL3D::CTransformShape::traverseLoadBalancingPass0()</a>. +<p> +<div class="fragment"><pre>00205 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_0" doxytag="NL3D::CTransform::getSkinBoneSphere" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual const std::vector<<a class="el" href="a02291.html">NLMISC::CBSphere</a>>* NL3D::CTransform::getSkinBoneSphere </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, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. It return a list of sphere relative to each bone of the father skeleton. Use with <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_1">getSkinBoneUsage()</a> to know to wich bone this sphere apply NB: if a sphere radius is -1, it means that the bone is not used (for any reason...) default is to return NULL. +<p> +Reimplemented in <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_0">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_0">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00584">584</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l01117">NL3D::CSkeletonModel::updateSkinRenderLists()</a>. +<p> +<div class="fragment"><pre>00584 {<span class="keywordflow">return</span> NULL;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_1" doxytag="NL3D::CTransform::getSkinBoneUsage" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual const std::vector<<a class="el" href="a04558.html#a10">sint32</a>>* NL3D::CTransform::getSkinBoneUsage </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, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. It return the list of bone (correct skeleton index) used by the skins (NB: without the parents of the bone). NB: if an index is -1, it means that the skin bone has not been found in the skeleton (skip it) default is to return NULL. +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez461_0">NL3D::CMeshInstance</a>, <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_1">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_1">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00578">578</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l01043">NL3D::CSkeletonModel::computeCLodVertexAlpha()</a>, and <a class="el" href="a06393.html#l01117">NL3D::CSkeletonModel::updateSkinRenderLists()</a>. +<p> +<div class="fragment"><pre>00578 {<span class="keywordflow">return</span> NULL;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1041_1" doxytag="NL3D::CTransform::getStateFlag" ></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::CTransform::getStateFlag </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>mask</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +return a non zero-value if state is set. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00818">818</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00806">_StateFlags</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06569.html#l00470">canCastShadowMap()</a>, <a class="el" href="a06569.html#l00477">canReceiveShadowMap()</a>, <a class="el" href="a06569.html#l00257">getChannelMixerOwnerShip()</a>, <a class="el" href="a06569.html#l00538">getForceClipRoot()</a>, <a class="el" href="a06568.html#l01316">getUserClipping()</a>, <a class="el" href="a06569.html#l00347">getUserLightable()</a>, <a class="el" href="a06568.html#l01181">hrcUnlink()</a>, <a class="el" href="a06569.html#l00440">isAnimDetailable()</a>, <a class="el" href="a06569.html#l00365">isBigLightable()</a>, <a class="el" href="a06569.html#l00451">isCluster()</a>, <a class="el" href="a06569.html#l00515">isGeneratingShadowMap()</a>, <a class="el" href="a06569.html#l00337">isLightable()</a>, <a class="el" href="a06569.html#l00442">isLoadBalancable()</a>, <a class="el" href="a06569.html#l00447">isMeshBaseInstance()</a>, <a class="el" href="a06569.html#l00631">isNeedUpdateFrozenStaticLightSetup()</a>, <a class="el" href="a06569.html#l00629">isNeedUpdateLighting()</a>, <a class="el" href="a06569.html#l00173">isOpaque()</a>, <a class="el" href="a06569.html#l00294">isQuadGridClipEnabled()</a>, <a class="el" href="a06569.html#l00444">isRenderable()</a>, <a class="el" href="a06569.html#l00421">isSkeleton()</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a06569.html#l00449">isTransformShape()</a>, <a class="el" href="a06569.html#l00174">isTransparent()</a>, <a class="el" href="a06569.html#l00480">modelCanCastShadowMap()</a>, <a class="el" href="a06569.html#l00482">modelCanReceiveShadowMap()</a>, <a class="el" href="a06568.html#l00334">registerToChannelMixer()</a>, <a class="el" href="a06569.html#l00912">setClusterSystem()</a>, <a class="el" href="a06568.html#l01380">setForceClipRoot()</a>, <a class="el" href="a06568.html#l00590">setIsForceAnimDetail()</a>, <a class="el" href="a06568.html#l00552">setIsLightable()</a>, <a class="el" href="a06568.html#l00255">setOpacity()</a>, <a class="el" href="a06568.html#l00240">setTransparency()</a>, <a class="el" href="a06568.html#l00559">setUserLightable()</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. +<p> +<div class="fragment"><pre>00819 { +00820 <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_3">_StateFlags</a>&mask; +00821 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1083_11" doxytag="NL3D::CTransform::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_1CWaveMakerModela23" doxytag="NL3D::CTransform::getUserClipping" ></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::CTransform::getUserClipping </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</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the user clipping state. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l01316">1316</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy30">UserClipping</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00132">NL3D::CTransformUser::getUserClipping()</a>. +<p> +<div class="fragment"><pre>01317 { +01318 <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(UserClipping) != 0; +01319 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_2" doxytag="NL3D::CTransform::getUserLightable" ></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::CTransform::getUserLightable </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the UserLightable flag. +<p> +Definition at line <a class="el" href="a06569.html#l00347">347</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy27">IsUserLightable</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00183">NL3D::CTransformUser::getUserLightable()</a>. +<p> +<div class="fragment"><pre>00347 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsUserLightable)!=0;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1087_2" doxytag="NL3D::CTransform::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::CTransform::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_1CWaveMakerModela24" doxytag="NL3D::CTransform::getVisibility" ></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="a02639.html#NL3D_1_1CHrcTravw3">CHrcTrav::TVisibility</a> NL3D::CTransform::getVisibility </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]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the local visibility state. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00203">203</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00543">Visibility</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00146">NL3D::CTransformUser::getVisibility()</a>, <a class="el" href="a06146.html#l00165">NL3D::CParticleSystemManager::processAnimate()</a>, <a class="el" href="a06013.html#l00159">NL3D::CMeshMRMSkinnedInstance::renderSkin()</a>, <a class="el" href="a06007.html#l00164">NL3D::CMeshMRMInstance::renderSkin()</a>, <a class="el" href="a06001.html#l00127">NL3D::CMeshInstance::renderSkin()</a>, <a class="el" href="a06148.html#l00516">NL3D::CParticleSystemModel::traverseAnimDetail()</a>, and <a class="el" href="a06393.html#l01117">NL3D::CSkeletonModel::updateSkinRenderLists()</a>. +<p> +<div class="fragment"><pre>00203 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela25" doxytag="NL3D::CTransform::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::CTransform::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> +Get the worldMatrix that is computed at last Hrc pass +<p> +Definition at line <a class="el" href="a06569.html#l00299">299</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06005.html#l02738">NL3D::CMeshMRMGeom::activeInstance()</a>, <a class="el" href="a05989.html#l02058">NL3D::CMeshGeom::activeInstance()</a>, <a class="el" href="a05901.html#l00151">NL3D::CLightingManager::addDynamicLight()</a>, <a class="el" href="a05530.html#l00243">NL3D::CCamera::buildCameraPyramid()</a>, <a class="el" href="a06148.html#l00490">NL3D::CParticleSystemModel::checkAgainstPyramid()</a>, <a class="el" href="a06570.html#l00141">NL3D::CTransformShape::clip()</a>, <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06737.html#l01054">NL3D::CWaterModel::computeClippedPoly()</a>, <a class="el" href="a06393.html#l00972">NL3D::CSkeletonModel::computeDisplayLodCharacterPriority()</a>, <a class="el" href="a06372.html#l00595">NL3D::CShadowMapManager::computeShadowDirection()</a>, <a class="el" href="a06737.html#l01026">NL3D::CWaterModel::computeSimpleClippedPoly()</a>, <a class="el" href="a06001.html#l00352">NL3D::CMeshInstance::computeWorldBBoxForShadow()</a>, <a class="el" href="a06148.html#l00619">NL3D::CParticleSystemModel::doAnimate()</a>, <a class="el" href="a06737.html#l01170">NL3D::CWaterModel::doSimpleRender()</a>, <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, <a class="el" href="a06393.html#l01781">NL3D::CSkeletonModel::generateShadowMap()</a>, <a class="el" href="a06001.html#l00166">NL3D::CMeshInstance::generateShadowMap()</a>, <a class="el" href="a06570.html#l00316">NL3D::CTransformShape::getLightHotSpotInWorld()</a>, <a class="el" href="a06569.html#l00511">getReceiverRenderWorldMatrix()</a>, <a class="el" href="a05901.html#l00231">NL3D::CLightingManager::insertStaticLightedModel()</a>, <a class="el" href="a06304.html#l00204">NL3D::CQuadGridClipManager::linkModel()</a>, <a class="el" href="a06146.html#l00165">NL3D::CParticleSystemManager::processAnimate()</a>, <a class="el" href="a06148.html#l00328">NL3D::CParticleSystemModel::refreshRscDeletion()</a>, <a class="el" href="a06152.html#l00287">NL3D::CParticleSystemShape::render()</a>, <a class="el" href="a06011.html#l00568">NL3D::CMeshMRMSkinnedGeom::render()</a>, <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06393.html#l01295">NL3D::CSkeletonModel::renderCLod()</a>, <a class="el" href="a06393.html#l02062">NL3D::CSkeletonModel::renderIntoSkeletonShadowMap()</a>, <a class="el" href="a06001.html#l00367">NL3D::CMeshInstance::renderIntoSkeletonShadowMap()</a>, <a class="el" href="a06016.html#l00446">NL3D::CMeshMultiLod::renderMeshGeom()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>, <a class="el" href="a06393.html#l01390">NL3D::CSkeletonModel::renderSkins()</a>, <a class="el" href="a06358.html#l00326">NL3D::CSegRemanence::samplePos()</a>, <a class="el" href="a06372.html#l00880">NL3D::CShadowMapManager::selectShadowMapsToGenerate()</a>, <a class="el" href="a06024.html#l00228">NL3D::CMeshVPWindTree::setupPerInstanceConstants()</a>, <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>, <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>, <a class="el" href="a06737.html#l00998">NL3D::CWaveMakerModel::traverseAnimDetail()</a>, <a class="el" href="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>, <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>, <a class="el" href="a06568.html#l01080">traverseLight()</a>, <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>, <a class="el" href="a06570.html#l00274">NL3D::CTransformShape::traverseLoadBalancingPass0()</a>, <a class="el" href="a06737.html#l00437">NL3D::CWaterModel::traverseRender()</a>, <a class="el" href="a05712.html#l00063">NL3D::CFlareModel::traverseRender()</a>, and <a class="el" href="a06737.html#l01339">NL3D::CWaterModel::updateDiffuseMapMatrix()</a>. +<p> +<div class="fragment"><pre>00299 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">_WorldMatrix</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela26" doxytag="NL3D::CTransform::heritVisibility" ></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::CTransform::heritVisibility </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +herit the visibility from his father. (default behavior). +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00287">287</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00749">_TransformDirty</a>, <a class="el" href="a06394.html#l00151">NL3D::CSkeletonModel::dirtSkinRenderLists()</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06569.html#l00543">Visibility</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00139">NL3D::CTransformUser::heritVisibility()</a>. +<p> +<div class="fragment"><pre>00288 { +00289 <span class="comment">// Optim: do nothing if already set</span> +00290 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>!= CHrcTrav::Herit) +00291 { +00292 <a class="code" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a>= <span class="keyword">true</span>; +00293 <a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>= CHrcTrav::Herit; +00294 <span class="comment">// If skinned, then must inform skeleton parent that it must recompute skin render/animDetail lists</span> +00295 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>()) +00296 { +00297 <a class="code" href="a04199.html#a6">nlassert</a>(_FatherSkeletonModel); +00298 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->dirtSkinRenderLists(); +00299 } +00300 } +00301 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela27" doxytag="NL3D::CTransform::hide" ></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::CTransform::hide </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Hide the object and his sons. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00223">223</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00749">_TransformDirty</a>, <a class="el" href="a06394.html#l00151">NL3D::CSkeletonModel::dirtSkinRenderLists()</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06569.html#l00543">Visibility</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00113">NL3D::CTransformUser::hide()</a>, <a class="el" href="a05875.html#l00158">NL3D::CLandscapeUser::hide()</a>, <a class="el" href="a06250.html#l00225">NL3D::CPSMesh::newElement()</a>, and <a class="el" href="a06250.html#l00295">NL3D::CPSMesh::updatePos()</a>. +<p> +<div class="fragment"><pre>00224 { +00225 <span class="comment">// Optim: do nothing if already set</span> +00226 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>!= CHrcTrav::Hide) +00227 { +00228 <a class="code" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a>= <span class="keyword">true</span>; +00229 <a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>= CHrcTrav::Hide; +00230 <span class="comment">// If skinned, then must inform skeleton parent that it must recompute skin render/animDetail lists</span> +00231 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>()) +00232 { +00233 <a class="code" href="a04199.html#a6">nlassert</a>(_FatherSkeletonModel); +00234 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->dirtSkinRenderLists(); +00235 } +00236 } +00237 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1019_0" doxytag="NL3D::CTransform::hrcGetChild" ></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="a02316.html">CTransform</a> * NL3D::CTransform::hrcGetChild </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>index</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</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="a06568.html#l01202">1202</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00699">_HrcSons</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05705.html#l00135">NL3D::CFastPtrList< CTransform >::size()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00786">traverseHrc()</a>, <a class="el" href="a06341.html#l00043">NL3D::CRootModel::traverseHrc()</a>, <a class="el" href="a05431.html#l00099">NL3D::CAnimDetailTrav::traverseHrcRecurs()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>01203 { +01204 <a class="code" href="a04199.html#a6">nlassert</a>(index < <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_7">_HrcSons</a>.size()); +01205 <span class="keywordflow">return</span> (const_cast<CTransform*>(<span class="keyword">this</span>))->_HrcSons.begin()[<a class="code" href="a04223.html#a566">index</a>]; +01206 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1019_1" doxytag="NL3D::CTransform::hrcGetNumChildren" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NL3D::CTransform::hrcGetNumChildren </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> + +<p> +Definition at line <a class="el" href="a06569.html#l00220">220</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00699">_HrcSons</a>, <a class="el" href="a05705.html#l00135">NL3D::CFastPtrList< CTransform >::size()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00786">traverseHrc()</a>, <a class="el" href="a06341.html#l00043">NL3D::CRootModel::traverseHrc()</a>, <a class="el" href="a05431.html#l00099">NL3D::CAnimDetailTrav::traverseHrcRecurs()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>00220 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_7">_HrcSons</a>.size();} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1019_2" doxytag="NL3D::CTransform::hrcGetParent" ></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="a02316.html">CTransform</a>* NL3D::CTransform::hrcGetParent </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> + +<p> +Definition at line <a class="el" href="a06569.html#l00218">218</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00700">_HrcParent</a>. +<p> +Referenced by <a class="el" href="a05993.html#l00164">NL3D::CMeshBaseInstance::traverseHrc()</a>, and <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>. +<p> +<div class="fragment"><pre>00218 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1019_3" doxytag="NL3D::CTransform::hrcLinkSon" ></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::CTransform::hrcLinkSon </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02316.html">CTransform</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>son</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> +link son to this in Hierarchy traversal NB: link does nothing if the son node is HRC frozen +<p> +Definition at line <a class="el" href="a06568.html#l01151">1151</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00741">_FreezeHRCState</a>, <a class="el" href="a06569.html#l00698">_HrcNode</a>, <a class="el" href="a06569.html#l00700">_HrcParent</a>, <a class="el" href="a06569.html#l00701">_HrcParentUnfreeze</a>, <a class="el" href="a06569.html#l00699">_HrcSons</a>, <a class="el" href="a06569.html#l00845">_WorldDate</a>, <a class="el" href="a06568.html#l01181">hrcUnlink()</a>, and <a class="el" href="a05705.html#l00128">NL3D::CFastPtrList< CTransform >::insert()</a>. +<p> +Referenced by <a class="el" href="a06350.html#l00571">NL3D::CInstanceGroup::addToSceneWhenAllShapesLoaded()</a>, <a class="el" href="a06348.html#l01004">NL3D::CScene::createModel()</a>, <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, <a class="el" href="a06350.html#l01123">NL3D::CInstanceGroup::linkRoot()</a>, <a class="el" href="a06568.html#l01380">setForceClipRoot()</a>, <a class="el" href="a06393.html#l00543">NL3D::CSkeletonModel::stickObjectEx()</a>, and <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>. +<p> +<div class="fragment"><pre>01152 { +01153 <span class="keywordflow">if</span>(!son) +01154 <span class="keywordflow">return</span>; +01155 +01156 <span class="comment">// If not unfrozen, can't link</span> +01157 <span class="keywordflow">if</span> (son->_FreezeHRCState != CTransform::FreezeHRCStateDisabled) +01158 <span class="keywordflow">return</span>; +01159 +01160 <span class="comment">// no-op if already me.</span> +01161 <span class="keywordflow">if</span>(son->_HrcParent==<span class="keyword">this</span>) +01162 <span class="keywordflow">return</span>; +01163 +01164 <span class="comment">// unlink from anyone</span> +01165 son->hrcUnlink(); +01166 +01167 <span class="comment">// link son to me</span> +01168 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_7">_HrcSons</a>.insert(son, &son->_HrcNode); +01169 +01170 <span class="comment">// link me to son</span> +01171 son->_HrcParent= <span class="keyword">this</span>; +01172 +01173 <span class="comment">// Backup parent</span> +01174 son->_HrcParentUnfreeze= <span class="keyword">this</span>; +01175 +01176 <span class="comment">// my son should recompute his worldMatrix!</span> +01177 son->_WorldDate= -1; +01178 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1019_4" doxytag="NL3D::CTransform::hrcUnlink" ></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::CTransform::hrcUnlink </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +unlink this from any Father in Hrc. No-op if no parent NB: unlink does nothing if the node is HRC frozen +<p> +Definition at line <a class="el" href="a06568.html#l01181">1181</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00698">_HrcNode</a>, <a class="el" href="a06569.html#l00700">_HrcParent</a>, <a class="el" href="a06569.html#l00701">_HrcParentUnfreeze</a>, <a class="el" href="a06569.html#l00845">_WorldDate</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0">ForceClipRoot</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05704.html#l00037">NL3D::CFastPtrListNode::unlink()</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00497">NL3D::CSkeletonModel::bindSkin()</a>, <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, <a class="el" href="a06348.html#l00249">NL3D::CScene::initDefaultRoots()</a>, <a class="el" href="a06348.html#l00277">NL3D::CScene::initQuadGridClipManager()</a>, <a class="el" href="a06568.html#l01380">setForceClipRoot()</a>, <a class="el" href="a06568.html#l00450">update()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>01182 { +01183 <span class="comment">// no-op if already NULL</span> +01184 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>==NULL) +01185 <span class="keywordflow">return</span>; +01186 +01187 <span class="comment">// if ForceClipRoot flag is set, then the fx can't be linked elsewhere in the hierarchy</span> +01188 <a class="code" href="a04199.html#a6">nlassert</a>(!<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(ForceClipRoot)); +01189 +01190 <span class="comment">// unlink my parent from me.</span> +01191 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_4">_HrcNode</a>.unlink(); +01192 +01193 <span class="comment">// unlink me from parent</span> +01194 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>= NULL; +01195 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_6">_HrcParentUnfreeze</a>= NULL; +01196 +01197 <span class="comment">// I should recompute my worldMatrix (well not usefull since not linked, but still do it...)</span> +01198 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_9">_WorldDate</a>= -1; +01199 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1017_0" doxytag="NL3D::CTransform::initModel" ></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::CTransform::initModel </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Extra init for a model. this method is called by the framework at the very end of <a class="el" href="a03348.html#NL3D_1_1CScenez804_0">CScene::createModel()</a> Warning! if the model is a <a class="el" href="a02537.html">CTransformShape</a>, then when <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_0">initModel()</a> is called, Shape and other related member/setup of <a class="el" href="a02539.html#NL3D_1_1IShapea1">IShape::createInstance()</a> are not yet done (because createModel() is called at the begining in createInstance()).<p> +Because <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_0">initModel()</a> is called at the very end, deriver could implement anything like creating other models, but not deleting this model...<p> +Default behavior is to do nothing. +<p> +Reimplemented in <a class="el" href="a02713.html#NL3D_1_1CLandscapeModela25">NL3D::CLandscapeModel</a>, <a class="el" href="a03093.html#NL3D_1_1CPointLightModelb6">NL3D::CPointLightModel</a>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelb8">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00214">214</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00894">_LoadBalancingGroup</a>, <a class="el" href="a05924.html#l00168">NL3D::CLoadBalancingTrav::getDefaultGroup()</a>, <a class="el" href="a06349.html#l00478">NL3D::CScene::getLoadBalancingTrav()</a>, and <a class="el" href="a06569.html#l00105">getOwnerScene()</a>. +<p> +Referenced by <a class="el" href="a06348.html#l01004">NL3D::CScene::createModel()</a>. +<p> +<div class="fragment"><pre>00215 { +00216 <span class="comment">// assign me to the default group</span> +00217 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1049_0">_LoadBalancingGroup</a>= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getLoadBalancingTrav().getDefaultGroup(); +00218 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1028_1" doxytag="NL3D::CTransform::isAnimDetailable" ></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::CTransform::isAnimDetailable </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> +non-zero if the model is animDetailable (ie added to the animDetail list if visible) +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00440">440</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy5">IsAnimDetailable</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, and <a class="el" href="a06393.html#l01117">NL3D::CSkeletonModel::updateSkinRenderLists()</a>. +<p> +<div class="fragment"><pre>00440 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsAnimDetailable);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_3" doxytag="NL3D::CTransform::isBigLightable" ></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::CTransform::isBigLightable </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> +non-zero if the lighting Manager must take into account the bbox of the transform. Default behavior is false. Deriver must call <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1035_0">setIsBigLightable()</a> at initialisation to change it. +<p> +Definition at line <a class="el" href="a06569.html#l00365">365</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy6">IsBigLightable</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06570.html#l00316">NL3D::CTransformShape::getLightHotSpotInWorld()</a>. +<p> +<div class="fragment"><pre>00365 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsBigLightable);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela28" doxytag="NL3D::CTransform::isClipVisible" ></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::CTransform::isClipVisible </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> +tells if the transform has been clipped in the clip traversal. +<p> +Definition at line <a class="el" href="a06569.html#l00313">313</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00867">_Visible</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06393.html#l00972">NL3D::CSkeletonModel::computeDisplayLodCharacterPriority()</a>, <a class="el" href="a06393.html#l01620">NL3D::CSkeletonModel::computeRenderedBBox()</a>, <a class="el" href="a06573.html#l00204">NL3D::CTransformUser::getLastClippedState()</a>, <a class="el" href="a06393.html#l00374">NL3D::CSkeletonModel::isBoneComputed()</a>, <a class="el" href="a06146.html#l00165">NL3D::CParticleSystemManager::processAnimate()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>, and <a class="el" href="a06182.html#l00084">NL3D::CPointLightModel::traverseLight()</a>. +<p> +<div class="fragment"><pre>00314 { +00315 <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>; +00316 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1028_2" doxytag="NL3D::CTransform::isCluster" ></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::CTransform::isCluster </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> +non-zero if the <a class="el" href="a02316.html">CTransform</a> can be casted to a <a class="el" href="a02362.html">CCluster</a> +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00451">451</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy7">IsCluster</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>. +<p> +<div class="fragment"><pre>00451 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsCluster);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_9" doxytag="NL3D::CTransform::isGeneratingShadowMap" ></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::CTransform::isGeneratingShadowMap </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> +true if the instance cast shadow. By default false +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00515">515</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy13">IsGeneratingShadowMap</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, and <a class="el" href="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00515 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsGeneratingShadowMap)!=0;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela29" doxytag="NL3D::CTransform::isHrcVisible" ></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::CTransform::isHrcVisible </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> +tells if the transform has been determined as visible in the hrc traversal +<p> +Reimplemented in <a class="el" href="a03093.html#NL3D_1_1CPointLightModeld0">NL3D::CPointLightModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00306">306</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00844">_WorldVis</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06393.html#l01987">NL3D::CSkeletonModel::computeWorldBBoxForShadow()</a>, <a class="el" href="a06001.html#l00352">NL3D::CMeshInstance::computeWorldBBoxForShadow()</a>, <a class="el" href="a06573.html#l00198">NL3D::CTransformUser::getLastWorldVisState()</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="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00307 { +00308 <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_11">_WorldVis</a>; +00309 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_4" doxytag="NL3D::CTransform::isLightable" ></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::CTransform::isLightable </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> +true if the model can be lighted (such as <a class="el" href="a02873.html">CMeshBaseInstance</a>) Default behavior is false. Deriver must use setIsLightable(true) method if the instance can be lighted. <dl compact><dt><b>Returns:</b></dt><dd>0 if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_2">getUserLightable()</a> is false, or if the model can't be lighted at all. else return a non-zero value</dd></dl> + +<p> +Definition at line <a class="el" href="a06569.html#l00337">337</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy9">IsFinalLightable</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, <a class="el" href="a06570.html#l00178">NL3D::CTransformShape::traverseRender()</a>, <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>, <a class="el" href="a06568.html#l00450">update()</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. +<p> +<div class="fragment"><pre>00337 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsFinalLightable);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1028_3" doxytag="NL3D::CTransform::isLoadBalancable" ></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::CTransform::isLoadBalancable </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> +non-zero if the model is loadBalancable (ie added to the loadBalancing list if visible) +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00442">442</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy15">IsLoadBalancable</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00806">traverseClip()</a>. +<p> +<div class="fragment"><pre>00442 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsLoadBalancable);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1028_4" doxytag="NL3D::CTransform::isMeshBaseInstance" ></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::CTransform::isMeshBaseInstance </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> +non-zero if the <a class="el" href="a02316.html">CTransform</a> can be casted to a <a class="el" href="a02873.html">CMeshBaseInstance</a> +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00447">447</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy16">IsMeshBaseInstance</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05828.html#l00131">NL3D::CInstanceUser::enableAsyncTextureMode()</a>, <a class="el" href="a05828.html#l00171">NL3D::CInstanceUser::getAsyncTextureDistance()</a>, <a class="el" href="a05828.html#l00139">NL3D::CInstanceUser::getAsyncTextureMode()</a>, <a class="el" href="a05828.html#l00187">NL3D::CInstanceUser::isAsyncTextureDirty()</a>, <a class="el" href="a05828.html#l00155">NL3D::CInstanceUser::isAsyncTextureReady()</a>, <a class="el" href="a05828.html#l00179">NL3D::CInstanceUser::setAsyncTextureDirty()</a>, <a class="el" href="a05828.html#l00163">NL3D::CInstanceUser::setAsyncTextureDistance()</a>, and <a class="el" href="a05828.html#l00147">NL3D::CInstanceUser::startAsyncTextureLoading()</a>. +<p> +<div class="fragment"><pre>00447 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsMeshBaseInstance);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1033_0" doxytag="NL3D::CTransform::isNeedUpdateFrozenStaticLightSetup" ></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::CTransform::isNeedUpdateFrozenStaticLightSetup </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, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +non-zero if the object has a FrozenStaticLightSetup not correclty updated. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00631">631</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy17">IsNeedUpdateFrozenStaticLightSetup</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01080">traverseLight()</a>. +<p> +<div class="fragment"><pre>00631 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsNeedUpdateFrozenStaticLightSetup);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1033_1" doxytag="NL3D::CTransform::isNeedUpdateLighting" ></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::CTransform::isNeedUpdateLighting </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, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +non-zero if the object needs to updatelighting. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00629">629</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy18">IsNeedUpdateLighting</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00988">resetLighting()</a>, and <a class="el" href="a06568.html#l01080">traverseLight()</a>. +<p> +<div class="fragment"><pre>00629 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsNeedUpdateLighting);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela31" doxytag="NL3D::CTransform::isOpaque" ></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::CTransform::isOpaque </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]</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="a06569.html#l00173">173</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00239">NL3D::CTransformUser::isOpaque()</a>, <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>, and <a class="el" href="a06393.html#l01117">NL3D::CSkeletonModel::updateSkinRenderLists()</a>. +<p> +<div class="fragment"><pre>00173 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsOpaque); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela32" doxytag="NL3D::CTransform::isQuadGridClipEnabled" ></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::CTransform::isQuadGridClipEnabled </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> +special feature for <a class="el" href="a03287.html">CQuadGridClipManager</a>. return a non-zero value if true +<p> +Definition at line <a class="el" href="a06569.html#l00294">294</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy28">QuadGridClipEnabled</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>. +<p> +<div class="fragment"><pre>00294 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(QuadGridClipEnabled);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1028_5" doxytag="NL3D::CTransform::isRenderable" ></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::CTransform::isRenderable </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> +non-zero if the model is renderable (ie something may appear on screen) +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00444">444</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy20">IsRenderable</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00806">traverseClip()</a>. +<p> +<div class="fragment"><pre>00444 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsRenderable);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1027_0" doxytag="NL3D::CTransform::isSkeleton" ></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::CTransform::isSkeleton </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> +return non-zero if I am a skeleton. if yes, static_cast<CSkeletonModel*> may be used +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00421">421</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy23">IsSkeleton</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00391">NL3D::CSkeletonModel::forceComputeBone()</a>, and <a class="el" href="a05431.html#l00060">NL3D::CAnimDetailTrav::traverse()</a>. +<p> +<div class="fragment"><pre>00421 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsSkeleton);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_2" doxytag="NL3D::CTransform::isSkinnable" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NL3D::CTransform::isSkinnable </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, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if the model can be skinned. called rarely. +<p> + +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez461_1">NL3D::CMeshInstance</a>, <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_2">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_2">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00567">567</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00497">NL3D::CSkeletonModel::bindSkin()</a>. +<p> +<div class="fragment"><pre>00567 {<span class="keywordflow">return</span> <span class="keyword">false</span>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1027_1" doxytag="NL3D::CTransform::isSkinned" ></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::CTransform::isSkinned </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> +non-zero if the model is skinned onto a skeleton. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00423">423</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy24">IsSkinned</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, <a class="el" href="a06568.html#l00287">heritVisibility()</a>, <a class="el" href="a06568.html#l00223">hide()</a>, <a class="el" href="a06568.html#l00334">registerToChannelMixer()</a>, <a class="el" href="a06011.html#l00568">NL3D::CMeshMRMSkinnedGeom::render()</a>, <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06005.html#l01146">NL3D::CMeshMRMGeom::renderSkin()</a>, <a class="el" href="a05989.html#l00788">NL3D::CMeshGeom::renderSkin()</a>, <a class="el" href="a06011.html#l00726">NL3D::CMeshMRMSkinnedGeom::renderSkinGroupGeom()</a>, <a class="el" href="a06005.html#l01318">NL3D::CMeshMRMGeom::renderSkinGroupGeom()</a>, <a class="el" href="a06568.html#l00590">setIsForceAnimDetail()</a>, <a class="el" href="a06568.html#l00255">setOpacity()</a>, <a class="el" href="a06568.html#l00240">setTransparency()</a>, <a class="el" href="a06568.html#l00271">show()</a>, <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>00423 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsSkinned);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez5_0" doxytag="NL3D::CTransform::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_1CWaveMakerModelz1028_6" doxytag="NL3D::CTransform::isTransformShape" ></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::CTransform::isTransformShape </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> +non-zero if the <a class="el" href="a02316.html">CTransform</a> can be casted to a <a class="el" href="a02537.html">CTransformShape</a> +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00449">449</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy25">IsTransformShape</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00663">updateWorld()</a>. +<p> +<div class="fragment"><pre>00449 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsTransformShape);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela34" doxytag="NL3D::CTransform::isTransparent" ></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::CTransform::isTransparent </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]</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="a06569.html#l00174">174</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00244">NL3D::CTransformUser::isTransparent()</a>, <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>, and <a class="el" href="a06393.html#l01117">NL3D::CSkeletonModel::updateSkinRenderLists()</a>. +<p> +<div class="fragment"><pre>00174 { <span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsTransparent); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1039_0" doxytag="NL3D::CTransform::linkToUpdateList" ></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::CTransform::linkToUpdateList </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> [private]</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="a06568.html#l00612">612</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00722">_NextModelToUpdate</a>, <a class="el" href="a06569.html#l00693">_OwnerScene</a>, <a class="el" href="a06569.html#l00721">_PrecModelToUpdate</a>, and <a class="el" href="a06349.html#l00738">NL3D::CScene::_UpdateModelList</a>. +<p> +Referenced by <a class="el" href="a06348.html#l01004">NL3D::CScene::createModel()</a>, <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, and <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>. +<p> +<div class="fragment"><pre>00613 { +00614 <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>) +00615 <span class="keywordflow">return</span>; +00616 +00617 <span class="comment">// If the model is not already inserted.</span> +00618 <span class="keywordflow">if</span>( ! (<a class="code" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a>!=NULL || <a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>->_UpdateModelList==<span class="keyword">this</span>) ) +00619 { +00620 <span class="comment">// insert it.</span> +00621 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>->_UpdateModelList; +00622 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a>= NULL; +00623 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>) +00624 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>->_PrecModelToUpdate= <span class="keyword">this</span>; +00625 <a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>->_UpdateModelList= <span class="keyword">this</span>; +00626 } +00627 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1085_0" doxytag="NL3D::CTransform::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 <a class="code" href="a02851.html">CMatrix</a> rollMT; +00175 rollMT.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_0">identity</a>(); +00176 <span class="keywordflow">if</span> (roll!=0.f) +00177 rollMT.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1965_3">rotateY</a> (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 <a class="code" href="a02851.html">CMatrix</a> targetMT; +00191 targetMT.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_0">identity</a>(); +00192 targetMT.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_10">setRot</a> (i, j, k); +00193 targetMT.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1961_4">setPos</a> (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.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_6">getPos</a>()); +00207 <a class="code" href="a02278.html#NL3D_1_1ITransformablez1081_7">setRotQuat</a>(targetMT.<a class="code" href="a02851.html#NLMISC_1_1CMatrixz1963_11">getRot</a>()); +00208 } +00209 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_10" doxytag="NL3D::CTransform::modelCanCastShadowMap" ></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::CTransform::modelCanCastShadowMap </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> +true if the model provide a method to support shadowMap generation +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00480">480</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy21">IsShadowMapCaster</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01335">enableCastShadowMap()</a>. +<p> +<div class="fragment"><pre>00480 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsShadowMapCaster);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_11" doxytag="NL3D::CTransform::modelCanReceiveShadowMap" ></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::CTransform::modelCanReceiveShadowMap </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> +true if the model provide a method to support shadowMap receiving +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00482">482</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy22">IsShadowMapReceiver</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06569.html#l00475">enableReceiveShadowMap()</a>. +<p> +<div class="fragment"><pre>00482 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsShadowMapReceiver);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVegetableBlendLayerModelz1017_1" doxytag="NL3D::CTransform::profileRender" ></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::CTransform::profileRender </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Called at RenderTrav to profile current render. no-op per default. +<p> + +<p> +Reimplemented in <a class="el" href="a02713.html#NL3D_1_1CLandscapeModela32">NL3D::CLandscapeModel</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagerz778_0">NL3D::CQuadGridClipManager</a>, and <a class="el" href="a02537.html#NL3D_1_1CWaveMakerModelz1057_1">NL3D::CTransformShape</a>. +<p> +Definition at line <a class="el" href="a06568.html#l01137">1137</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +Referenced by <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>. +<p> +<div class="fragment"><pre>01138 { +01139 <span class="comment">// no-op</span> +01140 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_12" doxytag="NL3D::CTransform::receiveShadowMap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::receiveShadowMap </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03370.html">CShadowMap</a> * </td> + <td class="mdname" nowrap> <em>shadowMap</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>casterPos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a02839.html">CMaterial</a> & </td> + <td class="mdname" nowrap> <em>shadowMat</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +For receivers. Modulate the Object with a ShadowMap. The model shoud render in the scene driver a version of its geometry simplified, and modulate the background with shadowColor. <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>casterPos</em> </td><td>the world position of the caster model. </td></tr> + <tr><td valign=top><em>shadowMat</em> </td><td>a correclty setuped material with good ShadowColor, ready to be rendered.</td></tr> + </table> +</dl> + +<p> +Reimplemented in <a class="el" href="a02713.html#NL3D_1_1CLandscapeModelz282_2">NL3D::CLandscapeModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00506">506</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>. +<p> +<div class="fragment"><pre>00506 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransforme5" doxytag="NL3D::CTransform::registerBasic" ></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::CTransform::registerBasic </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]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Call at the begining of the program, to register the model. +<p> + +<p> +Reimplemented in <a class="el" href="a02315.html#NL3D_1_1CCamerae5">NL3D::CCamera</a>, <a class="el" href="a02362.html#NL3D_1_1CClustere5">NL3D::CCluster</a>, <a class="el" href="a02536.html#NL3D_1_1CFlareModele6">NL3D::CFlareModel</a>, <a class="el" href="a02713.html#NL3D_1_1CLandscapeModele5">NL3D::CLandscapeModel</a>, <a class="el" href="a02873.html#NL3D_1_1CMeshBaseInstancee5">NL3D::CMeshBaseInstance</a>, <a class="el" href="a02888.html#NL3D_1_1CMeshInstancee5">NL3D::CMeshInstance</a>, <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancee5">NL3D::CMeshMRMInstance</a>, <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancee5">NL3D::CMeshMRMSkinnedInstance</a>, <a class="el" href="a02914.html#NL3D_1_1CMeshMultiLodInstancee5">NL3D::CMeshMultiLodInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz616_2">NL3D::CParticleSystemModel</a>, <a class="el" href="a03093.html#NL3D_1_1CPointLightModele5">NL3D::CPointLightModel</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagere5">NL3D::CQuadGridClipManager</a>, <a class="el" href="a03340.html#NL3D_1_1CRootModele5">NL3D::CRootModel</a>, <a class="el" href="a03357.html#NL3D_1_1CSegRemanencee6">NL3D::CSegRemanence</a>, <a class="el" href="a03399.html#NL3D_1_1CSkeletonModele5">NL3D::CSkeletonModel</a>, <a class="el" href="a02537.html#NL3D_1_1CTransformShapee5">NL3D::CTransformShape</a>, <a class="el" href="a03672.html#NL3D_1_1CVegetableBlendLayerModele5">NL3D::CVegetableBlendLayerModel</a>, <a class="el" href="a03721.html#NL3D_1_1CWaterModele6">NL3D::CWaterModel</a>, and <a class="el" href="a03725.html#NL3D_1_1CWaveMakerModele6">NL3D::CWaveMakerModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00045">45</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00072">NL3D::TransformId</a>. +<p> +<div class="fragment"><pre>00046 { +00047 CScene::registerModel( TransformId, 0, CTransform::creator); +00048 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1023_0" doxytag="NL3D::CTransform::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::CTransform::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 transform channels (in global anim mode). <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela35">setChannelMixerOwnerShip</a></dd></dl> + +<p> +Implements <a class="el" href="a02278.html#NL3D_1_1ITransformablez1087_4">NL3D::ITransformable</a>. +<p> +Reimplemented in <a class="el" href="a02315.html#NL3D_1_1CCameraz48_4">NL3D::CCamera</a>, <a class="el" href="a02873.html#NL3D_1_1CMeshMultiLodInstancez437_1">NL3D::CMeshBaseInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz625_6">NL3D::CParticleSystemModel</a>, <a class="el" href="a03357.html#NL3D_1_1CSegRemanencea34">NL3D::CSegRemanence</a>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz918_1">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00334">334</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a05433.html#l00037">NL3D::IAnimatable::addValue()</a>, <a class="el" href="a06394.html#l00151">NL3D::CSkeletonModel::dirtSkinRenderLists()</a>, <a class="el" href="a06569.html#l00257">getChannelMixerOwnerShip()</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy5">IsAnimDetailable</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy12">IsForceAnimDetail</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06569.html#l00256">setChannelMixerOwnerShip()</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06177.html#l00073">NL3D::CPlayListUser::registerTransform()</a>. +<p> +<div class="fragment"><pre>00335 { +00336 <span class="keywordflow">if</span> (<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela7">getChannelMixerOwnerShip</a>() && chanMixer != <a class="code" href="a02316.html#NL3D_1_1CTransformr0">_ChannelMixer</a>) +00337 { +00338 <span class="keyword">delete</span> <a class="code" href="a02316.html#NL3D_1_1CTransformr0">_ChannelMixer</a>; +00339 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela35">setChannelMixerOwnerShip</a>(<span class="keyword">false</span>); +00340 } +00341 +00342 <span class="comment">// Hey!! we are animated!!</span> +00343 <a class="code" href="a02316.html#NL3D_1_1CTransformr0">_ChannelMixer</a>= chanMixer; +00344 +00345 <span class="comment">// Update flag, if we must be inserted in AnimDetail</span> +00346 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsAnimDetailable, _ChannelMixer || <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsForceAnimDetail) ); +00347 +00348 <span class="comment">// If skinned, then must inform skeleton parent that it must recompute skin render/animDetail lists</span> +00349 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>()) +00350 { +00351 <a class="code" href="a04199.html#a6">nlassert</a>(_FatherSkeletonModel); +00352 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->dirtSkinRenderLists(); +00353 } +00354 +00355 <span class="comment">// For CTransfom, channels are not detailled.</span> +00356 <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, PosValue, OwnerBit, prefix, <span class="keyword">false</span>); +00357 <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, RotEulerValue, OwnerBit, prefix, <span class="keyword">false</span>); +00358 <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, RotQuatValue, OwnerBit, prefix, <span class="keyword">false</span>); +00359 <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, ScaleValue, OwnerBit, prefix, <span class="keyword">false</span>); +00360 <a class="code" href="a02197.html#NL3D_1_1ITransformableb0">addValue</a>(chanMixer, PivotValue, OwnerBit, prefix, <span class="keyword">false</span>); +00361 +00362 <span class="comment">// Deriver note: if necessary, call BaseClass::registerToChannelMixer(chanMixer, prefix);</span> +00363 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_13" doxytag="NL3D::CTransform::renderIntoSkeletonShadowMap" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::renderIntoSkeletonShadowMap </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03399.html">CSkeletonModel</a> * </td> + <td class="mdname" nowrap> <em>rootSkeleton</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02839.html">CMaterial</a> & </td> + <td class="mdname" nowrap> <em>castMat</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Special For Skeleton Caster. Render into the AuxDriver the mesh, within the current setuped Frustum/ViewMatrix. no-op by default, or if hidden in HRC!! <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>rootSkeleton</em> </td><td>the skeleton which is currently rendering its shadowMap</td></tr> + </table> +</dl> + +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez465_3">NL3D::CMeshInstance</a>, and <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz934_3">NL3D::CSkeletonModel</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00527">527</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l02062">NL3D::CSkeletonModel::renderIntoSkeletonShadowMap()</a>. +<p> +<div class="fragment"><pre>00527 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_3" doxytag="NL3D::CTransform::renderShadowSkinGeom" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual <a class="el" href="a04558.html#a14">sint</a> NL3D::CTransform::renderShadowSkinGeom </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>remainingVertices</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> * </td> + <td class="mdname" nowrap> <em>vbDest</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. It return a list of sphere relative to each bone of the father skeleton. Use with <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_1">getSkinBoneUsage()</a> to know to wich bone this sphere apply NB: if a sphere radius is -1, it means that the bone is not used (for any reason...) default is to return NULL. +<p> +Reimplemented in <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_3">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_3">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00612">612</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00612 {<span class="keywordflow">return</span> 0;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_4" doxytag="NL3D::CTransform::renderShadowSkinPrimitives" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::renderShadowSkinPrimitives </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02839.html">CMaterial</a> & </td> + <td class="mdname" nowrap> <em>castMat</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02434.html">IDriver</a> * </td> + <td class="mdname" nowrap> <em>drv</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>baseVertex</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. It return a list of sphere relative to each bone of the father skeleton. Use with <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_1">getSkinBoneUsage()</a> to know to wich bone this sphere apply NB: if a sphere radius is -1, it means that the bone is not used (for any reason...) default is to return NULL. +<p> +Reimplemented in <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_4">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_4">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00613">613</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00613 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_5" doxytag="NL3D::CTransform::renderSkin" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::renderSkin </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>alphaMRM</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. It renders the skin with current ctx of the skeletonModel SkeletonModel has already setuped the Light and the modelMatrix in the driver. If the skin is a MRM, it is the skeleton which drives the MRM level with alphaMRM: [0,1] default is nop +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez461_2">NL3D::CMeshInstance</a>, <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_5">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_5">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00590">590</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +<div class="fragment"><pre>00590 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_6" doxytag="NL3D::CTransform::renderSkinGroupGeom" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual <a class="el" href="a04558.html#a14">sint</a> NL3D::CTransform::renderSkinGroupGeom </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname" nowrap> <em>alphaMRM</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>remainingVertices</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> * </td> + <td class="mdname" nowrap> <em>dest</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_11">supportSkinGrouping()</a>, called to transform the VBuffer, and store it into dest. <dl compact><dt><b>Returns:</b></dt><dd>number of vertices added to the VBuffer, or -1 if > reaminingVertices</dd></dl> + +<p> +Reimplemented in <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_6">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_6">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00601">601</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00601 {<span class="keywordflow">return</span> 0;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_7" doxytag="NL3D::CTransform::renderSkinGroupPrimitives" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::renderSkinGroupPrimitives </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>baseVertex</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>std::vector< <a class="el" href="a03407.html">CSkinSpecularRdrPass</a> > & </td> + <td class="mdname" nowrap> <em>specularRdrPasses</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>skinIndex</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_11">supportSkinGrouping()</a>, called to render the primitives of the already skinned vertices (VB activated in the driver) Optionnaly, fill specRdrPasses with specular rdrPass to sort (used for specular grouping). <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>baseVertex</em> </td><td>value to add to each PBlock index.</td></tr> + </table> +</dl> + +<p> +Reimplemented in <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_7">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_7">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00606">606</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00606 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_8" doxytag="NL3D::CTransform::renderSkinGroupSpecularRdrPass" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::renderSkinGroupSpecularRdrPass </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>rdrPass</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Render a specific specular renderPass returned by renderSkinGroupPrimitives. +<p> + +<p> +Reimplemented in <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_8">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_8">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00608">608</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00608 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_5" doxytag="NL3D::CTransform::resetLighting" ></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::CTransform::resetLighting </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +reset lights which influence this models. NB: the model is removed from all lights's list (except FrozenStaticLightSetup). Called by light rendering.<p> +NB: the model is NOT removed from LightingManager (with eraseStaticLightedModel()). +<p> +Definition at line <a class="el" href="a06568.html#l00988">988</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00626">_LightContribution</a>, <a class="el" href="a05894.html#l00079">NL3D::CLightContribution::FrozenStaticLightSetup</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy18">IsNeedUpdateLighting</a>, <a class="el" href="a06569.html#l00629">isNeedUpdateLighting()</a>, <a class="el" href="a05894.html#l00042">NL3D_MAX_LIGHT_CONTRIBUTION</a>, <a class="el" href="a05894.html#l00084">NL3D::CLightContribution::NumFrozenStaticLight</a>, <a class="el" href="a05894.html#l00067">NL3D::CLightContribution::PointLight</a>, <a class="el" href="a06179.html#l00418">NL3D::CPointLight::removeLightedModel()</a>, <a class="el" href="a06569.html#l00809">setStateFlag()</a>, <a class="el" href="a05894.html#l00069">NL3D::CLightContribution::TransformIterator</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05901.html#l00151">NL3D::CLightingManager::addDynamicLight()</a>, <a class="el" href="a06568.html#l01028">freezeStaticLightSetup()</a>, <a class="el" href="a06179.html#l00393">NL3D::CPointLight::resetLightedModels()</a>, <a class="el" href="a06568.html#l01061">unfreezeStaticLightSetup()</a>, <a class="el" href="a06568.html#l00663">updateWorld()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>00989 { +00990 <span class="comment">// if the model is already isNeedUpdateLighting, his light setup is reseted.</span> +00991 <span class="comment">// so no need to reset again</span> +00992 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_1">isNeedUpdateLighting</a>()) +00993 <span class="keywordflow">return</span>; +00994 +00995 +00996 <span class="comment">// For all light not in FrozenStaticLightSetup, remove me from their list</span> +00997 <a class="code" href="a04558.html#a15">uint</a> startLight= 0; +00998 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.FrozenStaticLightSetup) +00999 { +01000 startLight= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.NumFrozenStaticLight; +01001 } +01002 +01003 <span class="comment">// for all light in the list, remove me from their list.</span> +01004 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=startLight; i<<a class="code" href="a04471.html#a0">NL3D_MAX_LIGHT_CONTRIBUTION</a>; i++) +01005 { +01006 CPointLight *pl= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.PointLight[i]; +01007 <span class="comment">// if end of list, break.</span> +01008 <span class="keywordflow">if</span>(!pl) +01009 <span class="keywordflow">break</span>; +01010 <span class="keywordflow">else</span> +01011 { +01012 <span class="comment">// remove me from this light.</span> +01013 pl->removeLightedModel(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.TransformIterator[i]); +01014 } +01015 } +01016 <span class="comment">// empty the list.</span> +01017 <span class="keywordflow">if</span>(startLight<<a class="code" href="a04471.html#a0">NL3D_MAX_LIGHT_CONTRIBUTION</a>) +01018 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.PointLight[startLight]= NULL; +01019 +01020 +01021 <span class="comment">// the model needs to update his lighting.</span> +01022 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsNeedUpdateLighting, <span class="keyword">true</span>); +01023 +01024 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez5_1" doxytag="NL3D::CTransform::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_1CWaveMakerModelz1032_9" doxytag="NL3D::CTransform::setApplySkin" ></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::CTransform::setApplySkin </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>state</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. called by <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz920_0">CSkeletonModel::bindSkin()</a> NB: _FatherSkeletonModel is valid when <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_9">setApplySkin()</a> is called The default behavior must be called: it sets the flag so <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned()</a> return the good thing +<p> +Reimplemented in <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez461_3">NL3D::CMeshInstance</a>, <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_9">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_9">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00584">584</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy24">IsSkinned</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00497">NL3D::CSkeletonModel::bindSkin()</a>, and <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>. +<p> +<div class="fragment"><pre>00585 { +00586 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsSkinned, state); +00587 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela35" doxytag="NL3D::CTransform::setChannelMixerOwnerShip" ></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::CTransform::setChannelMixerOwnerShip </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>enable</em> = true </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> +This force gives this object ownership of the channel mixer it is registered to, so it will delete it when the dtor is called. It should be called AFTER this object has been registered to a channel mixer, because a new registration will broke the ownership. This is useful for automatic animations, when there's no owner of the channel mixer that could delete it. +<p> +Definition at line <a class="el" href="a06569.html#l00256">256</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy8">IsDeleteChannelMixer</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06348.html#l00600">NL3D::CScene::createInstance()</a>, and <a class="el" href="a06568.html#l00334">registerToChannelMixer()</a>. +<p> +<div class="fragment"><pre>00256 { <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsDeleteChannelMixer, enable); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela36" doxytag="NL3D::CTransform::setClusterSystem" ></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::CTransform::setClusterSystem </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02671.html">CInstanceGroup</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>pCS</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> + +<p> +Definition at line <a class="el" href="a06569.html#l00912">912</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00737">_ClusterSystem</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0">ForceClipRoot</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +Referenced by <a class="el" href="a06348.html#l01268">NL3D::CScene::findCameraClusterSystemFromRay()</a>, and <a class="el" href="a06568.html#l01380">setForceClipRoot()</a>. +<p> +<div class="fragment"><pre>00913 { +00914 <span class="keywordflow">if</span> (pCS != NULL) +00915 { +00916 <a class="code" href="a04199.html#a6">nlassert</a>(!<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(ForceClipRoot)); <span class="comment">// the transform must be linked to the root, and have not cluster system when this flag is set</span> +00917 } +00918 <a class="code" href="a02316.html#NL3D_1_1CTransformr1">_ClusterSystem</a> = pCS; +00919 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela38" doxytag="NL3D::CTransform::setDontUnfreezeChildren" ></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::CTransform::setDontUnfreezeChildren </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</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> + +<p> +Definition at line <a class="el" href="a06568.html#l00378">378</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00848">_DontUnfreezeChildren</a>. +<p> +Referenced by <a class="el" href="a06350.html#l00476">NL3D::CInstanceGroup::createRoot()</a>. +<p> +<div class="fragment"><pre>00379 { +00380 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_4">_DontUnfreezeChildren</a> = val; +00381 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez5_2" doxytag="NL3D::CTransform::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::CTransform::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_1CWaveMakerModela39" doxytag="NL3D::CTransform::setForceClipRoot" ></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::CTransform::setForceClipRoot </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>forceClipRoot</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> +Force the transform to always be attached to the root As a consequence, it can't be inserted into a cluster system (even the root cluster) and is thus always visible when in the frustum (not clusterized) NB : any call to setClusterSystem will cause an assertion when the flag is set NB : any call to hrcUnlink will cause an assertion when the flag is set (must remain linked to the root) +<p> +Definition at line <a class="el" href="a06568.html#l01380">1380</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00693">_OwnerScene</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0">ForceClipRoot</a>, <a class="el" href="a06349.html#l00482">NL3D::CScene::getRoot()</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, <a class="el" href="a06568.html#l01181">hrcUnlink()</a>, <a class="el" href="a06569.html#l00912">setClusterSystem()</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00259">NL3D::CTransformUser::setForceClipRoot()</a>. +<p> +<div class="fragment"><pre>01381 { +01382 <span class="keywordflow">if</span> (forceClipRoot == (<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(ForceClipRoot) != 0)) <span class="keywordflow">return</span>; +01383 <span class="keywordflow">if</span> (forceClipRoot) +01384 { +01385 <span class="comment">// unlink from previous father and link to the root</span> +01386 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1019_4">hrcUnlink</a>(); +01387 <span class="keywordflow">if</span> (<a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>) +01388 { +01389 <a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>->getRoot()->hrcLinkSon(<span class="keyword">this</span>); +01390 } +01391 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela36">setClusterSystem</a>(NULL); +01392 } +01393 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(ForceClipRoot, forceClipRoot); +01394 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1030_14" doxytag="NL3D::CTransform::setGeneratingShadowMap" ></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::CTransform::setGeneratingShadowMap </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>state</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> +For ShadowMapManager. true if the model is rendering its ShadowMap this frame. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00514">514</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00470">canCastShadowMap()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy13">IsGeneratingShadowMap</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06372.html#l00215">NL3D::CShadowMapManager::addShadowCasterGenerate()</a>. +<p> +<div class="fragment"><pre>00514 {<span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1030_0">canCastShadowMap</a>()) <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsGeneratingShadowMap, state);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_0" doxytag="NL3D::CTransform::setIsBigLightable" ></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::CTransform::setIsBigLightable </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must use this method with true to indicate the model is a big lightable. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00574">574</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy6">IsBigLightable</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a05991.html#l00261">NL3D::CMeshBase::instanciateMeshBase()</a>. +<p> +<div class="fragment"><pre>00575 { +00576 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsBigLightable, val); +00577 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_1" doxytag="NL3D::CTransform::setIsCluster" ></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::CTransform::setIsCluster </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +For <a class="el" href="a02362.html">CCluster</a> only. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00671">671</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy7">IsCluster</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00671 {<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsCluster, val);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_2" doxytag="NL3D::CTransform::setIsForceAnimDetail" ></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::CTransform::setIsForceAnimDetail </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must use this method with true if the model must be AnimDetail-ed whatever <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1023_0">registerToChannelMixer()</a> has been called or not +<p> +Definition at line <a class="el" href="a06568.html#l00590">590</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06394.html#l00151">NL3D::CSkeletonModel::dirtSkinRenderLists()</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy5">IsAnimDetailable</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy12">IsForceAnimDetail</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00591 { +00592 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsForceAnimDetail, val ); +00593 +00594 <span class="comment">// Update flag, if we must be inserted in AnimDetail</span> +00595 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsAnimDetailable, _ChannelMixer || <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsForceAnimDetail) ); +00596 +00597 <span class="comment">// If skinned, then must inform skeleton parent that it must recompute skin render/animDetail lists</span> +00598 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>()) +00599 { +00600 <a class="code" href="a04199.html#a6">nlassert</a>(_FatherSkeletonModel); +00601 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->dirtSkinRenderLists(); +00602 } +00603 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_3" doxytag="NL3D::CTransform::setIsLightable" ></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::CTransform::setIsLightable </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must use this method with true to indicate the model support lighting. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00552">552</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy9">IsFinalLightable</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy14">IsLightable</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy27">IsUserLightable</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a05991.html#l00261">NL3D::CMeshBase::instanciateMeshBase()</a>. +<p> +<div class="fragment"><pre>00553 { +00554 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsLightable, val); +00555 <span class="comment">// update IsFinalLightable</span> +00556 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsFinalLightable, (<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsLightable) && <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsUserLightable)) ); +00557 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_4" doxytag="NL3D::CTransform::setIsLoadbalancable" ></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::CTransform::setIsLoadbalancable </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must use this method with true to indicate the model support loadBalancing. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00605">605</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy15">IsLoadBalancable</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00606 { +00607 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsLoadBalancable, val ); +00608 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_5" doxytag="NL3D::CTransform::setIsMeshBaseInstance" ></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::CTransform::setIsMeshBaseInstance </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +For <a class="el" href="a02873.html">CMeshBaseInstance</a> only. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00667">667</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy16">IsMeshBaseInstance</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00667 {<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsMeshBaseInstance, val);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_6" doxytag="NL3D::CTransform::setIsRenderable" ></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::CTransform::setIsRenderable </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must use this method with true to indicate the model can be rendered. "can be rendered" means if object has to be inserted in RenderTrav list. eg: a mesh must be inserted in a render list, but not a light, or a NULL transform. The default is false. +<p> +Definition at line <a class="el" href="a06568.html#l00568">568</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy20">IsRenderable</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00569 { +00570 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsRenderable, val); +00571 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_7" doxytag="NL3D::CTransform::setIsShadowMapCaster" ></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::CTransform::setIsShadowMapCaster </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +ShadowMap. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00674">674</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy21">IsShadowMapCaster</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00674 {<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsShadowMapCaster, val);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_8" doxytag="NL3D::CTransform::setIsShadowMapReceiver" ></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::CTransform::setIsShadowMapReceiver </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must use this method with true to indicate the model is a big lightable. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00675">675</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy22">IsShadowMapReceiver</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00675 {<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsShadowMapReceiver, val);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_9" doxytag="NL3D::CTransform::setIsSkeleton" ></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::CTransform::setIsSkeleton </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +For <a class="el" href="a03399.html">CSkeletonModel</a> only. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00579">579</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy23">IsSkeleton</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00580 { +00581 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsSkeleton, val); +00582 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1035_10" doxytag="NL3D::CTransform::setIsTransformShape" ></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::CTransform::setIsTransformShape </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>val</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +For <a class="el" href="a02537.html">CTransformShape</a> only. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00669">669</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy25">IsTransformShape</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +<div class="fragment"><pre>00669 {<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsTransformShape, val);} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1025_1" doxytag="NL3D::CTransform::setLoadBalancingGroup" ></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::CTransform::setLoadBalancingGroup </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>group</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> +Change the load Balancing group of a model. Every models are in a special LoadBalancingGroup. NB: the group is created if did not exist. NB: if models are skinned, it is their Skeleton which drive the group<p> +By default, models lies in the "Default" group, but Skeletons for skinning and ParticlesSystems which are in "Skin" and "Fx" group respectively. The "Default" group is special because it is not balanced (ie models are only degraded from their distance to camera) +<p> +Definition at line <a class="el" href="a06568.html#l00522">522</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00894">_LoadBalancingGroup</a>, <a class="el" href="a06349.html#l00478">NL3D::CScene::getLoadBalancingTrav()</a>, <a class="el" href="a05923.html#l00227">NL3D::CLoadBalancingTrav::getOrCreateGroup()</a>, and <a class="el" href="a06569.html#l00105">getOwnerScene()</a>. +<p> +Referenced by <a class="el" href="a06395.html#l00154">NL3D::CSkeletonShape::createInstance()</a>, <a class="el" href="a06360.html#l00150">NL3D::CSegRemanenceShape::createInstance()</a>, and <a class="el" href="a06152.html#l00267">NL3D::CParticleSystemShape::createInstance()</a>. +<p> +<div class="fragment"><pre>00523 { +00524 <span class="comment">// Get the traversal.</span> +00525 CLoadBalancingTrav &trav= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getLoadBalancingTrav(); +00526 <span class="comment">// get the group from trav (create if needed), and set it.</span> +00527 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1049_0">_LoadBalancingGroup</a>= trav.getOrCreateGroup(group); +00528 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela40" doxytag="NL3D::CTransform::setLogicInfo" ></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::CTransform::setLogicInfo </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03863.html">ILogicInfo</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>logicInfo</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> +Set the LogicInfo for this transfrom, eg to retrieve statc light information, see <a class="el" href="a03863.html">ILogicInfo</a>. Ptr is kept in CTransfrom, so should call setLogicInfo(NULL) before to clean up. +<p> +Definition at line <a class="el" href="a06569.html#l00389">389</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00752">_LogicInfo</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00191">NL3D::CTransformUser::setLogicInfo()</a>. +<p> +<div class="fragment"><pre>00389 {<a class="code" href="a02316.html#NL3D_1_1CTransformr5">_LogicInfo</a>= logicInfo;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_0" doxytag="NL3D::CTransform::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 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a>= mat; +00178 <span class="comment">// The matrix has changed.</span> +00179 _LocalMatrixDate++; +00180 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1028_7" doxytag="NL3D::CTransform::setMeanColor" ></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::CTransform::setMeanColor </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03337.html">CRGBA</a> </td> + <td class="mdname1" valign="top" nowrap> <em>color</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> +set the Mean color of the transform. The mean color can be used for many purpose, such as drawing objects if the textures are not loaded. It is used also for Lod Character. Default color is (255,255,255) +<p> +Definition at line <a class="el" href="a06568.html#l00540">540</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00756">_MeanColor</a>. +<p> +<div class="fragment"><pre>00541 { +00542 <span class="comment">// if the color is different from prec</span> +00543 <span class="keywordflow">if</span>(color!=<a class="code" href="a02316.html#NL3D_1_1CTransformr6">_MeanColor</a>) +00544 { +00545 <span class="comment">// change it.</span> +00546 <a class="code" href="a02316.html#NL3D_1_1CTransformr6">_MeanColor</a>= color; +00547 } +00548 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela41" doxytag="NL3D::CTransform::setOpacity" ></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::CTransform::setOpacity </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>v</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> + +<p> +Definition at line <a class="el" href="a06568.html#l00255">255</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06394.html#l00151">NL3D::CSkeletonModel::dirtSkinRenderLists()</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06569.html#l00809">setStateFlag()</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +Referenced by <a class="el" href="a05712.html#l00044">NL3D::CFlareModel::CFlareModel()</a>, <a class="el" href="a06148.html#l00117">NL3D::CParticleSystemModel::CParticleSystemModel()</a>, <a class="el" href="a06393.html#l00075">NL3D::CSkeletonModel::CSkeletonModel()</a>, <a class="el" href="a06688.html#l00051">NL3D::CVegetableBlendLayerModel::CVegetableBlendLayerModel()</a>, <a class="el" href="a06737.html#l00063">NL3D::CWaterModel::CWaterModel()</a>, <a class="el" href="a05991.html#l00261">NL3D::CMeshBase::instanciateMeshBase()</a>, <a class="el" href="a06573.html#l00234">NL3D::CTransformUser::setOpacity()</a>, <a class="el" href="a06018.html#l00086">NL3D::CMeshMultiLodInstance::traverseLoadBalancing()</a>, <a class="el" href="a06358.html#l00415">NL3D::CSegRemanence::updateOpacityFromShape()</a>, and <a class="el" href="a06148.html#l00196">NL3D::CParticleSystemModel::updateOpacityInfos()</a>. +<p> +<div class="fragment"><pre>00256 { +00257 <span class="keywordtype">bool</span> bTmp = <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsOpaque) == 0 ? <span class="keyword">false</span> : <span class="keyword">true</span>; +00258 <span class="keywordflow">if</span> (bTmp != <a class="code" href="a04223.html#a576">v</a>) +00259 { +00260 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsOpaque, v); +00261 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>()) +00262 { +00263 <a class="code" href="a04199.html#a6">nlassert</a>(_FatherSkeletonModel); +00264 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->dirtSkinRenderLists(); +00265 } +00266 } +00267 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela42" doxytag="NL3D::CTransform::setOrderingLayer" ></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::CTransform::setOrderingLayer </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>layer</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> +Set the current layer for this transform. Typically, this is used to sort transparent objects. Isn't used with solid objects. For now : Layer 0 is for underwater Layer 1 is for water surfaces Layer 2 is for object above water +<p> +Definition at line <a class="el" href="a06569.html#l00184">184</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00743">_OrderingLayer</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06737.html#l00063">NL3D::CWaterModel::CWaterModel()</a>, and <a class="el" href="a06573.html#l00162">NL3D::CTransformUser::setOrderingLayer()</a>. +<p> +<div class="fragment"><pre>00184 { <a class="code" href="a02316.html#NL3D_1_1CTransformr7">_OrderingLayer</a> = layer; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1081_1" doxytag="NL3D::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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::CTransform::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_1CTransformz1041_2" doxytag="NL3D::CTransform::setStateFlag" ></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::CTransform::setStateFlag </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>mask</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>val</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +This is used to set Static or dynamic flags. val must take 0 or 1. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00809">809</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00806">_StateFlags</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01335">enableCastShadowMap()</a>, <a class="el" href="a06569.html#l00475">enableReceiveShadowMap()</a>, <a class="el" href="a06568.html#l00385">freezeHRC()</a>, <a class="el" href="a06568.html#l01028">freezeStaticLightSetup()</a>, <a class="el" href="a06568.html#l00334">registerToChannelMixer()</a>, <a class="el" href="a06568.html#l00988">resetLighting()</a>, <a class="el" href="a06568.html#l00584">setApplySkin()</a>, <a class="el" href="a06569.html#l00256">setChannelMixerOwnerShip()</a>, <a class="el" href="a06568.html#l01380">setForceClipRoot()</a>, <a class="el" href="a06569.html#l00514">setGeneratingShadowMap()</a>, <a class="el" href="a06568.html#l00574">setIsBigLightable()</a>, <a class="el" href="a06569.html#l00671">setIsCluster()</a>, <a class="el" href="a06568.html#l00590">setIsForceAnimDetail()</a>, <a class="el" href="a06568.html#l00552">setIsLightable()</a>, <a class="el" href="a06568.html#l00605">setIsLoadbalancable()</a>, <a class="el" href="a06569.html#l00667">setIsMeshBaseInstance()</a>, <a class="el" href="a06568.html#l00568">setIsRenderable()</a>, <a class="el" href="a06569.html#l00674">setIsShadowMapCaster()</a>, <a class="el" href="a06569.html#l00675">setIsShadowMapReceiver()</a>, <a class="el" href="a06568.html#l00579">setIsSkeleton()</a>, <a class="el" href="a06569.html#l00669">setIsTransformShape()</a>, <a class="el" href="a06568.html#l00255">setOpacity()</a>, <a class="el" href="a06568.html#l00240">setTransparency()</a>, <a class="el" href="a06568.html#l01310">setUserClipping()</a>, <a class="el" href="a06568.html#l00559">setUserLightable()</a>, <a class="el" href="a06568.html#l01080">traverseLight()</a>, <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>, <a class="el" href="a06568.html#l01061">unfreezeStaticLightSetup()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>00810 { +00811 <span class="comment">// reset the state.</span> +00812 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_3">_StateFlags</a>&= ~mask; +00813 <span class="comment">// set the state</span> +00814 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_3">_StateFlags</a>|= ( 0- ((<a class="code" href="a04558.html#a11">uint32</a>)val) ) & mask; +00815 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez1079_0" doxytag="NL3D::CTransform::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_1CWaveMakerModela43" doxytag="NL3D::CTransform::setTransparency" ></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::CTransform::setTransparency </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>v</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> +Accessors for opacity/transparency +<p> +Definition at line <a class="el" href="a06568.html#l00240">240</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06394.html#l00151">NL3D::CSkeletonModel::dirtSkinRenderLists()</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06569.html#l00809">setStateFlag()</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +Referenced by <a class="el" href="a05712.html#l00044">NL3D::CFlareModel::CFlareModel()</a>, <a class="el" href="a06148.html#l00117">NL3D::CParticleSystemModel::CParticleSystemModel()</a>, <a class="el" href="a06393.html#l00075">NL3D::CSkeletonModel::CSkeletonModel()</a>, <a class="el" href="a06688.html#l00051">NL3D::CVegetableBlendLayerModel::CVegetableBlendLayerModel()</a>, <a class="el" href="a06737.html#l00063">NL3D::CWaterModel::CWaterModel()</a>, <a class="el" href="a05991.html#l00261">NL3D::CMeshBase::instanciateMeshBase()</a>, <a class="el" href="a06573.html#l00229">NL3D::CTransformUser::setTransparency()</a>, <a class="el" href="a06018.html#l00086">NL3D::CMeshMultiLodInstance::traverseLoadBalancing()</a>, <a class="el" href="a06358.html#l00415">NL3D::CSegRemanence::updateOpacityFromShape()</a>, <a class="el" href="a06148.html#l00196">NL3D::CParticleSystemModel::updateOpacityInfos()</a>, and <a class="el" href="a06393.html#l01117">NL3D::CSkeletonModel::updateSkinRenderLists()</a>. +<p> +<div class="fragment"><pre>00241 { +00242 <span class="keywordtype">bool</span> bTmp = <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsTransparent) == 0 ? <span class="keyword">false</span> : <span class="keyword">true</span>; +00243 <span class="keywordflow">if</span> (bTmp != <a class="code" href="a04223.html#a576">v</a>) +00244 { +00245 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsTransparent, v); +00246 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>()) +00247 { +00248 <a class="code" href="a04199.html#a6">nlassert</a>(_FatherSkeletonModel); +00249 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->dirtSkinRenderLists(); +00250 } +00251 } +00252 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela44" doxytag="NL3D::CTransform::setUserClipping" ></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::CTransform::setUserClipping </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>enable</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> + +<p> +Definition at line <a class="el" href="a06568.html#l01310">1310</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00809">setStateFlag()</a>, and <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy30">UserClipping</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00126">NL3D::CTransformUser::setUserClipping()</a>. +<p> +<div class="fragment"><pre>01311 { +01312 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a> (UserClipping, enable); +01313 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_6" doxytag="NL3D::CTransform::setUserLightable" ></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::CTransform::setUserLightable </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>enable</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> +Set the UserLightable flag. if false, <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_4">isLightable()</a> will always return false. Doing this, user can disable lighting on a model which may be interesting for speed. Default behavior is UserLightable==true. +<p> +Definition at line <a class="el" href="a06568.html#l00559">559</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy9">IsFinalLightable</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy14">IsLightable</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy27">IsUserLightable</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00178">NL3D::CTransformUser::setUserLightable()</a>. +<p> +<div class="fragment"><pre>00560 { +00561 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsUserLightable, enable); +00562 <span class="comment">// update IsFinalLightable</span> +00563 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsFinalLightable, (<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsLightable) && <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(IsUserLightable)) ); +00564 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela45" doxytag="NL3D::CTransform::setWorldMatrix" ></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::CTransform::setWorldMatrix </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]</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="a06569.html#l00302">302</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06146.html#l00165">NL3D::CParticleSystemManager::processAnimate()</a>. +<p> +<div class="fragment"><pre>00302 { <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">_WorldMatrix</a> = mat;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela46" doxytag="NL3D::CTransform::show" ></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::CTransform::show </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Show the objet and his sons. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00271">271</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00749">_TransformDirty</a>, <a class="el" href="a06394.html#l00151">NL3D::CSkeletonModel::dirtSkinRenderLists()</a>, <a class="el" href="a06569.html#l00423">isSkinned()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06569.html#l00543">Visibility</a>. +<p> +Referenced by <a class="el" href="a06573.html#l00120">NL3D::CTransformUser::show()</a>, and <a class="el" href="a05875.html#l00153">NL3D::CLandscapeUser::show()</a>. +<p> +<div class="fragment"><pre>00272 { +00273 <span class="comment">// Optim: do nothing if already set</span> +00274 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>!= CHrcTrav::Show) +00275 { +00276 <a class="code" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a>= <span class="keyword">true</span>; +00277 <a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>= CHrcTrav::Show; +00278 <span class="comment">// If skinned, then must inform skeleton parent that it must recompute skin render/animDetail lists</span> +00279 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>()) +00280 { +00281 <a class="code" href="a04199.html#a6">nlassert</a>(_FatherSkeletonModel); +00282 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->dirtSkinRenderLists(); +00283 } +00284 } +00285 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_10" doxytag="NL3D::CTransform::supportShadowSkinGrouping" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NL3D::CTransform::supportShadowSkinGrouping </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, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Special Skinning For ShadowMapping. +<p> + +<p> +Reimplemented in <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_10">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_10">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00611">611</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +<div class="fragment"><pre>00611 {<span class="keywordflow">return</span> <span class="keyword">false</span>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_11" doxytag="NL3D::CTransform::supportSkinGrouping" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NL3D::CTransform::supportSkinGrouping </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, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver may support SkinGrouping if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. It renders the skin with current ctx of the skeletonModel, but torn in 2 pass: fillVB,a nd renderPrimitives Deriver may check NL3D_MESH_SKIN_MANAGER_VERTEXFORMAT and NL3D_MESH_SKIN_MANAGER_MAXVERTICES +<p> +Reimplemented in <a class="el" href="a02899.html#NL3D_1_1CMeshMRMInstancez499_11">NL3D::CMeshMRMInstance</a>, and <a class="el" href="a02909.html#NL3D_1_1CMeshMRMSkinnedInstancez531_11">NL3D::CMeshMRMSkinnedInstance</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00597">597</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +<div class="fragment"><pre>00597 {<span class="keywordflow">return</span> <span class="keyword">false</span>;} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1ITransformablez5_3" doxytag="NL3D::CTransform::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> +<a class="anchor" name="NL3D_1_1CWaterModelz1017_1" doxytag="NL3D::CTransform::traverseAnimDetail" ></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::CTransform::traverseAnimDetail </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +call <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1047_1">updateWorldMatrixFromFather()</a>, then <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1047_0">traverseAnimDetailWithoutUpdateWorldMatrix()</a> +<p> + +<p> +Reimplemented in <a class="el" href="a02873.html#NL3D_1_1CMeshMultiLodInstancez449_0">NL3D::CMeshBaseInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz627_1">NL3D::CParticleSystemModel</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagerz778_1">NL3D::CQuadGridClipManager</a>, <a class="el" href="a03340.html#NL3D_1_1CRootModelz794_0">NL3D::CRootModel</a>, <a class="el" href="a03357.html#NL3D_1_1CSegRemanencez888_0">NL3D::CSegRemanence</a>, <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz930_0">NL3D::CSkeletonModel</a>, and <a class="el" href="a03725.html#NL3D_1_1CWaveMakerModelz1178_0">NL3D::CWaveMakerModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00953">953</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06568.html#l00938">traverseAnimDetailWithoutUpdateWorldMatrix()</a>, and <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>. +<p> +Referenced by <a class="el" href="a05431.html#l00060">NL3D::CAnimDetailTrav::traverse()</a>, and <a class="el" href="a05431.html#l00099">NL3D::CAnimDetailTrav::traverseHrcRecurs()</a>. +<p> +<div class="fragment"><pre>00954 { +00955 <span class="comment">// First, test if I must update my worldMatrix because of the ancestorSkeleton scheme</span> +00956 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1047_1">updateWorldMatrixFromFather</a>(); +00957 +00958 <span class="comment">// eval channelMixer.</span> +00959 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1047_0">traverseAnimDetailWithoutUpdateWorldMatrix</a>(); +00960 +00961 <span class="comment">// NB: if want to add something, do it in traverseAnimDetailWithoutUpdateWorldMatrix(), because</span> +00962 <span class="comment">// CSkeletonModel doesn't call CTransform::traverseAnimDetail()</span> +00963 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1047_0" doxytag="NL3D::CTransform::traverseAnimDetailWithoutUpdateWorldMatrix" ></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::CTransform::traverseAnimDetailWithoutUpdateWorldMatrix </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> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +traverse without updatin WorldMatrixFromFather:<ul> +<li>animdetail if the model channelmixer is not NULL, and if model not clipped</li></ul> + +<p> +Definition at line <a class="el" href="a06568.html#l00938">938</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a05543.html#l00154">NL3D::CChannelMixer::eval()</a>, and <a class="el" href="a06569.html#l00105">getOwnerScene()</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00953">traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00939 { +00940 <span class="comment">// AnimDetail behavior: animate only if not clipped.</span> +00941 <span class="comment">// NB: no need to test because of VisibilityList use.</span> +00942 +00943 <span class="comment">// test if the refptr is NULL or not (RefPtr).</span> +00944 CChannelMixer *chanmix= <a class="code" href="a02316.html#NL3D_1_1CTransformr0">_ChannelMixer</a>; +00945 <span class="keywordflow">if</span>(chanmix) +00946 { +00947 <span class="comment">// eval detail!!</span> +00948 chanmix->eval(<span class="keyword">true</span>, <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getAnimDetailTrav().CurrentDate); +00949 } +00950 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1017_1" doxytag="NL3D::CTransform::traverseClip" ></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::CTransform::traverseClip </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +The base traverseClip method. The behavior is to:<ul> +<li>test if _WorldVis is visible.</li><li>test if is clipped with <a class="el" href="a02316.html#NL3D_1_1CTransformz1017_0">clip()</a> OR IF SKELETON MODEL, USE SKELETON MODEL clip!!</li><li>if visible and not clipped, set <code>_Visible=true</code> (else false). and<ul> +<li>add the CTransform* to the ClipTrav list</li></ul> +</li><li>if _Visible==true, and renderable, add it to the RenderTraversal: <code>RenderTrav->addRenderModel(model)</code>;</li><li>always traverseSons(), to clip the sons.</li></ul> + +<p> +Reimplemented in <a class="el" href="a02362.html#NL3D_1_1CClusterz70_3">NL3D::CCluster</a>, <a class="el" href="a02713.html#NL3D_1_1CLandscapeModela47">NL3D::CLandscapeModel</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz627_2">NL3D::CParticleSystemModel</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagerz778_2">NL3D::CQuadGridClipManager</a>, and <a class="el" href="a03340.html#NL3D_1_1CRootModelz794_1">NL3D::CRootModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00806">806</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00851">_AncestorSkeletonModel</a>, <a class="el" href="a06569.html#l00865">_ClipDate</a>, <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00746">_ForceCLodSticked</a>, <a class="el" href="a06569.html#l00830">_RenderFilterType</a>, <a class="el" href="a06569.html#l00806">_StateFlags</a>, <a class="el" href="a06569.html#l00867">_Visible</a>, <a class="el" href="a06569.html#l00844">_WorldVis</a>, <a class="el" href="a05898.html#l00077">NL3D::CLightTrav::addLightedModel()</a>, <a class="el" href="a06330.html#l00121">NL3D::CRenderTrav::addRenderModel()</a>, <a class="el" href="a05924.html#l00178">NL3D::CLoadBalancingTrav::addVisibleModel()</a>, <a class="el" href="a05432.html#l00084">NL3D::CAnimDetailTrav::addVisibleModel()</a>, <a class="el" href="a05556.html#l00105">NL3D::CClipTrav::addVisibleModel()</a>, <a class="el" href="a06569.html#l00155">clip()</a>, <a class="el" href="a06568.html#l01265">clipGetChild()</a>, <a class="el" href="a06569.html#l00237">clipGetNumChildren()</a>, <a class="el" href="a05556.html#l00151">NL3D::CClipTrav::CurrentDate</a>, <a class="el" href="a06349.html#l00477">NL3D::CScene::getAnimDetailTrav()</a>, <a class="el" href="a06349.html#l00475">NL3D::CScene::getClipTrav()</a>, <a class="el" href="a06349.html#l00508">NL3D::CScene::getFilterRenderFlags()</a>, <a class="el" href="a06349.html#l00476">NL3D::CScene::getLightTrav()</a>, <a class="el" href="a06349.html#l00478">NL3D::CScene::getLoadBalancingTrav()</a>, <a class="el" href="a06569.html#l00105">getOwnerScene()</a>, <a class="el" href="a06349.html#l00479">NL3D::CScene::getRenderTrav()</a>, <a class="el" href="a06569.html#l00440">isAnimDetailable()</a>, <a class="el" href="a06569.html#l00313">isClipVisible()</a>, <a class="el" href="a06394.html#l00259">NL3D::CSkeletonModel::isDisplayedAsLodCharacter()</a>, <a class="el" href="a06569.html#l00337">isLightable()</a>, <a class="el" href="a06569.html#l00442">isLoadBalancable()</a>, <a class="el" href="a06569.html#l00444">isRenderable()</a>, <a class="el" href="a05646.html#l01124">num</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy30">UserClipping</a>. +<p> +Referenced by <a class="el" href="a05563.html#l00405">NL3D::CCluster::recursTraverseClip()</a>, <a class="el" href="a05555.html#l00120">NL3D::CClipTrav::traverse()</a>, <a class="el" href="a06341.html#l00052">NL3D::CRootModel::traverseClip()</a>, and <a class="el" href="a06148.html#l00726">NL3D::CParticleSystemModel::traverseClip()</a>. +<p> +<div class="fragment"><pre>00807 { +00808 <span class="comment">// disable H_AUTO, because slowdown when lot of models (eg 1000-2000 tested in forest)</span> +00809 <span class="comment">//H_AUTO( NL3D_TransformClip );</span> +00810 +00811 <a class="code" href="a02316.html#NL3D_1_1CTransformn3">CScene</a> *scene= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>(); +00812 <a class="code" href="a02316.html#NL3D_1_1CTransformn1">CClipTrav</a> &clipTrav= scene->getClipTrav(); +00813 +00814 <span class="keywordflow">if</span> ((<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_0">_ClipDate</a> == clipTrav.CurrentDate) && <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>) +00815 <span class="keywordflow">return</span>; +00816 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_0">_ClipDate</a> = clipTrav.CurrentDate; +00817 +00818 <span class="comment">// clip: update Visible flag.</span> +00819 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>= <span class="keyword">false</span>; +00820 <span class="comment">// if at least visible.</span> +00821 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_11">_WorldVis</a>) +00822 { +00823 <span class="comment">// If linked to a SkeletonModel anywhere in the hierarchy, don't clip, and use skeleton model clip result.</span> +00824 <span class="comment">// This works because we are sons of a special node which is not in the clip traversal, and</span> +00825 <span class="comment">// which is traversed at end of the traversal.</span> +00826 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>!=NULL ) +00827 { +00828 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>->isClipVisible(); +00829 <span class="comment">// Special test: if we are sticked to a skeletonModel, and if we are still visible, maybe we don't have to</span> +00830 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a> && <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>) +00831 { +00832 <span class="comment">// if our skeletonModel father is displayed with a Lod, maybe we are not to be displayed</span> +00833 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->isDisplayedAsLodCharacter()) +00834 { +00835 <span class="comment">// We are visible only if we where sticked to the skeleton with forceCLod==true.</span> +00836 <span class="comment">// This is also true if we are actually a skeletonModel</span> +00837 <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CTransformr2">_ForceCLodSticked</a>) +00838 <span class="comment">// otherWise we are not visible. eg: this is the case of skins and some sticked object</span> +00839 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>= <span class="keyword">false</span>; +00840 } +00841 } +00842 } +00843 <span class="comment">// else, clip.</span> +00844 <span class="keywordflow">else</span> +00845 { +00846 <span class="comment">// If the instance is not filtered</span> +00847 <span class="keywordflow">if</span>(scene->getFilterRenderFlags() & <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelp0">_RenderFilterType</a>) +00848 { +00849 <span class="comment">// User cliping enabled ?</span> +00850 <span class="keywordflow">if</span> (<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_3">_StateFlags</a> & <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy30">UserClipping</a>) +00851 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>= <span class="keyword">true</span>; +00852 <span class="keywordflow">else</span> +00853 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformz1017_0">clip</a>(); +00854 } +00855 } +00856 } +00857 +00858 <span class="comment">// if visible, add to list.</span> +00859 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">_Visible</a>) +00860 { +00861 <span class="comment">// add this model to the visibility list.</span> +00862 clipTrav.addVisibleModel(<span class="keyword">this</span>); +00863 +00864 <span class="comment">// Has not an ancestor skeleton model?</span> +00865 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>==NULL ) +00866 { +00867 <span class="comment">// If needed, insert the model in the lighted list.</span> +00868 <span class="comment">// don't insert if has an ancestorSkeletonModel, because in this case, result is driven by </span> +00869 <span class="comment">// the _LightContribution of the _AncestorSkeletonModel.</span> +00870 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_4">isLightable</a>() ) +00871 scene->getLightTrav().addLightedModel(<span class="keyword">this</span>); +00872 +00873 <span class="comment">// If needed, insert the model in the animDetail list.</span> +00874 <span class="comment">// don't insert if has an ancestoreSkeletonModel, because in this case, this ancestore will </span> +00875 <span class="comment">// animDetail through the hierarchy...</span> +00876 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1028_1">isAnimDetailable</a>() ) +00877 scene->getAnimDetailTrav().addVisibleModel(<span class="keyword">this</span>); +00878 } +00879 +00880 <span class="comment">// If needed, Add it to the loadBalancing trav</span> +00881 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1028_3">isLoadBalancable</a>() ) +00882 scene->getLoadBalancingTrav().addVisibleModel(<span class="keyword">this</span>); +00883 +00884 <span class="comment">// If needed, insert the model in the render list.</span> +00885 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1028_5">isRenderable</a>() ) +00886 scene->getRenderTrav().addRenderModel(<span class="keyword">this</span>); +00887 } +00888 +00889 <span class="comment">// Traverse the Clip sons.</span> +00890 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a653">num</a>= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_3">clipGetNumChildren</a>(); +00891 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i<<a class="code" href="a04223.html#a653">num</a>;i++) +00892 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_2">clipGetChild</a>(i)->traverseClip(); +00893 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1017_2" doxytag="NL3D::CTransform::traverseHrc" ></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::CTransform::traverseHrc </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Each method is called in its associated traversal. +<p> + +<p> +Reimplemented in <a class="el" href="a02362.html#NL3D_1_1CClusterz70_4">NL3D::CCluster</a>, <a class="el" href="a02713.html#NL3D_1_1CLandscapeModela48">NL3D::CLandscapeModel</a>, <a class="el" href="a02873.html#NL3D_1_1CMeshMultiLodInstancez449_1">NL3D::CMeshBaseInstance</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagerz778_3">NL3D::CQuadGridClipManager</a>, and <a class="el" href="a03340.html#NL3D_1_1CRootModelz794_2">NL3D::CRootModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00786">786</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06568.html#l01202">hrcGetChild()</a>, <a class="el" href="a06569.html#l00220">hrcGetNumChildren()</a>, <a class="el" href="a05646.html#l01124">num</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. +<p> +Referenced by <a class="el" href="a05796.html#l00041">NL3D::CHrcTrav::traverse()</a>, and <a class="el" href="a06341.html#l00043">NL3D::CRootModel::traverseHrc()</a>. +<p> +<div class="fragment"><pre>00787 { +00788 <span class="comment">// Recompute the matrix, according to _HrcParent matrix mode, and local matrix.</span> +00789 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_1">updateWorld</a>(); +00790 +00791 <span class="comment">// Traverse the Hrc sons.</span> +00792 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a653">num</a>= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1019_1">hrcGetNumChildren</a>(); +00793 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i<<a class="code" href="a04223.html#a653">num</a>;i++) +00794 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1019_0">hrcGetChild</a>(i)->traverseHrc(); +00795 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1017_3" doxytag="NL3D::CTransform::traverseLight" ></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::CTransform::traverseLight </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +traverse the lightedModel per default: recompute LightContribution is <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_4">isLightable()</a> +<p> + +<p> +Reimplemented in <a class="el" href="a03093.html#NL3D_1_1CPointLightModela36">NL3D::CPointLightModel</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagerz778_4">NL3D::CQuadGridClipManager</a>, and <a class="el" href="a03340.html#NL3D_1_1CRootModelz794_3">NL3D::CRootModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l01080">1080</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00626">_LightContribution</a>, <a class="el" href="a06569.html#l00752">_LogicInfo</a>, <a class="el" href="a05894.html#l00073">NL3D::CLightContribution::AttFactor</a>, <a class="el" href="a06179.html#l00267">NL3D::CPointLight::computeLinearAttenuation()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a06568.html#l00514">getAABBox()</a>, <a class="el" href="a05385.html#l00090">NLMISC::CAABBox::getCenter()</a>, <a class="el" href="a06349.html#l00476">NL3D::CScene::getLightTrav()</a>, <a class="el" href="a06569.html#l00105">getOwnerScene()</a>, <a class="el" href="a06180.html#l00116">NL3D::CPointLight::getPosition()</a>, <a class="el" href="a06569.html#l00299">getWorldMatrix()</a>, <a class="el" href="a06569.html#l00631">isNeedUpdateFrozenStaticLightSetup()</a>, <a class="el" href="a06569.html#l00629">isNeedUpdateLighting()</a>, <a class="el" href="a05898.html#l00097">NL3D::CLightTrav::LightingManager</a>, <a class="el" href="a05894.html#l00084">NL3D::CLightContribution::NumFrozenStaticLight</a>, <a class="el" href="a05701.html#l00125">NLMISC::OptFastFloor()</a>, <a class="el" href="a05894.html#l00067">NL3D::CLightContribution::PointLight</a>, <a class="el" href="a06569.html#l00809">setStateFlag()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>01081 { +01082 <span class="comment">// if the model do not need to update his lighting, just skip.</span> +01083 <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_1">isNeedUpdateLighting</a>()) +01084 <span class="keywordflow">return</span>; +01085 +01086 +01087 <span class="comment">// If a freezeStaticLightSetup() has been called on this model recently.</span> +01088 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_0">isNeedUpdateFrozenStaticLightSetup</a>()) +01089 { +01090 <span class="comment">// Now, the correct matrix is computed.</span> +01091 <span class="comment">// get the untransformed bbox from the model.</span> +01092 CAABBox bbox; +01093 <a class="code" href="a02316.html#NL3D_1_1CVegetableBlendLayerModela3">getAABBox</a>(bbox); +01094 <span class="comment">// get transformed center pos of bbox</span> +01095 CVector worldModelPos= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela25">getWorldMatrix</a>() * bbox.getCenter(); +01096 +01097 <span class="comment">// So we can compute AttFactor for each static light influencing this static object</span> +01098 <a class="code" href="a04558.html#a15">uint</a> numPointLights= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.NumFrozenStaticLight; +01099 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i=0;i<numPointLights;i++) +01100 { +01101 <span class="keyword">const</span> CPointLight *pl= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.PointLight[i]; +01102 <span class="comment">// don't worry about the precision of floor, because of *255.</span> +01103 <span class="keywordtype">float</span> distToModel= (pl->getPosition() - worldModelPos).norm(); +01104 <a class="code" href="a04558.html#a14">sint</a> attFactor= <a class="code" href="a05378.html#a397">NLMISC::OptFastFloor</a>( 255 * pl->computeLinearAttenuation(worldModelPos, distToModel) ); +01105 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.AttFactor[i]= (<a class="code" href="a04558.html#a7">uint8</a>)attFactor; +01106 } +01107 +01108 <span class="comment">// clean.</span> +01109 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(CTransform::IsNeedUpdateFrozenStaticLightSetup, <span class="keyword">false</span>); +01110 } +01111 +01112 +01113 <span class="comment">// see CTransform::clip(), here I am Lightable(), and I have no _AncestorSkeletonModel</span> +01114 <span class="comment">// So I am sure that I really need to recompute my ModelLightContributions.</span> +01115 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getLightTrav().LightingManager.computeModelLightContributions(<span class="keyword">this</span>, +01116 _LightContribution, _LogicInfo); +01117 +01118 <span class="comment">// done!</span> +01119 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(CTransform::IsNeedUpdateLighting, <span class="keyword">false</span>); +01120 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVegetableBlendLayerModelz1017_6" doxytag="NL3D::CTransform::traverseLoadBalancing" ></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::CTransform::traverseLoadBalancing </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +no-op by default +<p> + +<p> +Reimplemented in <a class="el" href="a02914.html#NL3D_1_1CMeshMultiLodInstancez541_0">NL3D::CMeshMultiLodInstance</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagerz778_5">NL3D::CQuadGridClipManager</a>, <a class="el" href="a03340.html#NL3D_1_1CRootModelz794_4">NL3D::CRootModel</a>, and <a class="el" href="a02537.html#NL3D_1_1CWaveMakerModelz1057_2">NL3D::CTransformShape</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00974">974</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +Referenced by <a class="el" href="a05923.html#l00208">NL3D::CLoadBalancingTrav::traverseVisibilityList()</a>. +<p> +<div class="fragment"><pre>00975 { +00976 <span class="comment">// noop</span> +00977 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1017_8" doxytag="NL3D::CTransform::traverseRender" ></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::CTransform::traverseRender </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +no-op by default +<p> + +<p> +Reimplemented in <a class="el" href="a02536.html#NL3D_1_1CFlareModelz195_0">NL3D::CFlareModel</a>, <a class="el" href="a02713.html#NL3D_1_1CLandscapeModela49">NL3D::CLandscapeModel</a>, <a class="el" href="a02888.html#NL3D_1_1CMeshInstancez463_0">NL3D::CMeshInstance</a>, <a class="el" href="a03052.html#NL3D_1_1CParticleSystemModelz627_3">NL3D::CParticleSystemModel</a>, <a class="el" href="a03287.html#NL3D_1_1CQuadGridClipManagerz778_6">NL3D::CQuadGridClipManager</a>, <a class="el" href="a03340.html#NL3D_1_1CRootModelz794_5">NL3D::CRootModel</a>, <a class="el" href="a03399.html#NL3D_1_1CSkeletonModelz930_1">NL3D::CSkeletonModel</a>, <a class="el" href="a02537.html#NL3D_1_1CWaveMakerModelz1057_3">NL3D::CTransformShape</a>, <a class="el" href="a03672.html#NL3D_1_1CVegetableBlendLayerModelz1102_1">NL3D::CVegetableBlendLayerModel</a>, and <a class="el" href="a03721.html#NL3D_1_1CWaterModelz1176_1">NL3D::CWaterModel</a>. +<p> +Definition at line <a class="el" href="a06568.html#l01131">1131</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +Referenced by <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>. +<p> +<div class="fragment"><pre>01132 { +01133 <span class="comment">// no-op</span> +01134 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModela49" doxytag="NL3D::CTransform::unfreezeHRC" ></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::CTransform::unfreezeHRC </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela4">freezeHRC()</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00406">406</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00741">_FreezeHRCState</a>, <a class="el" href="a06569.html#l00700">_HrcParent</a>, <a class="el" href="a06569.html#l00701">_HrcParentUnfreeze</a>, <a class="el" href="a06569.html#l00634">_LightedModelIt</a>, <a class="el" href="a05901.html#l00217">NL3D::CLightingManager::eraseStaticLightedModel()</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>, <a class="el" href="a06349.html#l00476">NL3D::CScene::getLightTrav()</a>, <a class="el" href="a06569.html#l00105">getOwnerScene()</a>, <a class="el" href="a06349.html#l00482">NL3D::CScene::getRoot()</a>, <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, <a class="el" href="a06569.html#l00337">isLightable()</a>, <a class="el" href="a05898.html#l00097">NL3D::CLightTrav::LightingManager</a>, <a class="el" href="a06568.html#l00612">linkToUpdateList()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy28">QuadGridClipEnabled</a>, <a class="el" href="a06569.html#l00809">setStateFlag()</a>, and <a class="el" href="a06569.html#l00561">unlinkFromQuadCluster()</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00497">NL3D::CSkeletonModel::bindSkin()</a>, <a class="el" href="a05993.html#l00164">NL3D::CMeshBaseInstance::traverseHrc()</a>, and <a class="el" href="a06350.html#l01146">NL3D::CInstanceGroup::unfreezeHRC()</a>. +<p> +<div class="fragment"><pre>00407 { +00408 <span class="comment">// if this model is no HRC frozen disabled</span> +00409 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a>!=<a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>) +00410 { +00411 <span class="comment">// if model correctly frozen.</span> +00412 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a> == CTransform::FreezeHRCStateEnabled ) +00413 { +00414 <span class="comment">// Should not be linked : can't link after a freezeHRC</span> +00415 <a class="code" href="a04199.html#a6">nlassert</a> (_HrcParent == NULL); +00416 +00417 <span class="comment">// Set as unfreeze else, hrcLinkSon doesn't work</span> +00418 <a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>; +00419 +00420 <span class="comment">// Link this model to the previous HRC parent.</span> +00421 <span class="keywordflow">if</span> (<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_6">_HrcParentUnfreeze</a>) +00422 <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_6">_HrcParentUnfreeze</a>->hrcLinkSon( <span class="keyword">this</span> ); +00423 <span class="keywordflow">else</span> +00424 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getRoot()->hrcLinkSon( <span class="keyword">this</span> ); +00425 +00426 <span class="comment">// Link this object to the validateList.</span> +00427 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_0">linkToUpdateList</a>(); +00428 +00429 <span class="comment">// if lightable()</span> +00430 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_4">isLightable</a>() ) +00431 { +00432 CLightTrav &lightTrav= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getLightTrav(); +00433 <span class="comment">// Lighting: must remove the object from the quadGrid.</span> +00434 <span class="comment">// NB: works if _LightedModelIt==NULL. result is that _LightedModelIt= NULL.</span> +00435 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_3">_LightedModelIt</a>= lightTrav.LightingManager.eraseStaticLightedModel(_LightedModelIt); +00436 } +00437 +00438 } +00439 <span class="keywordflow">else</span> +00440 <a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformy29NL3D_1_1CTransformy1">FreezeHRCStateDisabled</a>; +00441 +00442 <span class="comment">// unlink me from any QuadCluster, and disable QuadCluster</span> +00443 <a class="code" href="a02316.html#NL3D_1_1CVegetableBlendLayerModelb7">unlinkFromQuadCluster</a>(); +00444 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(QuadGridClipEnabled, <span class="keyword">false</span>); +00445 } +00446 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_7" doxytag="NL3D::CTransform::unfreezeStaticLightSetup" ></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::CTransform::unfreezeStaticLightSetup </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +unFreeze the Static Light Setup. Must be called if static pointLights are deleted. NB: it calls <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_5">resetLighting()</a> first. NB: do not need to call it if pointLights and this transform are deleted at same time. +<p> +Definition at line <a class="el" href="a06568.html#l01061">1061</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00626">_LightContribution</a>, <a class="el" href="a05894.html#l00093">NL3D::CLightContribution::FrozenAmbientLight</a>, <a class="el" href="a05894.html#l00079">NL3D::CLightContribution::FrozenStaticLightSetup</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy17">IsNeedUpdateFrozenStaticLightSetup</a>, <a class="el" href="a05894.html#l00084">NL3D::CLightContribution::NumFrozenStaticLight</a>, <a class="el" href="a05894.html#l00067">NL3D::CLightContribution::PointLight</a>, <a class="el" href="a06568.html#l00988">resetLighting()</a>, and <a class="el" href="a06569.html#l00809">setStateFlag()</a>. +<p> +Referenced by <a class="el" href="a06350.html#l00935">NL3D::CInstanceGroup::removeFromScene()</a>. +<p> +<div class="fragment"><pre>01062 { +01063 <span class="comment">// resetLighting() first.</span> +01064 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_5">resetLighting</a>(); +01065 +01066 <span class="comment">// Disable StaticLightSetup.</span> +01067 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.FrozenStaticLightSetup= <span class="keyword">false</span>; +01068 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.NumFrozenStaticLight= 0; +01069 <span class="comment">// End the list</span> +01070 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.PointLight[0]= NULL; +01071 <span class="comment">// No more FrozenAmbientLight</span> +01072 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.FrozenAmbientLight= NULL; +01073 +01074 <span class="comment">// Don't need to update StaticLightSetup since no more exist.</span> +01075 <a class="code" href="a02316.html#NL3D_1_1CTransformz1041_2">setStateFlag</a>(IsNeedUpdateFrozenStaticLightSetup, <span class="keyword">false</span>); +01076 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CVegetableBlendLayerModelb7" doxytag="NL3D::CTransform::unlinkFromQuadCluster" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NL3D::CTransform::unlinkFromQuadCluster </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, protected, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +special feature for <a class="el" href="a03287.html">CQuadGridClipManager</a>. called at <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModela49">unfreezeHRC()</a>. Used by <a class="el" href="a02537.html">CTransformShape</a>. +<p> + +<p> +Reimplemented in <a class="el" href="a02537.html#NL3D_1_1CWaveMakerModelb7">NL3D::CTransformShape</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00561">561</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>. +<p> +<div class="fragment"><pre>00561 {} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1039_1" doxytag="NL3D::CTransform::unlinkFromUpdateList" ></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::CTransform::unlinkFromUpdateList </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> [private]</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="a06568.html#l00630">630</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00722">_NextModelToUpdate</a>, <a class="el" href="a06569.html#l00693">_OwnerScene</a>, <a class="el" href="a06569.html#l00721">_PrecModelToUpdate</a>, and <a class="el" href="a06349.html#l00738">NL3D::CScene::_UpdateModelList</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00497">NL3D::CSkeletonModel::bindSkin()</a>, <a class="el" href="a06568.html#l00450">update()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. +<p> +<div class="fragment"><pre>00631 { +00632 <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>) +00633 <span class="keywordflow">return</span>; +00634 +00635 <span class="comment">// If the model is inserted.</span> +00636 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a>!=NULL || <a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>->_UpdateModelList==<span class="keyword">this</span> ) +00637 { +00638 <span class="comment">// update prec.</span> +00639 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a>) +00640 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a>->_NextModelToUpdate= <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>; +00641 <span class="keywordflow">else</span> +00642 <a class="code" href="a02316.html#NL3D_1_1CTransformr8">_OwnerScene</a>->_UpdateModelList= <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>; +00643 +00644 <span class="comment">// update next.</span> +00645 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>) +00646 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>->_PrecModelToUpdate= <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a>; +00647 +00648 <span class="comment">// End.</span> +00649 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_3">_PrecModelToUpdate</a>= NULL; +00650 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_2">_NextModelToUpdate</a>= NULL; +00651 } +00652 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1017_4" doxytag="NL3D::CTransform::update" ></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::CTransform::update </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> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +This function update the model (called by <a class="el" href="a03348.html#NL3D_1_1CScened0">CScene::updateModels()</a>) Deriver Must :<ul> +<li>call BaseClass::update() (eg: <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_4">CTransform::update()</a>).</li><li>test if something is different (eg: animation modification). Then update Model information (eg compute new Matrix).</li></ul> +<p> +The default behavior is to update transform Matrix etc... +<p> +Reimplemented in <a class="el" href="a02315.html#NL3D_1_1CCamerab8">NL3D::CCamera</a>. +<p> +Definition at line <a class="el" href="a06568.html#l00450">450</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00741">_FreezeHRCState</a>, <a class="el" href="a06569.html#l00847">_Frozen</a>, <a class="el" href="a06569.html#l00735">_LastTransformableMatrixDate</a>, <a class="el" href="a06569.html#l00634">_LightedModelIt</a>, <a class="el" href="a06569.html#l00841">_LocalDate</a>, <a class="el" href="a06569.html#l00839">_LocalMatrix</a>, <a class="el" href="a06569.html#l00840">_LocalVis</a>, <a class="el" href="a06569.html#l00749">_TransformDirty</a>, <a class="el" href="a05797.html#l00092">NL3D::CHrcTrav::CurrentDate</a>, <a class="el" href="a05901.html#l00217">NL3D::CLightingManager::eraseStaticLightedModel()</a>, <a class="el" href="a06349.html#l00474">NL3D::CScene::getHrcTrav()</a>, <a class="el" href="a06349.html#l00476">NL3D::CScene::getLightTrav()</a>, <a class="el" href="a06575.html#l00076">NL3D::ITransformable::getMatrix()</a>, <a class="el" href="a06569.html#l00105">getOwnerScene()</a>, <a class="el" href="a06568.html#l01181">hrcUnlink()</a>, <a class="el" href="a05901.html#l00231">NL3D::CLightingManager::insertStaticLightedModel()</a>, <a class="el" href="a06569.html#l00337">isLightable()</a>, <a class="el" href="a05898.html#l00097">NL3D::CLightTrav::LightingManager</a>, <a class="el" href="a06568.html#l00630">unlinkFromUpdateList()</a>, and <a class="el" href="a06569.html#l00543">Visibility</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01359">forceCompute()</a>, <a class="el" href="a06568.html#l00367">freeze()</a>, and <a class="el" href="a06348.html#l01067">NL3D::CScene::updateModels()</a>. +<p> +<div class="fragment"><pre>00451 { +00452 <span class="comment">// test if the matrix has been changed in ITransformable.</span> +00453 <span class="keywordflow">if</span>(ITransformable::compareMatrixDate(_LastTransformableMatrixDate)) +00454 { +00455 <a class="code" href="a02316.html#NL3D_1_1CTransformr4">_LastTransformableMatrixDate</a>= ITransformable::getMatrixDate(); +00456 <a class="code" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a>= <span class="keyword">true</span>; +00457 } +00458 +00459 <span class="comment">// update the freezeHRC state.</span> +00460 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a> != CTransform::FreezeHRCStateDisabled) +00461 { +00462 <span class="comment">// if the model request to be frozen in HRC</span> +00463 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a> == CTransform::FreezeHRCStateRequest ) +00464 { +00465 <span class="comment">// Wait for next Hrc traversal to compute good _WorldMatrix for this model and his sons.</span> +00466 <span class="comment">// Also, next Hrc traversal will insert the model in the LightingManager quadGrid (if lightable)</span> +00467 <a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a> = CTransform::FreezeHRCStateReady; +00468 } +00469 <span class="comment">// if the model is ready to be frozen in HRC, then do it!!</span> +00470 <span class="keywordflow">else</span> <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a> == CTransform::FreezeHRCStateReady ) +00471 { +00472 <span class="comment">// Unlink this model.</span> +00473 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1019_4">hrcUnlink</a>(); +00474 +00475 <span class="comment">// unLink this object from the validateList. NB: the list will still be correclty parsed.</span> +00476 <a class="code" href="a02316.html#NL3D_1_1CTransformz1039_1">unlinkFromUpdateList</a>(); +00477 +00478 <span class="comment">// if lightable, the model is inserted in a quadgrid to update his lighting only when</span> +00479 <span class="comment">// dynamicLights touch him (since himself is static).</span> +00480 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_4">isLightable</a>() ) +00481 { +00482 CLightTrav &lightTrav= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getLightTrav(); +00483 <span class="comment">// Lighting: must reinsert the object from the quadGrid.</span> +00484 <span class="comment">// NB: works if _LightedModelIt==NULL. result is that _LightedModelIt= NULL.</span> +00485 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_3">_LightedModelIt</a>= lightTrav.LightingManager.eraseStaticLightedModel(_LightedModelIt); +00486 <span class="comment">// insert in the quadgrid.</span> +00487 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_3">_LightedModelIt</a>= lightTrav.LightingManager.insertStaticLightedModel(<span class="keyword">this</span>); +00488 } +00489 +00490 <span class="comment">// Now this model won't be tested for validation nor for worldMatrix update. End!!</span> +00491 <a class="code" href="a02316.html#NL3D_1_1CTransformr3">_FreezeHRCState</a> = CTransform::FreezeHRCStateEnabled; +00492 } +00493 } +00494 +00495 <span class="comment">// update _LocalMatrix</span> +00496 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a>) +00497 { +00498 <span class="comment">// update the local matrix.</span> +00499 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a>= <a class="code" href="a02278.html#NL3D_1_1ITransformablea1">getMatrix</a>(); +00500 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_8">_LocalVis</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformr10">Visibility</a>; +00501 <span class="comment">// update the date of the local matrix.</span> +00502 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_6">_LocalDate</a>= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getHrcTrav().CurrentDate; +00503 +00504 <span class="comment">// The transform has been modified. Hence, it is no more frozen.</span> +00505 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_5">_Frozen</a>= <span class="keyword">false</span>; +00506 +00507 <span class="comment">// ok!</span> +00508 <a class="code" href="a02316.html#NL3D_1_1CTransformr9">_TransformDirty</a>= <span class="keyword">false</span>; +00509 } +00510 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_0" doxytag="NL3D::CTransform::updateClipTravForAncestorSkeleton" ></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::CTransform::updateClipTravForAncestorSkeleton </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> [protected]</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="a06568.html#l00748">748</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00851">_AncestorSkeletonModel</a>, <a class="el" href="a06569.html#l00849">_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>, <a class="el" href="a06568.html#l01217">clipAddChild()</a>, <a class="el" href="a06569.html#l00234">clipGetNumParents()</a>, <a class="el" href="a06568.html#l01258">clipGetParent()</a>, <a class="el" href="a06568.html#l01248">clipUnlinkFromAll()</a>, <a class="el" href="a06349.html#l00475">NL3D::CScene::getClipTrav()</a>, <a class="el" href="a06569.html#l00105">getOwnerScene()</a>, <a class="el" href="a06349.html#l00482">NL3D::CScene::getRoot()</a>, and <a class="el" href="a06349.html#l00636">NL3D::CScene::SonsOfAncestorSkeletonModelGroup</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00663">updateWorld()</a>. +<p> +<div class="fragment"><pre>00749 { +00750 <a class="code" href="a02316.html#NL3D_1_1CTransformn1">CClipTrav</a> &clipTrav= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getClipTrav(); +00751 +00752 <span class="comment">// If I have an ancestor Skeleton Model, I must be binded in ClipTrav to the SonsOfAncestorSkeletonModelGroup</span> +00753 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a> && !<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_3">_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>) +00754 { +00755 <span class="comment">// must unlink from ALL olds models.</span> +00756 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_6">clipUnlinkFromAll</a>(); +00757 +00758 <span class="comment">// And link to SonsOfAncestorSkeletonModelGroup.</span> +00759 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->SonsOfAncestorSkeletonModelGroup->clipAddChild(<span class="keyword">this</span>); +00760 +00761 <span class="comment">// update the flag.</span> +00762 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_3">_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>= <span class="keyword">true</span>; +00763 } +00764 +00765 +00766 <span class="comment">// else I must be binded to the standard Root.</span> +00767 <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a> && <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_3">_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>) +00768 { +00769 <span class="comment">// verify first I am really still linked to the SonsOfAncestorSkeletonModelGroup.</span> +00770 <span class="comment">// This test is important, because link may have changed for any reason (portals, clipManager....).</span> +00771 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_4">clipGetNumParents</a>() == 1 && <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_5">clipGetParent</a>(0)==<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->SonsOfAncestorSkeletonModelGroup ) +00772 { +00773 <span class="comment">// must unlink from ALL olds models.</span> +00774 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1021_6">clipUnlinkFromAll</a>(); +00775 <span class="comment">// and now, link to std root.</span> +00776 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getRoot()->clipAddChild(<span class="keyword">this</span>); +00777 } +00778 +00779 <span class="comment">// update the flag</span> +00780 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_3">_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>= <span class="keyword">false</span>; +00781 } +00782 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_1" doxytag="NL3D::CTransform::updateWorld" ></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::CTransform::updateWorld </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> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Update the world state according to the parent world state and the local states. +<p> + +<p> +Definition at line <a class="el" href="a06568.html#l00663">663</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00851">_AncestorSkeletonModel</a>, <a class="el" href="a06569.html#l00848">_DontUnfreezeChildren</a>, <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00847">_Frozen</a>, <a class="el" href="a06569.html#l00700">_HrcParent</a>, <a class="el" href="a06569.html#l00626">_LightContribution</a>, <a class="el" href="a06569.html#l00841">_LocalDate</a>, <a class="el" href="a06569.html#l00839">_LocalMatrix</a>, <a class="el" href="a06569.html#l00840">_LocalVis</a>, <a class="el" href="a05797.html#l00088">NL3D::CHrcTrav::_MovingObjects</a>, <a class="el" href="a06569.html#l00845">_WorldDate</a>, <a class="el" href="a06569.html#l00843">_WorldMatrix</a>, <a class="el" href="a06569.html#l00844">_WorldVis</a>, <a class="el" href="a05797.html#l00092">NL3D::CHrcTrav::CurrentDate</a>, <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_0NL3D_1_1CTransformy0">ForceClipRoot</a>, <a class="el" href="a05894.html#l00079">NL3D::CLightContribution::FrozenStaticLightSetup</a>, <a class="el" href="a06349.html#l00474">NL3D::CScene::getHrcTrav()</a>, <a class="el" href="a06569.html#l00105">getOwnerScene()</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a06569.html#l00337">isLightable()</a>, <a class="el" href="a06569.html#l00449">isTransformShape()</a>, <a class="el" href="a06568.html#l00988">resetLighting()</a>, and <a class="el" href="a06568.html#l00748">updateClipTravForAncestorSkeleton()</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00786">traverseHrc()</a>. +<p> +<div class="fragment"><pre>00664 { +00665 <span class="keyword">const</span> <a class="code" href="a02851.html">CMatrix</a> *pFatherWM; +00666 <span class="keywordtype">bool</span> visFather; +00667 +00668 <span class="comment">// If not root case, link to Fahter.</span> +00669 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>) +00670 { +00671 pFatherWM= &(<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>->_WorldMatrix); +00672 visFather= <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>->_WorldVis; +00673 +00674 <span class="comment">// if _HrcParent is not frozen (for any reason), disable us!</span> +00675 +00676 <span class="keywordflow">if</span> (!<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>->_Frozen && !<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>->_DontUnfreezeChildren) +00677 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_5">_Frozen</a>= <span class="keyword">false</span>; +00678 +00679 <span class="comment">// herit _AncestorSkeletonModel</span> +00680 <span class="keywordflow">if</span> (<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>->_AncestorSkeletonModel) +00681 <span class="comment">// If my father has an _AncestorSkeletonModel, get it.</span> +00682 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>= <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>->_AncestorSkeletonModel; +00683 <span class="keywordflow">else</span> +00684 <span class="comment">// else I have an ancestor skel model if I am sticked/binded directly to a skeleton model.</span> +00685 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>; +00686 } +00687 <span class="comment">// else, default!!</span> +00688 <span class="keywordflow">else</span> +00689 { +00690 pFatherWM= &(CMatrix::Identity); +00691 visFather= <span class="keyword">true</span>; +00692 +00693 <span class="comment">// at the root of the hierarchy, we have no parent, hence no FatherSkeletonModel nor _AncestorSkeletonModel.</span> +00694 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>= NULL; +00695 +00696 <span class="comment">// NB: Root is Frozen by essence :), so don't modify the frozen state here.</span> +00697 } +00698 +00699 <span class="comment">// Combine matrix</span> +00700 <span class="keywordflow">if</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_6">_LocalDate</a>><a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_9">_WorldDate</a> || (<a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a> && <a class="code" href="a02316.html#NL3D_1_1CTransformz1037_5">_HrcParent</a>->_WorldDate><a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_9">_WorldDate</a>) ) +00701 { +00702 <span class="comment">// Must recompute the world matrix. ONLY IF I AM NOT SKINNED/STICKED TO A SKELETON in the hierarchy!</span> +00703 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>==NULL ) +00704 { +00705 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">_WorldMatrix</a>= *pFatherWM * <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a>; +00706 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_9">_WorldDate</a>= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getHrcTrav().CurrentDate; +00707 +00708 <span class="comment">// Add the model to the moving object list, only if I am a transform shape</span> +00709 <span class="keywordflow">if</span> (!<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_5">_Frozen</a> && <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1028_6">isTransformShape</a>() && !<a class="code" href="a02316.html#NL3D_1_1CTransformz1041_1">getStateFlag</a>(ForceClipRoot)) +00710 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModela20">getOwnerScene</a>()->getHrcTrav()._MovingObjects.push_back (static_cast<CTransformShape*>(<span class="keyword">this</span>)); +00711 } +00712 } +00713 +00714 <span class="comment">// Update dynamic lighting.</span> +00715 <span class="comment">/*</span> +00716 <span class="comment"> If the model is not frozen in StaticLight, then must update lighting each frame.</span> +00717 <span class="comment"> Even if the object doesn't move, a new dynamic light may enter in its aera. Hence we must test</span> +00718 <span class="comment"> it in the light quadrid. StaticLight-ed Objects don't need it because they are inserted in a special quadgrid, </span> +00719 <span class="comment"> where dynamics lights touch all StaticLight-ed object to force their computing</span> +00720 <span class="comment"></span> +00721 <span class="comment"> NB: not done if _AncestorSkeletonModel!=NULL. no need because in this case, </span> +00722 <span class="comment"> result is driven by the _LightContribution of the _AncestorSkeletonModel.</span> +00723 <span class="comment"> */</span> +00724 <span class="keywordflow">if</span>( !<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.FrozenStaticLightSetup && <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a>==NULL ) +00725 { +00726 <span class="comment">// if the model is lightable reset lighting</span> +00727 <span class="keywordflow">if</span>( <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_4">isLightable</a>() ) +00728 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1024_5">resetLighting</a>(); +00729 } +00730 +00731 <span class="comment">// Combine visibility.</span> +00732 <span class="keywordflow">switch</span>(<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_8">_LocalVis</a>) +00733 { +00734 <span class="keywordflow">case</span> CHrcTrav::Herit: <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_11">_WorldVis</a>= visFather; <span class="keywordflow">break</span>; +00735 <span class="keywordflow">case</span> CHrcTrav::Hide: <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_11">_WorldVis</a>= <span class="keyword">false</span>; <span class="keywordflow">break</span>; +00736 <span class="keywordflow">case</span> CHrcTrav::Show: <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_11">_WorldVis</a>= <span class="keyword">true</span>; <span class="keywordflow">break</span>; +00737 <span class="keywordflow">default</span>: <span class="keywordflow">break</span>; +00738 } +00739 +00740 +00741 <span class="comment">// If I have an ancestor Skeleton Model, I must be binded in ClipTrav to the SonsOfAncestorSkeletonModelGroup</span> +00742 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_0">updateClipTravForAncestorSkeleton</a>(); +00743 +00744 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1047_1" doxytag="NL3D::CTransform::updateWorldMatrixFromFather" ></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::CTransform::updateWorldMatrixFromFather </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> [protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +For Skeleton Object Stick. update the wolrd matrix. no-op if skinned. no-op if no AcnestorSkeletonModel. use standard father WorldMatrix if !_FatherSkeletonModel else get the correct boneId WorldMatrix from _FatherSkeletonModel +<p> +Definition at line <a class="el" href="a06568.html#l00905">905</a> of file <a class="el" href="a06568.html">transform.cpp</a>. +<p> +References <a class="el" href="a06569.html#l00851">_AncestorSkeletonModel</a>, <a class="el" href="a06569.html#l00618">_FatherBoneId</a>, <a class="el" href="a06569.html#l00616">_FatherSkeletonModel</a>, <a class="el" href="a06569.html#l00839">_LocalMatrix</a>, <a class="el" href="a06569.html#l00843">_WorldMatrix</a>, <a class="el" href="a06394.html#l00098">NL3D::CSkeletonModel::Bones</a>, <a class="el" href="a06569.html#l00218">hrcGetParent()</a>, and <a class="el" href="a06569.html#l00423">isSkinned()</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01359">forceCompute()</a>, and <a class="el" href="a06568.html#l00953">traverseAnimDetail()</a>. +<p> +<div class="fragment"><pre>00906 { +00907 <span class="comment">// If I am not skinned, and If I have a skeleton ancestor</span> +00908 <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1027_1">isSkinned</a>() && <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">_AncestorSkeletonModel</a> ) +00909 { +00910 <span class="comment">// Compute the HRC _WorldMatrix.</span> +00911 <span class="comment">// if I am not sticked.</span> +00912 <span class="keywordflow">if</span>(!<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>) +00913 { +00914 <span class="comment">// get the normal father worldMatrix in Hrc.</span> +00915 <a class="code" href="a02316.html#NL3D_1_1CTransformb2">CTransform</a> *fatherTransform= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1019_2">hrcGetParent</a>(); +00916 <span class="comment">// if exist</span> +00917 <span class="keywordflow">if</span>(fatherTransform) +00918 { +00919 <span class="keyword">const</span> <a class="code" href="a02851.html">CMatrix</a> &parentWM= fatherTransform->_WorldMatrix; +00920 <span class="comment">// combine worldMatrix</span> +00921 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">_WorldMatrix</a>= parentWM * <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a>; +00922 } +00923 <span class="keywordflow">else</span> +00924 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">_WorldMatrix</a>= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a>; +00925 } +00926 <span class="keywordflow">else</span> +00927 { +00928 <span class="comment">// get the worldMatrix of the bone if I am sticked.</span> +00929 <span class="keyword">const</span> <a class="code" href="a02851.html">CMatrix</a> &parentWM= <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">_FatherSkeletonModel</a>->Bones[<a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_12">_FatherBoneId</a>].getWorldMatrix(); +00930 <span class="comment">// combine worldMatrix</span> +00931 <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">_WorldMatrix</a>= parentWM * <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">_LocalMatrix</a>; +00932 } +00933 } +00934 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1024_8" doxytag="NL3D::CTransform::useMergedPointLight" ></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::CTransform::useMergedPointLight </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> +return true if the current light contribution of this model use a MergedPointLight +<p> +Definition at line <a class="el" href="a06569.html#l00369">369</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +References <a class="el" href="a06569.html#l00626">_LightContribution</a>, and <a class="el" href="a05894.html#l00088">NL3D::CLightContribution::UseMergedPointLight</a>. +<p> +<div class="fragment"><pre>00369 {<span class="keywordflow">return</span> <a class="code" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">_LightContribution</a>.UseMergedPointLight;} +</pre></div> </td> + </tr> +</table> +<hr><h2>Friends And Related Function Documentation</h2> +<a class="anchor" name="NL3D_1_1CTransformn0" doxytag="NL3D::CTransform::CAnimDetailTrav" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> friend class <a class="el" href="a02213.html">CAnimDetailTrav</a><code> [friend]</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="a06569.html#l00690">690</a> of file <a class="el" href="a06569.html">transform.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformn1" doxytag="NL3D::CTransform::CClipTrav" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> friend class <a class="el" href="a02353.html">CClipTrav</a><code> [friend]</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="a06569.html#l00689">689</a> of file <a class="el" href="a06569.html">transform.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NLGEORGES_1_1UTypen0" doxytag="NL3D::CTransform::CPtrInfo" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> friend struct CPtrInfo<code> [friend, inherited]</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="a06402.html#l00067">67</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformn3" doxytag="NL3D::CTransform::CScene" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> friend class <a class="el" href="a03348.html">CScene</a><code> [friend]</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="a06569.html#l00688">688</a> of file <a class="el" href="a06569.html">transform.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformn4" doxytag="NL3D::CTransform::CSkeletonModel" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> friend class <a class="el" href="a03399.html">CSkeletonModel</a><code> [friend]</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="a06569.html#l00687">687</a> of file <a class="el" href="a06569.html">transform.h</a>. </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_2" doxytag="NL3D::CTransform::_AncestorSkeletonModel" ></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="a03399.html">CSkeletonModel</a>* <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_2">NL3D::CTransform::_AncestorSkeletonModel</a><code> [protected]</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="a06569.html#l00851">851</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a05555.html#l00532">NL3D::CClipTrav::clipSkeletonShadowMaps()</a>, <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00207">getAncestorSkeletonModel()</a>, <a class="el" href="a05431.html#l00060">NL3D::CAnimDetailTrav::traverse()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, <a class="el" href="a06568.html#l00748">updateClipTravForAncestorSkeleton()</a>, <a class="el" href="a06568.html#l00663">updateWorld()</a>, and <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr0" doxytag="NL3D::CTransform::_ChannelMixer" ></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="a02335.html">CChannelMixer</a>> <a class="el" href="a02316.html#NL3D_1_1CTransformr0">NL3D::CTransform::_ChannelMixer</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="a06569.html#l00732">732</a> of file <a class="el" href="a06569.html">transform.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1045_0" doxytag="NL3D::CTransform::_ClipDate" ></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#a12">sint64</a> <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_0">NL3D::CTransform::_ClipDate</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +date of last <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_1">traverseClip()</a> +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00865">865</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, and <a class="el" href="a06568.html#l00806">traverseClip()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_3" doxytag="NL3D::CTransform::_ClipLinkedInSonsOfAncestorSkeletonModelGroup" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_3">NL3D::CTransform::_ClipLinkedInSonsOfAncestorSkeletonModelGroup</a><code> [protected]</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="a06569.html#l00849">849</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00497">NL3D::CSkeletonModel::bindSkin()</a>, <a class="el" href="a06568.html#l00052">CTransform()</a>, and <a class="el" href="a06568.html#l00748">updateClipTravForAncestorSkeleton()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1037_2" doxytag="NL3D::CTransform::_ClipParents" ></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"> std::vector<<a class="el" href="a03612.html">CClipNode</a>*> <a class="el" href="a02316.html#NL3D_1_1CTransformz1037_2">NL3D::CTransform::_ClipParents</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="a06569.html#l00712">712</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01217">clipAddChild()</a>, <a class="el" href="a06568.html#l01286">clipDelFromParent()</a>, <a class="el" href="a06569.html#l00234">clipGetNumParents()</a>, <a class="el" href="a06568.html#l01258">clipGetParent()</a>, <a class="el" href="a06568.html#l01273">clipHasParent()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1037_3" doxytag="NL3D::CTransform::_ClipSons" ></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="a02518.html">CFastPtrList</a><<a class="el" href="a02316.html">CTransform</a>> <a class="el" href="a02316.html#NL3D_1_1CTransformz1037_3">NL3D::CTransform::_ClipSons</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="a06569.html#l00711">711</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01217">clipAddChild()</a>, <a class="el" href="a06568.html#l01265">clipGetChild()</a>, <a class="el" href="a06569.html#l00237">clipGetNumChildren()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr1" doxytag="NL3D::CTransform::_ClusterSystem" ></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="a02671.html">CInstanceGroup</a>* <a class="el" href="a02316.html#NL3D_1_1CTransformr1">NL3D::CTransform::_ClusterSystem</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="a06569.html#l00737">737</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00320">getClusterSystem()</a>, and <a class="el" href="a06569.html#l00912">setClusterSystem()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_4" doxytag="NL3D::CTransform::_DontUnfreezeChildren" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_4">NL3D::CTransform::_DontUnfreezeChildren</a><code> [protected]</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="a06569.html#l00848">848</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00378">setDontUnfreezeChildren()</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_12" doxytag="NL3D::CTransform::_FatherBoneId" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_12">NL3D::CTransform::_FatherBoneId</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. It return a list of sphere relative to each bone of the father skeleton. Use with <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_1">getSkinBoneUsage()</a> to know to wich bone this sphere apply NB: if a sphere radius is -1, it means that the bone is not used (for any reason...) default is to return NULL. +<p> +Definition at line <a class="el" href="a06569.html#l00618">618</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l01043">NL3D::CSkeletonModel::computeCLodVertexAlpha()</a>, <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, <a class="el" href="a06568.html#l01359">forceCompute()</a>, <a class="el" href="a06393.html#l00543">NL3D::CSkeletonModel::stickObjectEx()</a>, and <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1032_13" doxytag="NL3D::CTransform::_FatherSkeletonModel" ></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="a03399.html">CSkeletonModel</a>* <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_13">NL3D::CTransform::_FatherSkeletonModel</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deriver must change this method if <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_2">isSkinnable()</a>. It return a list of sphere relative to each bone of the father skeleton. Use with <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1032_1">getSkinBoneUsage()</a> to know to wich bone this sphere apply NB: if a sphere radius is -1, it means that the bone is not used (for any reason...) default is to return NULL. +<p> +Definition at line <a class="el" href="a06569.html#l00616">616</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06393.html#l00497">NL3D::CSkeletonModel::bindSkin()</a>, <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, <a class="el" href="a06568.html#l01359">forceCompute()</a>, <a class="el" href="a06393.html#l00391">NL3D::CSkeletonModel::forceComputeBone()</a>, <a class="el" href="a06569.html#l00205">getSkeletonModel()</a>, <a class="el" href="a06568.html#l00287">heritVisibility()</a>, <a class="el" href="a06568.html#l00223">hide()</a>, <a class="el" href="a06568.html#l00334">registerToChannelMixer()</a>, <a class="el" href="a06568.html#l00590">setIsForceAnimDetail()</a>, <a class="el" href="a06568.html#l00255">setOpacity()</a>, <a class="el" href="a06568.html#l00240">setTransparency()</a>, <a class="el" href="a06568.html#l00271">show()</a>, <a class="el" href="a06393.html#l00543">NL3D::CSkeletonModel::stickObjectEx()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, <a class="el" href="a06568.html#l00663">updateWorld()</a>, <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr2" doxytag="NL3D::CTransform::_ForceCLodSticked" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a02316.html#NL3D_1_1CTransformr2">NL3D::CTransform::_ForceCLodSticked</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="a06569.html#l00746">746</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06393.html#l00573">NL3D::CSkeletonModel::detachSkeletonSon()</a>, <a class="el" href="a06569.html#l00680">getShowWhenLODSticked()</a>, <a class="el" href="a06393.html#l00543">NL3D::CSkeletonModel::stickObjectEx()</a>, and <a class="el" href="a06568.html#l00806">traverseClip()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr3" doxytag="NL3D::CTransform::_FreezeHRCState" ></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="a02316.html#NL3D_1_1CTransformy29">TFreezeHRCState</a> <a class="el" href="a02316.html#NL3D_1_1CTransformr3">NL3D::CTransform::_FreezeHRCState</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="a06569.html#l00741">741</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00385">freezeHRC()</a>, <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>, and <a class="el" href="a06568.html#l00450">update()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_5" doxytag="NL3D::CTransform::_Frozen" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_5">NL3D::CTransform::_Frozen</a><code> [protected]</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="a06569.html#l00847">847</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00367">freeze()</a>, <a class="el" href="a06568.html#l00385">freezeHRC()</a>, <a class="el" href="a06568.html#l00450">update()</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1037_4" doxytag="NL3D::CTransform::_HrcNode" ></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="a02520.html">CFastPtrListNode</a> <a class="el" href="a02316.html#NL3D_1_1CTransformz1037_4">NL3D::CTransform::_HrcNode</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="a06569.html#l00698">698</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, and <a class="el" href="a06568.html#l01181">hrcUnlink()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1037_5" doxytag="NL3D::CTransform::_HrcParent" ></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="a02316.html">CTransform</a>* <a class="el" href="a02316.html#NL3D_1_1CTransformz1037_5">NL3D::CTransform::_HrcParent</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="a06569.html#l00700">700</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l01359">forceCompute()</a>, <a class="el" href="a06393.html#l00391">NL3D::CSkeletonModel::forceComputeBone()</a>, <a class="el" href="a06569.html#l00218">hrcGetParent()</a>, <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, <a class="el" href="a06568.html#l01181">hrcUnlink()</a>, <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>, <a class="el" href="a06568.html#l00663">updateWorld()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1037_6" doxytag="NL3D::CTransform::_HrcParentUnfreeze" ></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="a02316.html">CTransform</a>> <a class="el" href="a02316.html#NL3D_1_1CTransformz1037_6">NL3D::CTransform::_HrcParentUnfreeze</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="a06569.html#l00701">701</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, <a class="el" href="a06568.html#l01181">hrcUnlink()</a>, and <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1037_7" doxytag="NL3D::CTransform::_HrcSons" ></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="a02518.html">CFastPtrList</a><<a class="el" href="a02316.html">CTransform</a>> <a class="el" href="a02316.html#NL3D_1_1CTransformz1037_7">NL3D::CTransform::_HrcSons</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="a06569.html#l00699">699</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01202">hrcGetChild()</a>, <a class="el" href="a06569.html#l00220">hrcGetNumChildren()</a>, <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1045_1" doxytag="NL3D::CTransform::_IndexInVisibleList" ></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="a02316.html#NL3D_1_1CWaveMakerModelz1045_1">NL3D::CTransform::_IndexInVisibleList</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +date of last <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1017_1">traverseClip()</a> +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00869">869</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a05556.html#l00105">NL3D::CClipTrav::addVisibleModel()</a>, <a class="el" href="a06568.html#l00052">CTransform()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr4" doxytag="NL3D::CTransform::_LastTransformableMatrixDate" ></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> <a class="el" href="a02316.html#NL3D_1_1CTransformr4">NL3D::CTransform::_LastTransformableMatrixDate</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="a06569.html#l00735">735</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, and <a class="el" href="a06568.html#l00450">update()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1033_2" doxytag="NL3D::CTransform::_LightContribution" ></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="a02744.html">CLightContribution</a> <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_2">NL3D::CTransform::_LightContribution</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +The contribution of all lights. This enlarge the struct only of approx 15%. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00626">626</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l01028">freezeStaticLightSetup()</a>, <a class="el" href="a06569.html#l00373">getLightContribution()</a>, <a class="el" href="a06393.html#l01390">NL3D::CSkeletonModel::renderSkins()</a>, <a class="el" href="a06568.html#l00988">resetLighting()</a>, <a class="el" href="a06568.html#l01080">traverseLight()</a>, <a class="el" href="a06568.html#l01061">unfreezeStaticLightSetup()</a>, <a class="el" href="a06568.html#l00663">updateWorld()</a>, and <a class="el" href="a06569.html#l00369">useMergedPointLight()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1033_3" doxytag="NL3D::CTransform::_LightedModelIt" ></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="a02749.html">CLightingManager::CQGItLightedModel</a> <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1033_3">NL3D::CTransform::_LightedModelIt</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +each transform may be in a quadGird of lighted models (see <a class="el" href="a02747.html">CLightingManager</a>) +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00634">634</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00406">unfreezeHRC()</a>, <a class="el" href="a06568.html#l00450">update()</a>, and <a class="el" href="a06568.html#l00143">~CTransform()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1049_0" doxytag="NL3D::CTransform::_LoadBalancingGroup" ></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="a02774.html">CLoadBalancingGroup</a>* <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1049_0">NL3D::CTransform::_LoadBalancingGroup</a><code> [protected]</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="a06569.html#l00894">894</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00532">getLoadBalancingGroup()</a>, <a class="el" href="a06568.html#l00214">initModel()</a>, and <a class="el" href="a06568.html#l00522">setLoadBalancingGroup()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_6" doxytag="NL3D::CTransform::_LocalDate" ></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#a12">sint64</a> <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_6">NL3D::CTransform::_LocalDate</a><code> [protected]</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="a06569.html#l00841">841</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00450">update()</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_7" doxytag="NL3D::CTransform::_LocalMatrix" ></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="a02316.html#NL3D_1_1CWaveMakerModelz1043_7">NL3D::CTransform::_LocalMatrix</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Hrc IN variables. +<p> + +<p> +Reimplemented from <a class="el" href="a02278.html#NL3D_1_1ITransformabler0">NL3D::ITransformable</a>. +<p> +Definition at line <a class="el" href="a06569.html#l00839">839</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00450">update()</a>, <a class="el" href="a06568.html#l00663">updateWorld()</a>, and <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_8" doxytag="NL3D::CTransform::_LocalVis" ></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="a02639.html#NL3D_1_1CHrcTravw3">CHrcTrav::TVisibility</a> <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_8">NL3D::CTransform::_LocalVis</a><code> [protected]</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="a06569.html#l00840">840</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00450">update()</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr5" doxytag="NL3D::CTransform::_LogicInfo" ></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="a03863.html">ILogicInfo</a>* <a class="el" href="a02316.html#NL3D_1_1CTransformr5">NL3D::CTransform::_LogicInfo</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +See <a class="el" href="a03863.html">ILogicInfo</a>. Used for lighting. default is NULL. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00752">752</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00389">setLogicInfo()</a>, and <a class="el" href="a06568.html#l01080">traverseLight()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr6" doxytag="NL3D::CTransform::_MeanColor" ></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="a03337.html">CRGBA</a> <a class="el" href="a02316.html#NL3D_1_1CTransformr6">NL3D::CTransform::_MeanColor</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +see <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1028_7">setMeanColor()</a> +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00756">756</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00437">getMeanColor()</a>, and <a class="el" href="a06568.html#l00540">setMeanColor()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1039_2" doxytag="NL3D::CTransform::_NextModelToUpdate" ></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="a02316.html">CTransform</a>* <a class="el" href="a02316.html#NL3D_1_1CTransformz1039_2">NL3D::CTransform::_NextModelToUpdate</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="a06569.html#l00722">722</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00612">linkToUpdateList()</a>, <a class="el" href="a06568.html#l00630">unlinkFromUpdateList()</a>, and <a class="el" href="a06348.html#l01067">NL3D::CScene::updateModels()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr7" doxytag="NL3D::CTransform::_OrderingLayer" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a02316.html#NL3D_1_1CTransformr7">NL3D::CTransform::_OrderingLayer</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="a06569.html#l00743">743</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00187">getOrderingLayer()</a>, and <a class="el" href="a06569.html#l00184">setOrderingLayer()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr8" doxytag="NL3D::CTransform::_OwnerScene" ></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="a03348.html">CScene</a>* <a class="el" href="a02316.html#NL3D_1_1CTransformr8">NL3D::CTransform::_OwnerScene</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="a06569.html#l00693">693</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06348.html#l01004">NL3D::CScene::createModel()</a>, <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00105">getOwnerScene()</a>, <a class="el" href="a06568.html#l00612">linkToUpdateList()</a>, <a class="el" href="a06568.html#l01380">setForceClipRoot()</a>, and <a class="el" href="a06568.html#l00630">unlinkFromUpdateList()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1039_3" doxytag="NL3D::CTransform::_PrecModelToUpdate" ></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="a02316.html">CTransform</a>* <a class="el" href="a02316.html#NL3D_1_1CTransformz1039_3">NL3D::CTransform::_PrecModelToUpdate</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="a06569.html#l00721">721</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00612">linkToUpdateList()</a>, and <a class="el" href="a06568.html#l00630">unlinkFromUpdateList()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelp0" doxytag="NL3D::CTransform::_RenderFilterType" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelp0">NL3D::CTransform::_RenderFilterType</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +State for renderFiltering. Default is 0xFFFFFFFF (always displayed) Deriver work to change this value +<p> +Definition at line <a class="el" href="a06569.html#l00830">830</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, and <a class="el" href="a06568.html#l00806">traverseClip()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformz1041_3" doxytag="NL3D::CTransform::_StateFlags" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02316.html#NL3D_1_1CTransformz1041_3">NL3D::CTransform::_StateFlags</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Flags for the General State of the Transform. They are both static or dynamic flags. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00806">806</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00818">getStateFlag()</a>, <a class="el" href="a06569.html#l00809">setStateFlag()</a>, and <a class="el" href="a06568.html#l00806">traverseClip()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr9" doxytag="NL3D::CTransform::_TransformDirty" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a02316.html#NL3D_1_1CTransformr9">NL3D::CTransform::_TransformDirty</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +true if need to compute transform +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00749">749</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l00385">freezeHRC()</a>, <a class="el" href="a06568.html#l00287">heritVisibility()</a>, <a class="el" href="a06568.html#l00223">hide()</a>, <a class="el" href="a06568.html#l00271">show()</a>, and <a class="el" href="a06568.html#l00450">update()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1045_2" doxytag="NL3D::CTransform::_Visible" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1045_2">NL3D::CTransform::_Visible</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +set to true is the object is visible (not clipped). +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00867">867</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00313">isClipVisible()</a>, and <a class="el" href="a06568.html#l00806">traverseClip()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_9" doxytag="NL3D::CTransform::_WorldDate" ></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#a12">sint64</a> <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_9">NL3D::CTransform::_WorldDate</a><code> [protected]</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="a06569.html#l00845">845</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06568.html#l01151">hrcLinkSon()</a>, <a class="el" href="a06568.html#l01181">hrcUnlink()</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_10" doxytag="NL3D::CTransform::_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="a02316.html#NL3D_1_1CWaveMakerModelz1043_10">NL3D::CTransform::_WorldMatrix</a><code> [protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Hrc OUT variables. +<p> + +<p> +Definition at line <a class="el" href="a06569.html#l00843">843</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00663">updateWorld()</a>, and <a class="el" href="a06568.html#l00905">updateWorldMatrixFromFather()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CWaveMakerModelz1043_11" doxytag="NL3D::CTransform::_WorldVis" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool <a class="el" href="a02316.html#NL3D_1_1CWaveMakerModelz1043_11">NL3D::CTransform::_WorldVis</a><code> [protected]</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="a06569.html#l00844">844</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00306">isHrcVisible()</a>, <a class="el" href="a06568.html#l00806">traverseClip()</a>, and <a class="el" href="a06568.html#l00663">updateWorld()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLGEORGES_1_1UTypeo0" doxytag="NL3D::CTransform::crefs" ></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="a02209.html#NLGEORGES_1_1UTypeo0">NLMISC::CRefCount::crefs</a><code> [mutable, inherited]</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="a06402.html#l00079">79</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>, <a class="el" href="a06402.html#l00070">NLMISC::CRefCount::getRefCount()</a>, and <a class="el" href="a06403.html#l00044">NLMISC::CRefCount::~CRefCount()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformv0" doxytag="NL3D::CTransform::DefaultPivot" ></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="a03551.html">CTrackDefaultVector</a> <a class="el" href="a02316.html#NL3D_1_1CTransformv0">NL3D::CTransform::DefaultPivot</a><code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformv1" doxytag="NL3D::CTransform::DefaultPos" ></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="a03551.html">CTrackDefaultVector</a> <a class="el" href="a02316.html#NL3D_1_1CTransformv1">NL3D::CTransform::DefaultPos</a><code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformv2" doxytag="NL3D::CTransform::DefaultRotEuler" ></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="a03551.html">CTrackDefaultVector</a> <a class="el" href="a02316.html#NL3D_1_1CTransformv2">NL3D::CTransform::DefaultRotEuler</a><code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformv3" doxytag="NL3D::CTransform::DefaultRotQuat" ></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="a03548.html">CTrackDefaultQuat</a> <a class="el" href="a02316.html#NL3D_1_1CTransformv3">NL3D::CTransform::DefaultRotQuat</a><code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformv4" doxytag="NL3D::CTransform::DefaultScale" ></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="a03551.html">CTrackDefaultVector</a> <a class="el" href="a02316.html#NL3D_1_1CTransformv4">NL3D::CTransform::DefaultScale</a><code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="NLGEORGES_1_1UTypes0" doxytag="NL3D::CTransform::NullPtrInfo" ></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="a03320.html">CRefCount::CPtrInfo</a> <a class="el" href="a02209.html#NLGEORGES_1_1UTypes0">NLMISC::CRefCount::NullPtrInfo</a><code> [static, inherited]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLGEORGES_1_1UTypeo1" doxytag="NL3D::CTransform::pinfo" ></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"> CPtrInfo* <a class="el" href="a02209.html#NLGEORGES_1_1UTypeo1">NLMISC::CRefCount::pinfo</a><code> [mutable, inherited]</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="a06402.html#l00080">80</a> of file <a class="el" href="a06402.html">smart_ptr.h</a>. +<p> +Referenced by <a class="el" href="a06402.html#l00085">NLMISC::CRefCount::CRefCount()</a>, and <a class="el" href="a06403.html#l00044">NLMISC::CRefCount::~CRefCount()</a>. </td> + </tr> +</table> +<a class="anchor" name="NL3D_1_1CTransformr10" doxytag="NL3D::CTransform::Visibility" ></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="a02639.html#NL3D_1_1CHrcTravw3">CHrcTrav::TVisibility</a> <a class="el" href="a02316.html#NL3D_1_1CTransformr10">NL3D::CTransform::Visibility</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="a06569.html#l00543">543</a> of file <a class="el" href="a06569.html">transform.h</a>. +<p> +Referenced by <a class="el" href="a06568.html#l00052">CTransform()</a>, <a class="el" href="a06569.html#l00203">getVisibility()</a>, <a class="el" href="a06568.html#l00287">heritVisibility()</a>, <a class="el" href="a06568.html#l00223">hide()</a>, <a class="el" href="a06568.html#l00271">show()</a>, and <a class="el" href="a06568.html#l00450">update()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a06569.html">transform.h</a><li><a class="el" href="a06568.html">transform.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 08:16:10 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> |