diff options
Diffstat (limited to 'docs/doxygen/nel/transform_8h-source.html')
-rw-r--r-- | docs/doxygen/nel/transform_8h-source.html | 542 |
1 files changed, 542 insertions, 0 deletions
diff --git a/docs/doxygen/nel/transform_8h-source.html b/docs/doxygen/nel/transform_8h-source.html new file mode 100644 index 00000000..6ddf4566 --- /dev/null +++ b/docs/doxygen/nel/transform_8h-source.html @@ -0,0 +1,542 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : docs</TITLE> + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> + <link href="doxygen.css" rel="stylesheet" type="text/css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Documentation</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.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">Compound List</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">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> </center> +<hr><h1>transform.h</h1><a href="transform_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00007 <font class="comment">/* Copyright, 2000 Nevrax Ltd.</font> +00008 <font class="comment"> *</font> +00009 <font class="comment"> * This file is part of NEVRAX NEL.</font> +00010 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font> +00011 <font class="comment"> * it under the terms of the GNU General Public License as published by</font> +00012 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font> +00013 <font class="comment"> * any later version.</font> +00014 <font class="comment"></font> +00015 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font> +00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font> +00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font> +00018 <font class="comment"> * General Public License for more details.</font> +00019 <font class="comment"></font> +00020 <font class="comment"> * You should have received a copy of the GNU General Public License</font> +00021 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font> +00022 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font> +00023 <font class="comment"> * MA 02111-1307, USA.</font> +00024 <font class="comment"> */</font> +00025 +00026 <font class="preprocessor">#ifndef NL_TRANSFORM_H</font> +00027 <font class="preprocessor"></font><font class="preprocessor">#define NL_TRANSFORM_H</font> +00028 <font class="preprocessor"></font> +00029 <font class="preprocessor">#include "<a class="code" href="mot_8h.html">3d/mot.h</a>"</font> +00030 <font class="preprocessor">#include "<a class="code" href="hrc__trav_8h.html">3d/hrc_trav.h</a>"</font> +00031 <font class="preprocessor">#include "<a class="code" href="track_8h.html">3d/track.h</a>"</font> +00032 <font class="preprocessor">#include "<a class="code" href="transformable_8h.html">3d/transformable.h</a>"</font> +00033 <font class="preprocessor">#include "<a class="code" href="animated__value_8h.html">3d/animated_value.h</a>"</font> +00034 <font class="preprocessor">#include "<a class="code" href="channel__mixer_8h.html">3d/channel_mixer.h</a>"</font> +00035 <font class="preprocessor">#include "<a class="code" href="matrix_8h.html">nel/misc/matrix.h</a>"</font> +00036 <font class="preprocessor">#include "<a class="code" href="rgba_8h.html">nel/misc/rgba.h</a>"</font> +00037 <font class="preprocessor">#include "<a class="code" href="light__contribution_8h.html">3d/light_contribution.h</a>"</font> +00038 <font class="preprocessor">#include "<a class="code" href="lighting__manager_8h.html">3d/lighting_manager.h</a>"</font> +00039 +00040 <font class="comment">// include base observers</font> +00041 <font class="preprocessor">#include "<a class="code" href="base__clip__obs_8h.html">3d/base_clip_obs.h</a>"</font> +00042 <font class="preprocessor">#include "<a class="code" href="base__anim__detail__obs_8h.html">3d/base_anim_detail_obs.h</a>"</font> +00043 <font class="preprocessor">#include "<a class="code" href="base__light__obs_8h.html">3d/base_light_obs.h</a>"</font> +00044 <font class="preprocessor">#include "<a class="code" href="base__render__obs_8h.html">3d/base_render_obs.h</a>"</font> +00045 +00046 +00047 <font class="keyword">namespace </font>NLMISC +00048 { +00049 <font class="keyword">class </font>CAABBox; +00050 }; +00051 +00052 +00053 <font class="keyword">namespace </font>NL3D +00054 { +00055 +00056 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CRGBA.html">NLMISC::CRGBA</a>; +00057 +00058 +00059 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CVector.html">NLMISC::CVector</a>; +00060 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CPlane.html">NLMISC::CPlane</a>; +00061 <font class="keyword">using</font> <a class="code" href="classNLMISC_1_1CMatrix.html">NLMISC::CMatrix</a>; +00062 +00063 +00064 <font class="keyword">class </font>CTransformHrcObs; +00065 <font class="keyword">class </font>CTransformClipObs; +00066 <font class="keyword">class </font>CTransformLightObs; +00067 <font class="keyword">class </font>CSkeletonModel; +00068 <font class="keyword">class </font>CSkeletonModelAnimDetailObs; +00069 <font class="keyword">class </font>CSkeletonModelRenderObs; +00070 <font class="keyword">class </font>CInstanceGroup; +00071 <font class="keyword">class </font>ILogicInfo; +00072 +00073 <font class="comment">// ***************************************************************************</font> +00074 <font class="comment">// ClassIds.</font> +00075 <font class="keyword">const</font> <a class="code" href="classNLMISC_1_1CClassId.html">NLMISC::CClassId</a> <a class="code" href="namespaceNL3D.html#a276">TransformId</a>=<a class="code" href="classNLMISC_1_1CClassId.html">NLMISC::CClassId</a>(0x174750cb, 0xf952024); +00076 +00077 +00078 <font class="comment">// ***************************************************************************</font> +<a name="l00101"></a><a class="code" href="classNL3D_1_1CTransform.html">00101</a> <font class="comment"></font><font class="keyword">class </font>CTransform : <font class="keyword">public</font> IModel, <font class="keyword">public</font> ITransformable +00102 { +00103 <font class="keyword">public</font>: +00105 <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#d0">registerBasic</a>(); +00106 +00107 <font class="keyword">public</font>: +00108 +<a name="l00113"></a><a class="code" href="classNL3D_1_1CTransform.html#a0">00113</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a0">setTransparency</a>(<font class="keywordtype">bool</font> <a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>) { <a class="code" href="classNL3D_1_1CTransform.html#z854_1">setStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u10">IsTransparent</a>, <a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>); } +<a name="l00114"></a><a class="code" href="classNL3D_1_1CTransform.html#a1">00114</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a1">setOpacity</a>(<font class="keywordtype">bool</font> <a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>) { <a class="code" href="classNL3D_1_1CTransform.html#z854_1">setStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u11">IsOpaque</a>, <a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>); } +00115 <font class="comment">// return a non-zero value if true</font> +<a name="l00116"></a><a class="code" href="classNL3D_1_1CTransform.html#a2">00116</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#a2">isOpaque</a>() { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u11">IsOpaque</a>); } +<a name="l00117"></a><a class="code" href="classNL3D_1_1CTransform.html#a3">00117</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#a3">isTransparent</a>() { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u10">IsTransparent</a>); } +00118 +00119 +<a name="l00127"></a><a class="code" href="classNL3D_1_1CTransform.html#a4">00127</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a4">setOrderingLayer</a>(uint layer) { <a class="code" href="classNL3D_1_1CTransform.html#o5">_OrderingLayer</a> = layer; } +00128 +<a name="l00130"></a><a class="code" href="classNL3D_1_1CTransform.html#a5">00130</a> uint <a class="code" href="classNL3D_1_1CTransform.html#a5">getOrderingLayer</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#o5">_OrderingLayer</a>; } +00131 +00133 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a6">hide</a>(); +00135 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a7">show</a>(); +00137 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a8">heritVisibility</a>(); +<a name="l00139"></a><a class="code" href="classNL3D_1_1CTransform.html#a9">00139</a> CHrcTrav::TVisibility <a class="code" href="classNL3D_1_1CTransform.html#a9">getVisibility</a>() {<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#o0">Visibility</a>;} +<a name="l00141"></a><a class="code" href="classNL3D_1_1CTransform.html#a10">00141</a> <a class="code" href="classNL3D_1_1CTransform.html#l4">CSkeletonModel</a>* <a class="code" href="classNL3D_1_1CTransform.html#a10">getSkeletonModel</a> ()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z851_7">_FatherSkeletonModel</a>;} +00142 +00143 +00145 <font class="comment">// @{</font> +00147 <font class="comment"> virtual ITrack* getDefaultTrack (uint valueId);</font> +00151 <font class="comment"></font> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z846_1">registerToChannelMixer</a>(CChannelMixer *chanMixer, <font class="keyword">const</font> std::string &prefix); +00152 <font class="comment">// @}</font> +00153 +<a name="l00158"></a><a class="code" href="classNL3D_1_1CTransform.html#a11">00158</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a11">setChannelMixerOwnerShip</a>(<font class="keywordtype">bool</font> enable = <font class="keyword">true</font>) { <a class="code" href="classNL3D_1_1CTransform.html#z854_1">setStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u20">IsDeleteChannelMixer</a>, enable); } +<a name="l00159"></a><a class="code" href="classNL3D_1_1CTransform.html#a12">00159</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransform.html#a12">getChannelMixerOwnerShip</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u20">IsDeleteChannelMixer</a>)!=0; } +00160 +00161 +00169 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a13">freeze</a>(); +00170 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a14">setDontUnfreezeChildren</a>(<font class="keywordtype">bool</font> val); +00171 +00172 +00187 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a15">freezeHRC</a>(); +00188 +00189 +00192 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a16">unfreezeHRC</a>(); +00193 +00194 +<a name="l00197"></a><a class="code" href="classNL3D_1_1CTransform.html#a17">00197</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#a17">isQuadGridClipEnabled</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u12">QuadGridClipEnabled</a>);} +00198 +00202 <font class="keyword">const</font> CMatrix& <a class="code" href="classNL3D_1_1CTransform.html#a18">getWorldMatrix</a>(); +00203 +00207 <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransform.html#a19">getLastClippedState</a>() <font class="keyword">const</font>; +00208 +00209 +00210 +<a name="l00211"></a><a class="code" href="classNL3D_1_1CTransform.html#a20">00211</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a20">setClusterSystem</a> (CInstanceGroup *pIG) { <a class="code" href="classNL3D_1_1CTransform.html#o3">_ClusterSystem</a> = pIG; } +<a name="l00212"></a><a class="code" href="classNL3D_1_1CTransform.html#a21">00212</a> CInstanceGroup* <a class="code" href="classNL3D_1_1CTransform.html#a21">getClusterSystem</a> () { <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#o3">_ClusterSystem</a>; } +00213 +00214 +00216 <font class="comment">// @{</font> +00222 <font class="comment"></font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z847_0">resetLighting</a>(); +00223 +<a name="l00229"></a><a class="code" href="classNL3D_1_1CTransform.html#z847_1">00229</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z847_1">isLightable</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u14">IsFinalLightable</a>);} +00230 +00235 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z847_2">setUserLightable</a>(<font class="keywordtype">bool</font> enable); +00236 +<a name="l00239"></a><a class="code" href="classNL3D_1_1CTransform.html#z847_3">00239</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransform.html#z847_3">getUserLightable</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u13">IsUserLightable</a>)!=0;} +00240 +00245 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z847_4">freezeStaticLightSetup</a>(CPointLight *pointLight[<a class="code" href="light__contribution_8h.html#a0">NL3D_MAX_LIGHT_CONTRIBUTION</a>], +00246 uint numPointLights, uint8 sunContribution, CPointLight *frozenAmbientlight); +00247 +00252 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z847_5">unfreezeStaticLightSetup</a>(); +00253 +<a name="l00257"></a><a class="code" href="classNL3D_1_1CTransform.html#z847_6">00257</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z847_6">isBigLightable</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u15">IsBigLightable</a>);} +00258 +00259 <font class="comment">// @}</font> +00260 +00261 +<a name="l00265"></a><a class="code" href="classNL3D_1_1CTransform.html#a22">00265</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a22">setLogicInfo</a>(ILogicInfo *logicInfo) {<a class="code" href="classNL3D_1_1CTransform.html#o7">_LogicInfo</a>= logicInfo;} +00266 +00267 +00270 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#a23">getAABBox</a>(<a class="code" href="classNLMISC_1_1CAABBox.html">NLMISC::CAABBox</a> &bbox) <font class="keyword">const</font>; +00271 +00272 +00274 <font class="comment">// @{</font> +00275 +00285 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z848_0">setLoadBalancingGroup</a>(<font class="keyword">const</font> std::string &group); +00286 +00289 <font class="keyword">const</font> std::string &<a class="code" href="classNL3D_1_1CTransform.html#z848_1">getLoadBalancingGroup</a>() <font class="keyword">const</font>; +00290 +00291 <font class="comment">// @}</font> +00292 +00293 +00295 <font class="comment">// @{</font> +<a name="l00297"></a><a class="code" href="classNL3D_1_1CTransform.html#z849_0">00297</a> <font class="comment"> uint32 isSkeleton() const {return getStateFlag(IsSkeleton);}</font> +<a name="l00299"></a><a class="code" href="classNL3D_1_1CTransform.html#z849_1">00299</a> <font class="comment"> uint32 isSkinned() const {return getStateFlag(IsSkinned);}</font> +00300 <font class="comment">// @}</font> +00301 +00302 +00304 <font class="comment">// @{</font> +00305 +00310 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z850_0">setMeanColor</a>(CRGBA color); +00311 +<a name="l00313"></a><a class="code" href="classNL3D_1_1CTransform.html#z850_1">00313</a> CRGBA <a class="code" href="classNL3D_1_1CTransform.html#z850_1">getMeanColor</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#o8">_MeanColor</a>;} +00314 +<a name="l00316"></a><a class="code" href="classNL3D_1_1CTransform.html#z850_2">00316</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z850_2">isAnimDetailable</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u6">IsAnimDetailable</a>);} +<a name="l00318"></a><a class="code" href="classNL3D_1_1CTransform.html#z850_3">00318</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z850_3">isLoadBalancable</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u7">IsLoadBalancable</a>);} +<a name="l00320"></a><a class="code" href="classNL3D_1_1CTransform.html#z850_4">00320</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z850_4">isRenderable</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u9">IsRenderable</a>);} +00321 +<a name="l00323"></a><a class="code" href="classNL3D_1_1CTransform.html#z850_5">00323</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z850_5">isMeshBaseInstance</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u22">IsMeshBaseInstance</a>);} +00324 +00325 <font class="comment">// @}</font> +00326 +00327 +00328 <font class="comment">// ********</font> +00329 <font class="keyword">private</font>: +00330 <font class="comment">// Add our own dirty states.</font> +<a name="l00331"></a><a class="code" href="classNL3D_1_1CTransform.html#u23">00331</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1CTransform.html#u23">TDirty</a> +00332 { +00333 <a class="code" href="classNL3D_1_1CTransform.html#u23u0">TransformDirty</a>= IModel::Last, <font class="comment">// The matrix or the visibility state is modified.</font> +00334 <a class="code" href="classNL3D_1_1CTransform.html#u23u1">Last</a> +00335 }; +00336 +00337 <font class="keyword">private</font>: +<a name="l00338"></a><a class="code" href="classNL3D_1_1CTransform.html#o0">00338</a> CHrcTrav::TVisibility <a class="code" href="classNL3D_1_1CTransform.html#o0">Visibility</a>; +00339 +00340 <font class="keyword">static</font> CTrackDefaultVector <a class="code" href="classNL3D_1_1CTransform.html#r0">DefaultPos</a>; +00341 <font class="keyword">static</font> CTrackDefaultVector <a class="code" href="classNL3D_1_1CTransform.html#r1">DefaultPivot</a>; +00342 <font class="keyword">static</font> CTrackDefaultVector <a class="code" href="classNL3D_1_1CTransform.html#r2">DefaultRotEuler</a>; +00343 <font class="keyword">static</font> CTrackDefaultQuat <a class="code" href="classNL3D_1_1CTransform.html#r3">DefaultRotQuat</a>; +00344 <font class="keyword">static</font> CTrackDefaultVector <a class="code" href="classNL3D_1_1CTransform.html#r4">DefaultScale</a>; +00345 +<a name="l00346"></a><a class="code" href="classNL3D_1_1CTransform.html#c0">00346</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#c0">foulTransform</a>() +00347 { +00348 IModel::foul(<a class="code" href="classNL3D_1_1CTransform.html#u23u0">TransformDirty</a>); +00349 } +00350 +00351 <font class="keyword">protected</font>: +00353 <a class="code" href="classNL3D_1_1CTransform.html#b0">CTransform</a>(); +00355 <font class="keyword">virtual</font> <a class="code" href="classNL3D_1_1CTransform.html#b1">~CTransform</a>(); +00356 +00358 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#b2">update</a>(); +00359 +00361 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#b3">initModel</a>(); +00362 +00364 <font class="comment">// @{</font> +00365 +<a name="l00367"></a><a class="code" href="classNL3D_1_1CTransform.html#z851_0">00367</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransform.html#z851_0">isSkinnable</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <font class="keyword">false</font>;} +00372 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z851_1">setApplySkin</a>(<font class="keywordtype">bool</font> state); +<a name="l00377"></a><a class="code" href="classNL3D_1_1CTransform.html#z851_2">00377</a> <font class="keyword">virtual</font> <font class="keyword">const</font> std::vector<sint32> *<a class="code" href="classNL3D_1_1CTransform.html#z851_2">getSkinBoneUsage</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> NULL;} +<a name="l00383"></a><a class="code" href="classNL3D_1_1CTransform.html#z851_3">00383</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z851_3">renderSkin</a>(<font class="keywordtype">float</font> alphaMRM) {} +00384 +00385 +<a name="l00390"></a><a class="code" href="classNL3D_1_1CTransform.html#z851_4">00390</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransform.html#z851_4">supportSkinGrouping</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <font class="keyword">false</font>;} +<a name="l00394"></a><a class="code" href="classNL3D_1_1CTransform.html#z851_5">00394</a> <font class="keyword">virtual</font> sint <a class="code" href="classNL3D_1_1CTransform.html#z851_5">renderSkinGroupGeom</a>(<font class="keywordtype">float</font> alphaMRM, uint remainingVertices, uint8 *dest) {<font class="keywordflow">return</font> 0;} +<a name="l00398"></a><a class="code" href="classNL3D_1_1CTransform.html#z851_6">00398</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z851_6">renderSkinGroupPrimitives</a>(uint baseVertex) {} +00399 +00400 +00401 <font class="comment">// The SkeletonModel, root of us (skinning or sticked object). NULL , if normal mode.</font> +<a name="l00402"></a><a class="code" href="classNL3D_1_1CTransform.html#z851_7">00402</a> <a class="code" href="classNL3D_1_1CTransform.html#l4">CSkeletonModel</a> *<a class="code" href="classNL3D_1_1CTransform.html#z851_7">_FatherSkeletonModel</a>; +00403 <font class="comment">// If sticked object, id of the bone in the _FatherSkeletonModel.</font> +<a name="l00404"></a><a class="code" href="classNL3D_1_1CTransform.html#z851_8">00404</a> uint <a class="code" href="classNL3D_1_1CTransform.html#z851_8">_FatherBoneId</a>; +00405 +00406 <font class="comment">// @}</font> +00407 +00409 <font class="comment">// @{</font> +00410 +<a name="l00412"></a><a class="code" href="classNL3D_1_1CTransform.html#z852_2">00412</a> CLightContribution <a class="code" href="classNL3D_1_1CTransform.html#z852_2">_LightContribution</a>; +00413 +<a name="l00415"></a><a class="code" href="classNL3D_1_1CTransform.html#z852_0">00415</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z852_0">isNeedUpdateLighting</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u16">IsNeedUpdateLighting</a>);} +<a name="l00417"></a><a class="code" href="classNL3D_1_1CTransform.html#z852_1">00417</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z852_1">isNeedUpdateFrozenStaticLightSetup</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u17">IsNeedUpdateFrozenStaticLightSetup</a>);} +00418 +<a name="l00420"></a><a class="code" href="classNL3D_1_1CTransform.html#z852_3">00420</a> CLightingManager::CQGItLightedModel <a class="code" href="classNL3D_1_1CTransform.html#z852_3">_LightedModelIt</a>; +00421 +00422 <font class="comment">// @}</font> +00423 +00424 +<a name="l00427"></a><a class="code" href="classNL3D_1_1CTransform.html#b4">00427</a> CChannelMixer *<a class="code" href="classNL3D_1_1CTransform.html#b4">getChannelMixer</a>()<font class="keyword"> const </font>{<font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#o1">_ChannelMixer</a>;} +00428 +00429 +00431 <font class="comment">// @{</font> +00432 +00434 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z853_0">setIsLightable</a>(<font class="keywordtype">bool</font> val); +00440 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z853_1">setIsRenderable</a>(<font class="keywordtype">bool</font> val); +00442 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z853_2">setIsBigLightable</a>(<font class="keywordtype">bool</font> val); +00444 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z853_3">setIsSkeleton</a>(<font class="keywordtype">bool</font> val); +00448 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z853_4">setIsForceAnimDetail</a>(<font class="keywordtype">bool</font> val); +00450 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z853_5">setIsLoadbalancable</a>(<font class="keywordtype">bool</font> val); +00451 +<a name="l00453"></a><a class="code" href="classNL3D_1_1CTransform.html#z853_6">00453</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z853_6">setIsMeshBaseInstance</a>(<font class="keywordtype">bool</font> val) {<a class="code" href="classNL3D_1_1CTransform.html#z854_1">setStateFlag</a>(<a class="code" href="classNL3D_1_1CTransform.html#z854_0u22">IsMeshBaseInstance</a>, val);} +00454 +00455 <font class="comment">// @}</font> +00456 +<a name="l00458"></a><a class="code" href="classNL3D_1_1CTransform.html#b5">00458</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransform.html#b5">getShowWhenLODSticked</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#o6">_ForceCLodSticked</a>; } +00459 <font class="keyword">private</font>: +<a name="l00460"></a><a class="code" href="classNL3D_1_1CTransform.html#f0">00460</a> <font class="keyword">static</font> <a class="code" href="classNL3D_1_1IModel.html#b0">IModel</a> *<a class="code" href="classNL3D_1_1CTransform.html#f0">creator</a>() {<font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNL3D_1_1CTransform.html#b0">CTransform</a>;} +<a name="l00461"></a><a class="code" href="classNL3D_1_1CTransform.html#l0">00461</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CTransform.html#l0">CTransformHrcObs</a>; +<a name="l00462"></a><a class="code" href="classNL3D_1_1CTransform.html#l1">00462</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CTransform.html#l1">CTransformClipObs</a>; +<a name="l00463"></a><a class="code" href="classNL3D_1_1CTransform.html#l2">00463</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CTransform.html#l2">CTransformLightObs</a>; +<a name="l00464"></a><a class="code" href="classNL3D_1_1CTransform.html#l3">00464</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CTransform.html#l3">CTransformAnimDetailObs</a>; +<a name="l00465"></a><a class="code" href="classNL3D_1_1CTransform.html#l4">00465</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CTransform.html#l4">CSkeletonModel</a>; +<a name="l00466"></a><a class="code" href="classNL3D_1_1CTransform.html#l5">00466</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CTransform.html#l5">CSkeletonModelAnimDetailObs</a>; +<a name="l00467"></a><a class="code" href="classNL3D_1_1CTransform.html#l6">00467</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classNL3D_1_1CTransform.html#l6">CSkeletonModelRenderObs</a>; +00468 +00474 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#c1">updateWorldMatrixFromFather</a>(); +00475 +00476 +00477 <font class="comment">// For anim detail.</font> +<a name="l00478"></a><a class="code" href="classNL3D_1_1CTransform.html#o1">00478</a> <a class="code" href="classNLMISC_1_1CRefPtr.html">NLMISC::CRefPtr<CChannelMixer></a> <a class="code" href="classNL3D_1_1CTransform.html#o1">_ChannelMixer</a>; +00479 +00480 <font class="comment">// Last date of ITransformable matrix.</font> +<a name="l00481"></a><a class="code" href="classNL3D_1_1CTransform.html#o2">00481</a> uint64 <a class="code" href="classNL3D_1_1CTransform.html#o2">_LastTransformableMatrixDate</a>; +00482 +<a name="l00483"></a><a class="code" href="classNL3D_1_1CTransform.html#o3">00483</a> CInstanceGroup* <a class="code" href="classNL3D_1_1CTransform.html#o3">_ClusterSystem</a>; +00484 +00485 +<a name="l00486"></a><a class="code" href="classNL3D_1_1CTransform.html#u24">00486</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1CTransform.html#u24">TFreezeHRCState</a> { <a class="code" href="classNL3D_1_1CTransform.html#u24u2">FreezeHRCStateDisabled</a>=0, <a class="code" href="classNL3D_1_1CTransform.html#u24u3">FreezeHRCStateRequest</a>, <a class="code" href="classNL3D_1_1CTransform.html#u24u4">FreezeHRCStateReady</a>, <a class="code" href="classNL3D_1_1CTransform.html#u24u5">FreezeHRCStateEnabled</a>}; +<a name="l00487"></a><a class="code" href="classNL3D_1_1CTransform.html#o4">00487</a> <a class="code" href="classNL3D_1_1CTransform.html#u24">TFreezeHRCState</a> <a class="code" href="classNL3D_1_1CTransform.html#o4">_FreezeHRCState</a>; +00488 +<a name="l00489"></a><a class="code" href="classNL3D_1_1CTransform.html#o5">00489</a> uint8 <a class="code" href="classNL3D_1_1CTransform.html#o5">_OrderingLayer</a>; +00490 +00491 <font class="comment">// For stickObjectEx(). with forceCLod==true</font> +<a name="l00492"></a><a class="code" href="classNL3D_1_1CTransform.html#o6">00492</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransform.html#o6">_ForceCLodSticked</a>; +00493 +00494 +<a name="l00496"></a><a class="code" href="classNL3D_1_1CTransform.html#o7">00496</a> ILogicInfo *<a class="code" href="classNL3D_1_1CTransform.html#o7">_LogicInfo</a>; +00497 +00498 +<a name="l00500"></a><a class="code" href="classNL3D_1_1CTransform.html#o8">00500</a> CRGBA <a class="code" href="classNL3D_1_1CTransform.html#o8">_MeanColor</a>; +00501 +00502 +00504 <font class="comment">// @{</font> +00505 +<a name="l00507"></a><a class="code" href="classNL3D_1_1CTransform.html#z854_0">00507</a> <font class="keyword">enum</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_0">TState</a> { +00508 <font class="comment">// Post-clipping Traversal flags. If set, then the object is inserted into traversal list.</font> +00509 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u6">IsAnimDetailable</a>= 0x0001, +00510 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u7">IsLoadBalancable</a>= 0x0002, +00511 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u8">IsLightable</a>= 0x0004, +00512 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u9">IsRenderable</a>= 0x0008, +00513 <font class="comment">// Transparency Flags.</font> +00514 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u10">IsTransparent</a>= 0x0010, +00515 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u11">IsOpaque</a>= 0x0020, +00516 <font class="comment">// For fast clip.</font> +00517 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u12">QuadGridClipEnabled</a>= 0x0040, +00518 <font class="comment">// Lighting.</font> +00519 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u13">IsUserLightable</a>= 0x0080, +00520 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u14">IsFinalLightable</a>= 0x0100, <font class="comment">// IsLightable && IsUserLightable</font> +00521 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u15">IsBigLightable</a>= 0x0200, +00522 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u16">IsNeedUpdateLighting</a>= 0x0400, +00523 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u17">IsNeedUpdateFrozenStaticLightSetup</a>= +00524 0x0800, +00525 <font class="comment">// Skinning</font> +00526 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u18">IsSkeleton</a>= 0x1000, <font class="comment">// set if the model is a skeleton (faster than dynamic_cast)</font> +00527 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u19">IsSkinned</a>= 0x2000, <font class="comment">// true if the model is isSkinnable() and if currently skinned</font> +00528 <font class="comment">// Misc</font> +00529 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u20">IsDeleteChannelMixer</a>= 0x4000, +00530 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u21">IsForceAnimDetail</a>= 0x8000, +00531 <a class="code" href="classNL3D_1_1CTransform.html#z854_0u22">IsMeshBaseInstance</a>= 0x10000, +00532 +00533 <font class="comment">// NB: may continue on >=0x20000</font> +00534 }; +00535 +<a name="l00537"></a><a class="code" href="classNL3D_1_1CTransform.html#z854_3">00537</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z854_3">_StateFlags</a>; +00538 +<a name="l00540"></a><a class="code" href="classNL3D_1_1CTransform.html#z854_1">00540</a> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_1">setStateFlag</a>(uint32 mask, <font class="keywordtype">bool</font> val) +00541 { +00542 <font class="comment">// reset the state.</font> +00543 <a class="code" href="classNL3D_1_1CTransform.html#z854_3">_StateFlags</a>&= ~mask; +00544 <font class="comment">// set the state</font> +00545 <a class="code" href="classNL3D_1_1CTransform.html#z854_3">_StateFlags</a>|= ( 0- ((uint32)val) ) & mask; +00546 } +00547 +<a name="l00549"></a><a class="code" href="classNL3D_1_1CTransform.html#z854_2">00549</a> uint32 <a class="code" href="classNL3D_1_1CTransform.html#z854_2">getStateFlag</a>(uint32 mask)<font class="keyword"> const</font> +00550 <font class="keyword"> </font>{ +00551 <font class="keywordflow">return</font> <a class="code" href="classNL3D_1_1CTransform.html#z854_3">_StateFlags</a>&mask; +00552 } +00553 +00554 <font class="comment">// @}</font> +00555 +00556 <font class="keyword">protected</font>: +00557 <font class="comment">// shortcut to the HrcObs.</font> +<a name="l00558"></a><a class="code" href="classNL3D_1_1CTransform.html#n0">00558</a> <a class="code" href="classNL3D_1_1CTransform.html#l0">CTransformHrcObs</a> *<a class="code" href="classNL3D_1_1CTransform.html#n0">_HrcObs</a>; +00559 <font class="comment">// shortcut to the ClipObs.</font> +<a name="l00560"></a><a class="code" href="classNL3D_1_1CTransform.html#n1">00560</a> <a class="code" href="classNL3D_1_1CTransform.html#l1">CTransformClipObs</a> *<a class="code" href="classNL3D_1_1CTransform.html#n1">_ClipObs</a>; +00561 <font class="comment">// shortcut to the LightObs.</font> +<a name="l00562"></a><a class="code" href="classNL3D_1_1CTransform.html#n2">00562</a> <a class="code" href="classNL3D_1_1CTransform.html#l2">CTransformLightObs</a> *<a class="code" href="classNL3D_1_1CTransform.html#n2">_LightObs</a>; +00563 +00564 +00565 }; +00566 +00567 +00568 <font class="comment">// ***************************************************************************</font> +<a name="l00579"></a><a class="code" href="classNL3D_1_1CTransformHrcObs.html">00579</a> <font class="comment"></font><font class="keyword">class </font>CTransformHrcObs : <font class="keyword">public</font> IBaseHrcObs +00580 { +00581 <font class="keyword">public</font>: +<a name="l00582"></a><a class="code" href="classNL3D_1_1CTransformHrcObs.html#a0">00582</a> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#a0">CTransformHrcObs</a>() +00583 { +00584 <a class="code" href="classNL3D_1_1CTransformHrcObs.html#m0">Frozen</a> = <font class="keyword">false</font>; +00585 <a class="code" href="classNL3D_1_1CTransformHrcObs.html#m1">DontUnfreezeChildren</a> = <font class="keyword">false</font>; +00586 <a class="code" href="classNL3D_1_1CTransformHrcObs.html#m3">_AncestorSkeletonModel</a>= NULL; +00587 <a class="code" href="classNL3D_1_1CTransformHrcObs.html#m2">ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>= <font class="keyword">false</font>; +00588 } +00589 +00590 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#a1">update</a>(); +00591 +00593 +00594 +00595 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#z855_0">updateWorld</a>(<a class="code" href="classNL3D_1_1IBaseHrcObs.html#a0">IBaseHrcObs</a> *caller); +00597 +00598 +00600 +00601 +00602 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#z856_0">traverse</a>(<a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *caller); +<a name="l00604"></a><a class="code" href="classNL3D_1_1CTransformHrcObs.html#d0">00604</a> <font class="keyword">static</font> <a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *<a class="code" href="classNL3D_1_1CTransformHrcObs.html#d0">creator</a>() {<font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#a0">CTransformHrcObs</a>;} +00605 +00606 +00607 <font class="keyword">public</font>: +<a name="l00608"></a><a class="code" href="classNL3D_1_1CTransformHrcObs.html#m0">00608</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#m0">Frozen</a>; +<a name="l00609"></a><a class="code" href="classNL3D_1_1CTransformHrcObs.html#m1">00609</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#m1">DontUnfreezeChildren</a>; <font class="comment">// Usefull when cluster system move to not test instance again</font> +00610 +<a name="l00611"></a><a class="code" href="classNL3D_1_1CTransformHrcObs.html#m2">00611</a> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#m2">ClipLinkedInSonsOfAncestorSkeletonModelGroup</a>; +00612 <font class="comment">// !NULL if any skeleton is an ancestor in hierarchy. Updated at each Hrc traversal!!</font> +<a name="l00613"></a><a class="code" href="classNL3D_1_1CTransformHrcObs.html#m3">00613</a> CSkeletonModel *<a class="code" href="classNL3D_1_1CTransformHrcObs.html#m3">_AncestorSkeletonModel</a>; +00614 +00615 <font class="keyword">private</font>: +00616 <font class="comment">// according to _AncestorSkeletonModel, link clipTrav.</font> +00617 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformHrcObs.html#c0">updateClipTravForAncestorSkeleton</a>(); +00618 }; +00619 +00620 +00621 <font class="comment">// ***************************************************************************</font> +<a name="l00633"></a><a class="code" href="classNL3D_1_1CTransformClipObs.html">00633</a> <font class="comment"></font><font class="keyword">class </font>CTransformClipObs : <font class="keyword">public</font> IBaseClipObs +00634 { +00635 +00636 <font class="keyword">public</font>: +00637 +<a name="l00638"></a><a class="code" href="classNL3D_1_1CTransformClipObs.html#m0">00638</a> sint64 <a class="code" href="classNL3D_1_1CTransformClipObs.html#m0">Date</a>; +00639 +00640 <font class="keyword">public</font>: +00641 +<a name="l00642"></a><a class="code" href="classNL3D_1_1CTransformClipObs.html#a0">00642</a> <a class="code" href="classNL3D_1_1CTransformClipObs.html#a0">CTransformClipObs</a>() : <a class="code" href="classNL3D_1_1CTransformClipObs.html#m0">Date</a>(0) {} +00643 +<a name="l00645"></a><a class="code" href="classNL3D_1_1CTransformClipObs.html#a1">00645</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classNL3D_1_1CTransformClipObs.html#a1">clip</a>(<a class="code" href="classNL3D_1_1IBaseClipObs.html#a0">IBaseClipObs</a> *caller) +00646 { +00647 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00648 } +00649 +00659 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformClipObs.html#a2">traverse</a>(<a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *caller); +00660 +<a name="l00661"></a><a class="code" href="classNL3D_1_1CTransformClipObs.html#d0">00661</a> <font class="keyword">static</font> <a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *<a class="code" href="classNL3D_1_1CTransformClipObs.html#d0">creator</a>() {<font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNL3D_1_1CTransformClipObs.html#a0">CTransformClipObs</a>;} +00662 }; +00663 +00664 +00665 <font class="comment">// ***************************************************************************</font> +<a name="l00676"></a><a class="code" href="classNL3D_1_1CTransformAnimDetailObs.html">00676</a> <font class="comment"></font><font class="keyword">class </font>CTransformAnimDetailObs : <font class="keyword">public</font> IBaseAnimDetailObs +00677 { +00678 <font class="keyword">public</font>: +00679 +00681 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformAnimDetailObs.html#a0">updateWorldMatrixFromFather</a>(); +00685 <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformAnimDetailObs.html#a1">traverseWithoutUpdateWorldMatrix</a>(<a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *caller); +00686 +00688 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformAnimDetailObs.html#a2">traverse</a>(<a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *caller); +00689 +<a name="l00690"></a><a class="code" href="classNL3D_1_1CTransformAnimDetailObs.html#d0">00690</a> <font class="keyword">static</font> <a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *<a class="code" href="classNL3D_1_1CTransformAnimDetailObs.html#d0">creator</a>() {<font class="keywordflow">return</font> <font class="keyword">new</font> CTransformAnimDetailObs;} +00691 }; +00692 +00693 <font class="comment">// ***************************************************************************</font> +<a name="l00700"></a><a class="code" href="classNL3D_1_1CTransformRenderObs.html">00700</a> <font class="comment"></font><font class="keyword">class </font>CTransformRenderObs : <font class="keyword">public</font> IBaseRenderObs +00701 { +00702 <font class="keyword">public</font>: +<a name="l00707"></a><a class="code" href="classNL3D_1_1CTransformRenderObs.html#a0">00707</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformRenderObs.html#a0">traverse</a>(<a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *caller) +00708 { +00709 } +00710 +<a name="l00711"></a><a class="code" href="classNL3D_1_1CTransformRenderObs.html#d0">00711</a> <font class="keyword">static</font> <a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *<a class="code" href="classNL3D_1_1CTransformRenderObs.html#d0">creator</a>() {<font class="keywordflow">return</font> <font class="keyword">new</font> CTransformRenderObs;} +00712 +00713 }; +00714 +00715 +00716 <font class="comment">// ***************************************************************************</font> +<a name="l00723"></a><a class="code" href="classNL3D_1_1CTransformLightObs.html">00723</a> <font class="comment"></font><font class="keyword">class </font>CTransformLightObs : <font class="keyword">public</font> IBaseLightObs +00724 { +00725 <font class="keyword">public</font>: +00726 +00734 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNL3D_1_1CTransformLightObs.html#a0">traverse</a>(<a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *caller); +00735 +00736 +<a name="l00737"></a><a class="code" href="classNL3D_1_1CTransformLightObs.html#d0">00737</a> <font class="keyword">static</font> <a class="code" href="classNL3D_1_1IObs.html#a0">IObs</a> *<a class="code" href="classNL3D_1_1CTransformLightObs.html#d0">creator</a>() {<font class="keywordflow">return</font> <font class="keyword">new</font> CTransformLightObs;} +00738 +00739 }; +00740 +00741 +00742 } <font class="comment">// namespace NL3D</font> +00743 +00744 +00745 <font class="preprocessor">#endif // NL_TRANSFORM_H</font> +00746 <font class="preprocessor"></font> +00747 <font class="comment">/* End of transform.h */</font> +</pre></div> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |