aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/classNL3D_1_1IObs.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/classNL3D_1_1IObs.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/classNL3D_1_1IObs.html')
-rw-r--r--docs/doxygen/nel/classNL3D_1_1IObs.html1239
1 files changed, 1239 insertions, 0 deletions
diff --git a/docs/doxygen/nel/classNL3D_1_1IObs.html b/docs/doxygen/nel/classNL3D_1_1IObs.html
new file mode 100644
index 00000000..96f8f669
--- /dev/null
+++ b/docs/doxygen/nel/classNL3D_1_1IObs.html
@@ -0,0 +1,1239 @@
+<!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>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</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>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</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>
+&nbsp;
+
+<!-- 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>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.14 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <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> &nbsp; </center>
+<hr><h1>NL3D::IObs Class Reference</h1>A base observer.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="mot_8h-source.html">mot.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NL3D::IObs:
+<p><center><img src="classNL3D_1_1IObs.gif" usemap="#NL3D::IObs_map" border="0"></center>
+<map name="NL3D::IObs_map">
+<area href="classNLMISC_1_1CRefCount.html" alt="NLMISC::CRefCount" shape="rect" coords="1345,0,1604,24">
+<area href="classNL3D_1_1IBaseAnimDetailObs.html" alt="NL3D::IBaseAnimDetailObs" shape="rect" coords="0,112,259,136">
+<area href="classNL3D_1_1IBaseClipObs.html" alt="NL3D::IBaseClipObs" shape="rect" coords="538,112,797,136">
+<area href="classNL3D_1_1IBaseHrcObs.html" alt="NL3D::IBaseHrcObs" shape="rect" coords="1076,112,1335,136">
+<area href="classNL3D_1_1IBaseLightObs.html" alt="NL3D::IBaseLightObs" shape="rect" coords="1614,112,1873,136">
+<area href="classNL3D_1_1IBaseLoadBalancingObs.html" alt="NL3D::IBaseLoadBalancingObs" shape="rect" coords="2152,112,2411,136">
+<area href="classNL3D_1_1IBaseRenderObs.html" alt="NL3D::IBaseRenderObs" shape="rect" coords="2690,112,2949,136">
+<area href="classNL3D_1_1CDefaultAnimDetailObs.html" alt="NL3D::CDefaultAnimDetailObs" shape="rect" coords="269,168,528,192">
+<area href="classNL3D_1_1CRootModelAnimDetailObs.html" alt="NL3D::CRootModelAnimDetailObs" shape="rect" coords="269,224,528,248">
+<area href="classNL3D_1_1CSkipModelAnimDetailObs.html" alt="NL3D::CSkipModelAnimDetailObs" shape="rect" coords="269,280,528,304">
+<area href="classNL3D_1_1CTransformAnimDetailObs.html" alt="NL3D::CTransformAnimDetailObs" shape="rect" coords="269,336,528,360">
+<area href="classNL3D_1_1CClusterClipObs.html" alt="NL3D::CClusterClipObs" shape="rect" coords="807,168,1066,192">
+<area href="classNL3D_1_1CDefaultClipObs.html" alt="NL3D::CDefaultClipObs" shape="rect" coords="807,224,1066,248">
+<area href="classNL3D_1_1CQuadGridClipClusterClipObs.html" alt="NL3D::CQuadGridClipClusterClipObs" shape="rect" coords="807,280,1066,304">
+<area href="classNL3D_1_1CRootModelClipObs.html" alt="NL3D::CRootModelClipObs" shape="rect" coords="807,336,1066,360">
+<area href="classNL3D_1_1CSkipModelClipObs.html" alt="NL3D::CSkipModelClipObs" shape="rect" coords="807,392,1066,416">
+<area href="classNL3D_1_1CTransformClipObs.html" alt="NL3D::CTransformClipObs" shape="rect" coords="807,448,1066,472">
+<area href="classNL3D_1_1CDefaultHrcObs.html" alt="NL3D::CDefaultHrcObs" shape="rect" coords="1345,168,1604,192">
+<area href="classNL3D_1_1CRootModelHrcObs.html" alt="NL3D::CRootModelHrcObs" shape="rect" coords="1345,224,1604,248">
+<area href="classNL3D_1_1CSkipModelHrcObs.html" alt="NL3D::CSkipModelHrcObs" shape="rect" coords="1345,280,1604,304">
+<area href="classNL3D_1_1CTransformHrcObs.html" alt="NL3D::CTransformHrcObs" shape="rect" coords="1345,336,1604,360">
+<area href="classNL3D_1_1CDefaultLightObs.html" alt="NL3D::CDefaultLightObs" shape="rect" coords="1883,168,2142,192">
+<area href="classNL3D_1_1CRootModelLightObs.html" alt="NL3D::CRootModelLightObs" shape="rect" coords="1883,224,2142,248">
+<area href="classNL3D_1_1CSkipModelLightObs.html" alt="NL3D::CSkipModelLightObs" shape="rect" coords="1883,280,2142,304">
+<area href="classNL3D_1_1CTransformLightObs.html" alt="NL3D::CTransformLightObs" shape="rect" coords="1883,336,2142,360">
+<area href="classNL3D_1_1CDefaultLoadBalancingObs.html" alt="NL3D::CDefaultLoadBalancingObs" shape="rect" coords="2421,168,2680,192">
+<area href="classNL3D_1_1CRootModelLoadBalancingObs.html" alt="NL3D::CRootModelLoadBalancingObs" shape="rect" coords="2421,224,2680,248">
+<area href="classNL3D_1_1CSkipModelLoadBalancingObs.html" alt="NL3D::CSkipModelLoadBalancingObs" shape="rect" coords="2421,280,2680,304">
+<area href="classNL3D_1_1CTransformShapeLoadBalancingObs.html" alt="NL3D::CTransformShapeLoadBalancingObs" shape="rect" coords="2421,336,2680,360">
+<area href="classNL3D_1_1CDefaultRenderObs.html" alt="NL3D::CDefaultRenderObs" shape="rect" coords="2959,168,3218,192">
+<area href="classNL3D_1_1CRootModelRenderObs.html" alt="NL3D::CRootModelRenderObs" shape="rect" coords="2959,224,3218,248">
+<area href="classNL3D_1_1CSkipModelRenderObs.html" alt="NL3D::CSkipModelRenderObs" shape="rect" coords="2959,280,3218,304">
+<area href="classNL3D_1_1CTransformRenderObs.html" alt="NL3D::CTransformRenderObs" shape="rect" coords="2959,336,3218,360">
+</map>
+<a href="classNL3D_1_1IObs-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#a0">IObs</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#a1">~IObs</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em><a class="el" href="classNL3D_1_1IObs.html#a1">~IObs</a>() must destroy correclty the father/son links (with call to virtual <a class="el" href="classNL3D_1_1IObs.html#z617_2">delChild</a>() <a class="el" href="classNL3D_1_1IObs.html#z617_4">delParent</a>()).</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#a2">init</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>This is called at the end of createModel().</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Graph methods. USED ONLY BY ITrav*.</div></td></tr>
+<tr><td colspan="2"><div class="groupText">BASIC EXTENSION: Although All those methods may be extended, it may be a hard work.
+<p>
+So if an observer just want to choose beetween being a <b>tree</b> <b>Node</b> (which has only one parent) or being a <b>Graph</b> <b>node</b>, it may just implement the isTreeNode() method which return true by default.
+<p>
+ADVANCED EXTENSION: the deriver may implement the way this observer is linked to the traversal graph. <br>
+ The deriver must use list&lt;&gt; IObs::SonList and IObs::FatherList and set&lt;&gt; IObs::SonMap and IObs::FatherMap in the same way the default implementation use them. <br>
+ We cut the behavior into two ways: addParent and addChild() (and their respective del*() function). We must do this since some observers may link to sons in a particualr way (Z-list ...), and some others may link to parents in a particular way (such as tree node which want to delete their old parent).
+<p>
+ITrav::link() and ITrav::unlink() will call the correct functions:<br>
+ o1-&gt;addChild(o2); o2-&gt;addParent(o1);
+<p>
+If the deriver store the links to sons / fathers in a particular way, it must destroy them in his destructor. NB: in all case, get*() are NOT virtual because of speed consideration. <br><br></div></td></tr>
+<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_0">isTreeNode</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>For standard behavior, just modify this method, to have a TreeNode behavior or a graphNode behavior. Default: true.</em> <a href="#z617_0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_1">addChild</a> (IObs *son)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>This function SHOULD JUST add son to the son list. If <code>son</code> was already a son, no-op.</em> <a href="#z617_1">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_2">delChild</a> (IObs *son)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>This function SHOULD JUST delete son from the son list. If <code>son</code> is not a son, no-op.</em> <a href="#z617_2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_3">addParent</a> (IObs *father)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>This function SHOULD JUST add father to the parent list.</em> <a href="#z617_3">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_4">delParent</a> (IObs *father)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>This function SHOULD JUST delete father from the parent list. If <code>father</code> is not a parent, no-op.</em> <a href="#z617_4">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="memory__common_8h.html#a14">sint</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_5">getNumChildren</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Get the number of children.</em> <a href="#z617_5">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>IObs *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_6">getFirstChild</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Return the first child of the observer. NULL returned if not found.</em> <a href="#z617_6">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>IObs *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_7">getNextChild</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Return the next child of the observer. NULL returned if not found. Unpredictible results if insertions/deletions are made between a <a class="el" href="classNL3D_1_1IObs.html#z617_6">getFirstChild</a>() / <a class="el" href="classNL3D_1_1IObs.html#z617_7">getNextChild</a>().</em> <a href="#z617_7">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="memory__common_8h.html#a14">sint</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_8">getNumParents</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Get the number of parent.</em> <a href="#z617_8">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>IObs *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_9">getFirstParent</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Return the first parent of the observer. NULL returned if not found.</em> <a href="#z617_9">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>IObs *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z617_10">getNextParent</a> () const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Return the next parent of the observer. NULL returned if not found. Unpredictible results if insertions/deletions are made between a <a class="el" href="classNL3D_1_1IObs.html#z617_9">getFirstParent</a>() / <a class="el" href="classNL3D_1_1IObs.html#z617_10">getNextParent</a>().</em> <a href="#z617_10">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">DoIt method. USED ONLY BY ITrav*.</div></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z618_0">traverse</a> (IObs *caller)=0</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Traverse this observer.</em> <a href="#z618_0">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Notification system.</div></td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z619_0">update</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>This function must update the observer, according to his model's Touch information and the Model data.</em> <a href="#z619_0">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Utility methods.</div></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z620_0">traverseSons</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Do <a class="el" href="classNL3D_1_1IObs.html#z618_0">traverse</a>() for all sons of this observer.</em> <a href="#z620_0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>IObs *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#z620_1">getObs</a> (const <a class="el" href="classNLMISC_1_1CClassId.html">NLMISC::CClassId</a> &amp;idTrav) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Get the observer for an other view, via <a class="el" href="classNL3D_1_1IModel.html">IModel</a>.</em> <a href="#z620_1">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1IModel.html">IModel</a> *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#m0">Model</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1ITrav.html">ITrav</a> *&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#m1">Trav</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Types</h2></td></tr>
+<tr><td nowrap align=right valign=top>typedef <a class="el" href="classstd_1_1list.html">std::list</a>&lt; IObs * &gt;&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#t0">TObsList</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef TObsList::iterator&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#t1">ItObsList</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef TObsList::const_iterator&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#t2">ConstItObsList</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef std::map&lt; IObs *,<br>
+ <a class="el" href="classNL3D_1_1IObs.html#t1">ItObsList</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#t3">TObsMap</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef TObsMap::iterator&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#t4">ItObsMap</a></td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1IObs.html#t0">TObsList</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#n0">SonList</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1IObs.html#t0">TObsList</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#n1">FatherList</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1IObs.html#t3">TObsMap</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#n2">SonMap</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1IObs.html#t3">TObsMap</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#n3">FatherMap</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="memory__common_8h.html#a14">sint</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#n4">NumFathers</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="memory__common_8h.html#a14">sint</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#n5">NumSons</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1IObs.html#t2">ConstItObsList</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#n6">CurSonIt</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="classNL3D_1_1IObs.html#t2">ConstItObsList</a>&nbsp;</td><td valign=bottom><a class="el" href="classNL3D_1_1IObs.html#n7">CurFatherIt</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A base observer.
+<p>
+An observer is a link beetween a Model and a Traversal. It may implement the behavior of the model for this particular traversal. Only deriver have access to /implement observers. Users don't manipulate observers.
+<p>
+<a class="el" href="classNL3D_1_1IObs.html">IObs</a> define:<ul>
+<li>graph methods to link/unlink to observers. Read carefully this section.<li>a notification system (see <a class="el" href="classNL3D_1_1IModel.html">IModel</a> for an explanation)<li>an interface for traversal to <a class="el" href="classNL3D_1_1IObs.html#z618_0">traverse</a>() this observer.</ul>
+<b>DERIVERS</b> <b>RULES</b>:<ul>
+<li>Implement the notification system: Just extend <a class="el" href="classNL3D_1_1IObs.html#z619_0">update</a>().<li>Implement the <a class="el" href="classNL3D_1_1IObs.html#z618_0">traverse</a>() method<li>Possibly Extend/Modify the graph methods (see <a class="el" href="classNL3D_1_1IObs.html#z617_0">isTreeNode</a>(), <a class="el" href="classNL3D_1_1IObs.html#z617_3">addParent</a>() ...).<li>Possibly Extend/Modify the <a class="el" href="classNL3D_1_1IObs.html#a2">init</a>() method.</ul>
+Since Models are created with <a class="el" href="classNL3D_1_1CMOT.html#z614_0">CMOT::createModel</a>(), an observer is never alone, he always has a Model and a <a class="el" href="classNL3D_1_1ITrav.html">ITrav</a>. <dl compact><dt><b>
+See also: </b><dd>
+<a class="el" href="classNL3D_1_1CMOT.html">CMOT</a> <a class="el" href="classNL3D_1_1IModel.html">IModel</a> <a class="el" href="classNL3D_1_1ITrav.html">ITrav</a> </dl><dl compact><dt><b>
+Author: </b><dd>
+Lionel Berenguier , Nevrax France </dl><dl compact><dt><b>
+Date: </b><dd>
+2000 </dl>
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00411">411</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.<hr><h2>Member Typedef Documentation</h2>
+<a name="t2" doxytag="NL3D::IObs::ConstItObsList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef TObsList::const_iterator NL3D::IObs::ConstItObsList<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00555">555</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>. </td>
+ </tr>
+</table>
+<a name="t1" doxytag="NL3D::IObs::ItObsList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef TObsList::iterator NL3D::IObs::ItObsList<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00554">554</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00662">addParent</a>, and <a class="el" href="mot_8cpp-source.html#l00595">~IObs</a>. </td>
+ </tr>
+</table>
+<a name="t4" doxytag="NL3D::IObs::ItObsMap"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef TObsMap::iterator NL3D::IObs::ItObsMap<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00557">557</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00633">addChild</a>, <a class="el" href="mot_8cpp-source.html#l00662">addParent</a>, <a class="el" href="mot_8cpp-source.html#l00647">delChild</a>, and <a class="el" href="mot_8cpp-source.html#l00694">delParent</a>. </td>
+ </tr>
+</table>
+<a name="t0" doxytag="NL3D::IObs::TObsList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="classstd_1_1list.html">std::list</a>&lt;IObs*&gt; NL3D::IObs::TObsList<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00553">553</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>. </td>
+ </tr>
+</table>
+<a name="t3" doxytag="NL3D::IObs::TObsMap"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::map&lt;IObs *, <a class="el" href="classNL3D_1_1IObs.html#t1">ItObsList</a>&gt; NL3D::IObs::TObsMap<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00556">556</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="NL3D::IObs::IObs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::IObs::IObs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8cpp-source.html#l00584">584</a> of file <a class="el" href="mot_8cpp-source.html">mot.cpp</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00568">CurFatherIt</a>, <a class="el" href="mot_8h-source.html#l00567">CurSonIt</a>, <a class="el" href="mot_8h-source.html#l00561">FatherList</a>, <a class="el" href="mot_8h-source.html#l00414">Model</a>, <a class="el" href="mot_8h-source.html#l00564">NumFathers</a>, <a class="el" href="mot_8h-source.html#l00565">NumSons</a>, <a class="el" href="mot_8h-source.html#l00560">SonList</a>, and <a class="el" href="mot_8h-source.html#l00415">Trav</a>.
+<p>
+Referenced by <a class="el" href="hrc__trav_8cpp-source.html#l00079">NL3D::IBaseHrcObs::addParent</a>, <a class="el" href="water__model_8h-source.html#l00136">NL3D::CWaveMakerDetailObs::creator</a>, <a class="el" href="water__model_8h-source.html#l00090">NL3D::CWaterRenderObs::creator</a>, <a class="el" href="vegetable__blend__layer__model_8h-source.html#l00150">NL3D::CVegetableBlendLayerRenderObs::creator</a>, <a class="el" href="vegetable__blend__layer__model_8h-source.html#l00128">NL3D::CVegetableBlendLayerClipObs::creator</a>, <a class="el" href="transform__shape_8h-source.html#l00252">NL3D::CTransformShapeLoadBalancingObs::creator</a>, <a class="el" href="transform__shape_8h-source.html#l00227">NL3D::CTransformShapeRenderObs::creator</a>, <a class="el" href="transform__shape_8h-source.html#l00206">NL3D::CTransformShapeClipObs::creator</a>, <a class="el" href="transform_8h-source.html#l00737">NL3D::CTransformLightObs::creator</a>, <a class="el" href="transform_8h-source.html#l00711">NL3D::CTransformRenderObs::creator</a>, <a class="el" href="transform_8h-source.html#l00690">NL3D::CTransformAnimDetailObs::creator</a>, <a class="el" href="transform_8h-source.html#l00661">NL3D::CTransformClipObs::creator</a>, <a class="el" href="transform_8h-source.html#l00604">NL3D::CTransformHrcObs::creator</a>, <a class="el" href="skip__model_8h-source.html#l00144">NL3D::CSkipModelRenderObs::creator</a>, <a class="el" href="skip__model_8h-source.html#l00133">NL3D::CSkipModelLightObs::creator</a>, <a class="el" href="skip__model_8h-source.html#l00122">NL3D::CSkipModelLoadBalancingObs::creator</a>, <a class="el" href="skip__model_8h-source.html#l00111">NL3D::CSkipModelAnimDetailObs::creator</a>, <a class="el" href="skip__model_8h-source.html#l00100">NL3D::CSkipModelClipObs::creator</a>, <a class="el" href="skip__model_8h-source.html#l00088">NL3D::CSkipModelHrcObs::creator</a>, <a class="el" href="skeleton__model_8h-source.html#l00499">NL3D::CSkeletonModelRenderObs::creator</a>, <a class="el" href="skeleton__model_8h-source.html#l00458">NL3D::CSkeletonModelAnimDetailObs::creator</a>, <a class="el" href="seg__remanence_8h-source.html#l00195">NL3D::CSegRemanenceAnimDetailObs::creator</a>, <a class="el" href="root__model_8h-source.html#l00148">NL3D::CRootModelRenderObs::creator</a>, <a class="el" href="root__model_8h-source.html#l00137">NL3D::CRootModelLightObs::creator</a>, <a class="el" href="root__model_8h-source.html#l00126">NL3D::CRootModelLoadBalancingObs::creator</a>, <a class="el" href="root__model_8h-source.html#l00115">NL3D::CRootModelAnimDetailObs::creator</a>, <a class="el" href="root__model_8h-source.html#l00104">NL3D::CRootModelClipObs::creator</a>, <a class="el" href="root__model_8h-source.html#l00092">NL3D::CRootModelHrcObs::creator</a>, <a class="el" href="quad__grid__clip__cluster_8h-source.html#l00112">NL3D::CQuadGridClipClusterClipObs::creator</a>, <a class="el" href="point__light__model_8h-source.html#l00168">NL3D::CPointLightModelLightObs::creator</a>, <a class="el" href="particle__system__model_8h-source.html#l00354">NL3D::CParticleSystemRenderObs::creator</a>, <a class="el" href="particle__system__model_8h-source.html#l00326">NL3D::CParticleSystemClipObs::creator</a>, <a class="el" href="particle__system__model_8h-source.html#l00314">NL3D::CParticleSystemDetailObs::creator</a>, <a class="el" href="mesh__multi__lod__instance_8h-source.html#l00176">NL3D::CMeshMultiLodBalancingObs::creator</a>, <a class="el" href="mesh__multi__lod__instance_8h-source.html#l00151">NL3D::CMeshMultiLodClipObs::creator</a>, <a class="el" href="mesh__base__instance_8h-source.html#l00279">NL3D::CMeshBaseInstanceAnimDetailObs::creator</a>, <a class="el" href="flare__model_8h-source.html#l00067">NL3D::CFlareRenderObs::creator</a>, <a class="el" href="coarse__mesh__manager_8h-source.html#l00338">NL3D::CCoarseMeshClipObs::creator</a>, <a class="el" href="cluster_8h-source.html#l00218">NL3D::CClusterClipObs::creator</a>, <a class="el" href="cluster_8h-source.html#l00187">NL3D::CClusterHrcObs::creator</a>, <a class="el" href="base__clip__obs_8cpp-source.html#l00082">NL3D::IBaseClipObs::forceClip</a>, <a class="el" href="mot_8h-source.html#l00465">getFirstChild</a>, <a class="el" href="mot_8h-source.html#l00487">getFirstParent</a>, <a class="el" href="mot_8h-source.html#l00474">getNextChild</a>, <a class="el" href="mot_8h-source.html#l00496">getNextParent</a>, <a class="el" href="transform_8h-source.html#l00707">NL3D::CTransformRenderObs::traverse</a>, <a class="el" href="load__balancing__trav_8h-source.html#l00289">NL3D::CDefaultLoadBalancingObs::traverse</a>, <a class="el" href="hrc__trav_8h-source.html#l00206">NL3D::CDefaultHrcObs::traverse</a>, <a class="el" href="base__render__obs_8h-source.html#l00107">NL3D::CDefaultRenderObs::traverse</a>, <a class="el" href="base__light__obs_8h-source.html#l00096">NL3D::CDefaultLightObs::traverse</a>, <a class="el" href="base__clip__obs_8h-source.html#l00155">NL3D::CDefaultClipObs::traverse</a>, <a class="el" href="base__anim__detail__obs_8h-source.html#l00106">NL3D::CDefaultAnimDetailObs::traverse</a>, <a class="el" href="mot_8h-source.html#l00540">traverseSons</a>, and <a class="el" href="mot_8cpp-source.html#l00595">~IObs</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="NL3D::IObs::~IObs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL3D::IObs::~IObs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<a class="el" href="classNL3D_1_1IObs.html#a1">~IObs</a>() must destroy correclty the father/son links (with call to virtual <a class="el" href="classNL3D_1_1IObs.html#z617_2">delChild</a>() <a class="el" href="classNL3D_1_1IObs.html#z617_4">delParent</a>()).
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8cpp-source.html#l00595">595</a> of file <a class="el" href="mot_8cpp-source.html">mot.cpp</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00561">FatherList</a>, <a class="el" href="mot_8h-source.html#l00563">FatherMap</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, <a class="el" href="mot_8h-source.html#l00554">ItObsList</a>, <a class="el" href="mot_8h-source.html#l00564">NumFathers</a>, <a class="el" href="mot_8h-source.html#l00565">NumSons</a>, <a class="el" href="mot_8h-source.html#l00560">SonList</a>, and <a class="el" href="mot_8h-source.html#l00562">SonMap</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="z617_1" doxytag="NL3D::IObs::addChild"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::IObs::addChild </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">IObs *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>son</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function SHOULD JUST add son to the son list. If <code>son</code> was already a son, no-op.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8cpp-source.html#l00633">633</a> of file <a class="el" href="mot_8cpp-source.html">mot.cpp</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00557">ItObsMap</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, <a class="el" href="mot_8h-source.html#l00565">NumSons</a>, <a class="el" href="mot_8h-source.html#l00560">SonList</a>, and <a class="el" href="mot_8h-source.html#l00562">SonMap</a>. </td>
+ </tr>
+</table>
+<a name="z617_3" doxytag="NL3D::IObs::addParent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::IObs::addParent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">IObs *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>father</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function SHOULD JUST add father to the parent list.
+<p>
+If <code>father</code> was already a parent, no-op. The default behavior is to call <a class="el" href="classNL3D_1_1IObs.html#z617_0">isTreeNode</a>(). If true, unlink from his current father, and call precFather-&gt;delChild(this). Hence this observer has a behavior of a Tree node (can have only one parent).
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1IBaseHrcObs.html#z462_0">NL3D::IBaseHrcObs</a>.
+<p>
+Definition at line <a class="el" href="mot_8cpp-source.html#l00662">662</a> of file <a class="el" href="mot_8cpp-source.html">mot.cpp</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00561">FatherList</a>, <a class="el" href="mot_8h-source.html#l00563">FatherMap</a>, <a class="el" href="mot_8h-source.html#l00449">isTreeNode</a>, <a class="el" href="mot_8h-source.html#l00554">ItObsList</a>, <a class="el" href="mot_8h-source.html#l00557">ItObsMap</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, and <a class="el" href="mot_8h-source.html#l00564">NumFathers</a>. </td>
+ </tr>
+</table>
+<a name="z617_2" doxytag="NL3D::IObs::delChild"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::IObs::delChild </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">IObs *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>son</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function SHOULD JUST delete son from the son list. If <code>son</code> is not a son, no-op.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8cpp-source.html#l00647">647</a> of file <a class="el" href="mot_8cpp-source.html">mot.cpp</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00557">ItObsMap</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, <a class="el" href="mot_8h-source.html#l00565">NumSons</a>, <a class="el" href="mot_8h-source.html#l00560">SonList</a>, and <a class="el" href="mot_8h-source.html#l00562">SonMap</a>. </td>
+ </tr>
+</table>
+<a name="z617_4" doxytag="NL3D::IObs::delParent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::IObs::delParent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">IObs *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>father</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function SHOULD JUST delete father from the parent list. If <code>father</code> is not a parent, no-op.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8cpp-source.html#l00694">694</a> of file <a class="el" href="mot_8cpp-source.html">mot.cpp</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00561">FatherList</a>, <a class="el" href="mot_8h-source.html#l00563">FatherMap</a>, <a class="el" href="mot_8h-source.html#l00557">ItObsMap</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, and <a class="el" href="mot_8h-source.html#l00564">NumFathers</a>. </td>
+ </tr>
+</table>
+<a name="z617_6" doxytag="NL3D::IObs::getFirstChild"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> IObs* NL3D::IObs::getFirstChild </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the first child of the observer. NULL returned if not found.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00465">465</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00567">CurSonIt</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, <a class="el" href="mot_8h-source.html#l00565">NumSons</a>, and <a class="el" href="mot_8h-source.html#l00560">SonList</a>.
+<p>
+Referenced by <a class="el" href="base__clip__obs_8cpp-source.html#l00082">NL3D::IBaseClipObs::forceClip</a>, and <a class="el" href="mot_8h-source.html#l00540">traverseSons</a>. </td>
+ </tr>
+</table>
+<a name="z617_9" doxytag="NL3D::IObs::getFirstParent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> IObs* NL3D::IObs::getFirstParent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the first parent of the observer. NULL returned if not found.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00487">487</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00568">CurFatherIt</a>, <a class="el" href="mot_8h-source.html#l00561">FatherList</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, and <a class="el" href="mot_8h-source.html#l00564">NumFathers</a>.
+<p>
+Referenced by <a class="el" href="hrc__trav_8cpp-source.html#l00079">NL3D::IBaseHrcObs::addParent</a>. </td>
+ </tr>
+</table>
+<a name="z617_7" doxytag="NL3D::IObs::getNextChild"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> IObs* NL3D::IObs::getNextChild </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the next child of the observer. NULL returned if not found. Unpredictible results if insertions/deletions are made between a <a class="el" href="classNL3D_1_1IObs.html#z617_6">getFirstChild</a>() / <a class="el" href="classNL3D_1_1IObs.html#z617_7">getNextChild</a>().
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00474">474</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00567">CurSonIt</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, <a class="el" href="debug_8h-source.html#l00254">nlassert</a>, and <a class="el" href="mot_8h-source.html#l00560">SonList</a>.
+<p>
+Referenced by <a class="el" href="base__clip__obs_8cpp-source.html#l00082">NL3D::IBaseClipObs::forceClip</a>, and <a class="el" href="mot_8h-source.html#l00540">traverseSons</a>. </td>
+ </tr>
+</table>
+<a name="z617_10" doxytag="NL3D::IObs::getNextParent"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> IObs* NL3D::IObs::getNextParent </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the next parent of the observer. NULL returned if not found. Unpredictible results if insertions/deletions are made between a <a class="el" href="classNL3D_1_1IObs.html#z617_9">getFirstParent</a>() / <a class="el" href="classNL3D_1_1IObs.html#z617_10">getNextParent</a>().
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00496">496</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00568">CurFatherIt</a>, <a class="el" href="mot_8h-source.html#l00561">FatherList</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, and <a class="el" href="debug_8h-source.html#l00254">nlassert</a>. </td>
+ </tr>
+</table>
+<a name="z617_5" doxytag="NL3D::IObs::getNumChildren"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="memory__common_8h.html#a14">sint</a> NL3D::IObs::getNumChildren </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the number of children.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00463">463</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00565">NumSons</a>. </td>
+ </tr>
+</table>
+<a name="z617_8" doxytag="NL3D::IObs::getNumParents"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="memory__common_8h.html#a14">sint</a> NL3D::IObs::getNumParents </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the number of parent.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00485">485</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00564">NumFathers</a>. </td>
+ </tr>
+</table>
+<a name="z620_1" doxytag="NL3D::IObs::getObs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> IObs * NL3D::IObs::getObs </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="classNLMISC_1_1CClassId.html">NLMISC::CClassId</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>idTrav</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the observer for an other view, via <a class="el" href="classNL3D_1_1IModel.html">IModel</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8cpp-source.html#l00626">626</a> of file <a class="el" href="mot_8cpp-source.html">mot.cpp</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00414">Model</a>.
+<p>
+Referenced by <a class="el" href="load__balancing__trav_8cpp-source.html#l00286">NL3D::IBaseLoadBalancingObs::init</a>, <a class="el" href="hrc__trav_8cpp-source.html#l00068">NL3D::IBaseHrcObs::init</a>, <a class="el" href="base__render__obs_8cpp-source.html#l00040">NL3D::IBaseRenderObs::init</a>, <a class="el" href="base__light__obs_8cpp-source.html#l00039">NL3D::IBaseLightObs::init</a>, <a class="el" href="base__clip__obs_8cpp-source.html#l00067">NL3D::IBaseClipObs::init</a>, and <a class="el" href="base__anim__detail__obs_8cpp-source.html#l00040">NL3D::IBaseAnimDetailObs::init</a>. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="NL3D::IObs::init"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::IObs::init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This is called at the end of createModel().
+<p>
+So the model is correctly constructed and linked to his observers. The default behavior is to do nothing. Warning! all <a class="el" href="classNL3D_1_1IObs.html#a2">IObs::init</a>() are called BEFORE <a class="el" href="classNL3D_1_1IModel.html#b1">IModel::initModel</a>().
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1IBaseAnimDetailObs.html#a1">NL3D::IBaseAnimDetailObs</a>.
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00424">424</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>. </td>
+ </tr>
+</table>
+<a name="z617_0" doxytag="NL3D::IObs::isTreeNode"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual bool NL3D::IObs::isTreeNode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+For standard behavior, just modify this method, to have a TreeNode behavior or a graphNode behavior. Default: true.
+<p>
+
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1IBaseClipObs.html#a6">NL3D::IBaseClipObs</a>.
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00449">449</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00662">addParent</a>. </td>
+ </tr>
+</table>
+<a name="z618_0" doxytag="NL3D::IObs::traverse"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::IObs::traverse </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">IObs *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>caller</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [pure virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Traverse this observer.
+<p>
+This function "justdoit" must do all the traversal thing:<ul>
+<li>Get info from caller, and DoIt the observer (completly observer depedent).<li>should <a class="el" href="classNL3D_1_1IObs.html#z618_0">traverse</a>() his sons (or simply call <a class="el" href="classNL3D_1_1IObs.html#z620_0">traverseSons</a>()). </ul>
+<dl compact><dt><b>
+Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>caller</em>&nbsp;</td><td>
+the father of the observer which have called <a class="el" href="classNL3D_1_1IObs.html#z618_0">traverse</a>(). WARNING: this is NULL, for the ROOT. </td></tr>
+</table>
+</dl>
+<p>
+Implemented in <a class="el" href="classNL3D_1_1IBaseAnimDetailObs.html#z384_0">NL3D::IBaseAnimDetailObs</a>. </td>
+ </tr>
+</table>
+<a name="z620_0" doxytag="NL3D::IObs::traverseSons"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NL3D::IObs::traverseSons </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Do <a class="el" href="classNL3D_1_1IObs.html#z618_0">traverse</a>() for all sons of this observer.
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00540">540</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+References <a class="el" href="mot_8h-source.html#l00465">getFirstChild</a>, <a class="el" href="mot_8h-source.html#l00474">getNextChild</a>, and <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>.
+<p>
+Referenced by <a class="el" href="water__model_8cpp-source.html#l01066">NL3D::CWaveMakerDetailObs::traverse</a>, <a class="el" href="water__model_8cpp-source.html#l00364">NL3D::CWaterRenderObs::traverse</a>, <a class="el" href="transform_8cpp-source.html#l00709">NL3D::CTransformClipObs::traverse</a>, <a class="el" href="transform_8cpp-source.html#l00698">NL3D::CTransformHrcObs::traverse</a>, <a class="el" href="root__model_8cpp-source.html#l00080">NL3D::CRootModelRenderObs::traverse</a>, <a class="el" href="root__model_8cpp-source.html#l00075">NL3D::CRootModelLightObs::traverse</a>, <a class="el" href="root__model_8cpp-source.html#l00070">NL3D::CRootModelLoadBalancingObs::traverse</a>, <a class="el" href="root__model_8cpp-source.html#l00065">NL3D::CRootModelAnimDetailObs::traverse</a>, <a class="el" href="root__model_8cpp-source.html#l00060">NL3D::CRootModelClipObs::traverse</a>, <a class="el" href="root__model_8cpp-source.html#l00055">NL3D::CRootModelHrcObs::traverse</a>, <a class="el" href="quad__grid__clip__cluster_8cpp-source.html#l00082">NL3D::CQuadGridClipClusterClipObs::traverse</a>, <a class="el" href="particle__system__model_8cpp-source.html#l00553">NL3D::CParticleSystemClipObs::traverse</a>, <a class="el" href="hrc__trav_8h-source.html#l00206">NL3D::CDefaultHrcObs::traverse</a>, <a class="el" href="flare__model_8cpp-source.html#l00060">NL3D::CFlareRenderObs::traverse</a>, <a class="el" href="cluster_8cpp-source.html#l00329">NL3D::CClusterClipObs::traverse</a>, <a class="el" href="base__light__obs_8h-source.html#l00096">NL3D::CDefaultLightObs::traverse</a>, and <a class="el" href="base__clip__obs_8h-source.html#l00155">NL3D::CDefaultClipObs::traverse</a>. </td>
+ </tr>
+</table>
+<a name="z619_0" doxytag="NL3D::IObs::update"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NL3D::IObs::update </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function must update the observer, according to his model's Touch information and the Model data.
+<p>
+NB: do not modify here Touch information of the model (because they may be used by other Observers).
+<p>
+The default behavior is to do nothing.
+<p>
+Reimplemented in <a class="el" href="classNL3D_1_1CTransformHrcObs.html#a1">NL3D::CTransformHrcObs</a>.
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00531">531</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="n7" doxytag="NL3D::IObs::CurFatherIt"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1IObs.html#t2">ConstItObsList</a> NL3D::IObs::CurFatherIt<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00568">568</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8h-source.html#l00487">getFirstParent</a>, <a class="el" href="mot_8h-source.html#l00496">getNextParent</a>, and <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>. </td>
+ </tr>
+</table>
+<a name="n6" doxytag="NL3D::IObs::CurSonIt"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1IObs.html#t2">ConstItObsList</a> NL3D::IObs::CurSonIt<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00567">567</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8h-source.html#l00465">getFirstChild</a>, <a class="el" href="mot_8h-source.html#l00474">getNextChild</a>, and <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>. </td>
+ </tr>
+</table>
+<a name="n1" doxytag="NL3D::IObs::FatherList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1IObs.html#t0">TObsList</a> NL3D::IObs::FatherList<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00561">561</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00662">addParent</a>, <a class="el" href="mot_8cpp-source.html#l00694">delParent</a>, <a class="el" href="mot_8h-source.html#l00487">getFirstParent</a>, <a class="el" href="mot_8h-source.html#l00496">getNextParent</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, and <a class="el" href="mot_8cpp-source.html#l00595">~IObs</a>. </td>
+ </tr>
+</table>
+<a name="n3" doxytag="NL3D::IObs::FatherMap"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1IObs.html#t3">TObsMap</a> NL3D::IObs::FatherMap<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00563">563</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00662">addParent</a>, <a class="el" href="mot_8cpp-source.html#l00694">delParent</a>, and <a class="el" href="mot_8cpp-source.html#l00595">~IObs</a>. </td>
+ </tr>
+</table>
+<a name="m0" doxytag="NL3D::IObs::Model"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1IModel.html">IModel</a>* NL3D::IObs::Model
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00414">414</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="transform__shape_8cpp-source.html#l00132">NL3D::CTransformShapeClipObs::clip</a>, <a class="el" href="mesh__multi__lod__instance_8cpp-source.html#l00124">NL3D::CMeshMultiLodClipObs::clip</a>, <a class="el" href="landscape__model_8cpp-source.html#l00089">NL3D::CLandscapeClipObs::clip</a>, <a class="el" href="mesh__multi__lod__instance_8cpp-source.html#l00146">NL3D::CMeshMultiLodClipObs::forceClip</a>, <a class="el" href="mot_8cpp-source.html#l00626">getObs</a>, <a class="el" href="landscape__model_8cpp-source.html#l00078">NL3D::CLandscapeClipObs::init</a>, <a class="el" href="particle__system__model_8h-source.html#l00329">NL3D::CParticleSystemClipObs::insertInVisibleList</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, <a class="el" href="skeleton__model_8cpp-source.html#l01138">NL3D::CSkeletonModelRenderObs::renderCLod</a>, <a class="el" href="skeleton__model_8cpp-source.html#l01231">NL3D::CSkeletonModelRenderObs::renderSkins</a>, <a class="el" href="transform__shape_8cpp-source.html#l00173">NL3D::CTransformShapeRenderObs::traverse</a>, <a class="el" href="transform_8cpp-source.html#l00934">NL3D::CTransformLightObs::traverse</a>, <a class="el" href="transform_8cpp-source.html#l00709">NL3D::CTransformClipObs::traverse</a>, <a class="el" href="skeleton__model_8cpp-source.html#l00908">NL3D::CSkeletonModelRenderObs::traverse</a>, <a class="el" href="skeleton__model_8cpp-source.html#l00565">NL3D::CSkeletonModelAnimDetailObs::traverse</a>, <a class="el" href="quad__grid__clip__cluster_8cpp-source.html#l00082">NL3D::CQuadGridClipClusterClipObs::traverse</a>, <a class="el" href="point__light__model_8cpp-source.html#l00088">NL3D::CPointLightModelLightObs::traverse</a>, <a class="el" href="particle__system__model_8cpp-source.html#l00553">NL3D::CParticleSystemClipObs::traverse</a>, <a class="el" href="mesh__base__instance_8cpp-source.html#l00185">NL3D::CMeshBaseInstanceAnimDetailObs::traverse</a>, <a class="el" href="landscape__model_8cpp-source.html#l00119">NL3D::CLandscapeRenderObs::traverse</a>, <a class="el" href="cluster_8cpp-source.html#l00329">NL3D::CClusterClipObs::traverse</a>, <a class="el" href="cluster_8cpp-source.html#l00290">NL3D::CClusterHrcObs::traverse</a>, <a class="el" href="transform_8cpp-source.html#l00541">NL3D::CTransformHrcObs::update</a>, <a class="el" href="transform_8cpp-source.html#l00653">NL3D::CTransformHrcObs::updateClipTravForAncestorSkeleton</a>, and <a class="el" href="transform_8cpp-source.html#l00561">NL3D::CTransformHrcObs::updateWorld</a>. </td>
+ </tr>
+</table>
+<a name="n4" doxytag="NL3D::IObs::NumFathers"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="memory__common_8h.html#a14">sint</a> NL3D::IObs::NumFathers<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00564">564</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00662">addParent</a>, <a class="el" href="mot_8cpp-source.html#l00694">delParent</a>, <a class="el" href="mot_8h-source.html#l00487">getFirstParent</a>, <a class="el" href="mot_8h-source.html#l00485">getNumParents</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, and <a class="el" href="mot_8cpp-source.html#l00595">~IObs</a>. </td>
+ </tr>
+</table>
+<a name="n5" doxytag="NL3D::IObs::NumSons"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="memory__common_8h.html#a14">sint</a> NL3D::IObs::NumSons<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00565">565</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00633">addChild</a>, <a class="el" href="mot_8cpp-source.html#l00647">delChild</a>, <a class="el" href="mot_8h-source.html#l00465">getFirstChild</a>, <a class="el" href="mot_8h-source.html#l00463">getNumChildren</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, and <a class="el" href="mot_8cpp-source.html#l00595">~IObs</a>. </td>
+ </tr>
+</table>
+<a name="n0" doxytag="NL3D::IObs::SonList"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1IObs.html#t0">TObsList</a> NL3D::IObs::SonList<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00560">560</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00633">addChild</a>, <a class="el" href="mot_8cpp-source.html#l00647">delChild</a>, <a class="el" href="mot_8h-source.html#l00465">getFirstChild</a>, <a class="el" href="mot_8h-source.html#l00474">getNextChild</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, and <a class="el" href="mot_8cpp-source.html#l00595">~IObs</a>. </td>
+ </tr>
+</table>
+<a name="n2" doxytag="NL3D::IObs::SonMap"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1IObs.html#t3">TObsMap</a> NL3D::IObs::SonMap<code> [protected]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00562">562</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="mot_8cpp-source.html#l00633">addChild</a>, <a class="el" href="mot_8cpp-source.html#l00647">delChild</a>, and <a class="el" href="mot_8cpp-source.html#l00595">~IObs</a>. </td>
+ </tr>
+</table>
+<a name="m1" doxytag="NL3D::IObs::Trav"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="classNL3D_1_1ITrav.html">ITrav</a>* NL3D::IObs::Trav
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="mot_8h-source.html#l00415">415</a> of file <a class="el" href="mot_8h-source.html">mot.h</a>.
+<p>
+Referenced by <a class="el" href="transform__shape_8cpp-source.html#l00132">NL3D::CTransformShapeClipObs::clip</a>, <a class="el" href="landscape__model_8cpp-source.html#l00089">NL3D::CLandscapeClipObs::clip</a>, <a class="el" href="load__balancing__trav_8cpp-source.html#l00286">NL3D::IBaseLoadBalancingObs::init</a>, <a class="el" href="landscape__model_8cpp-source.html#l00078">NL3D::CLandscapeClipObs::init</a>, <a class="el" href="particle__system__model_8h-source.html#l00329">NL3D::CParticleSystemClipObs::insertInVisibleList</a>, <a class="el" href="mot_8cpp-source.html#l00584">IObs</a>, <a class="el" href="skeleton__model_8cpp-source.html#l01138">NL3D::CSkeletonModelRenderObs::renderCLod</a>, <a class="el" href="skeleton__model_8cpp-source.html#l01292">NL3D::CSkeletonModelRenderObs::renderSkinList</a>, <a class="el" href="skeleton__model_8cpp-source.html#l01231">NL3D::CSkeletonModelRenderObs::renderSkins</a>, <a class="el" href="transform__shape_8cpp-source.html#l00247">NL3D::CTransformShapeLoadBalancingObs::traverse</a>, <a class="el" href="transform__shape_8cpp-source.html#l00173">NL3D::CTransformShapeRenderObs::traverse</a>, <a class="el" href="transform_8cpp-source.html#l00934">NL3D::CTransformLightObs::traverse</a>, <a class="el" href="quad__grid__clip__cluster_8cpp-source.html#l00082">NL3D::CQuadGridClipClusterClipObs::traverse</a>, <a class="el" href="point__light__model_8cpp-source.html#l00088">NL3D::CPointLightModelLightObs::traverse</a>, <a class="el" href="particle__system__model_8cpp-source.html#l00553">NL3D::CParticleSystemClipObs::traverse</a>, <a class="el" href="mesh__multi__lod__instance_8cpp-source.html#l00162">NL3D::CMeshMultiLodBalancingObs::traverse</a>, <a class="el" href="landscape__model_8cpp-source.html#l00119">NL3D::CLandscapeRenderObs::traverse</a>, <a class="el" href="cluster_8cpp-source.html#l00329">NL3D::CClusterClipObs::traverse</a>, <a class="el" href="transform__shape_8cpp-source.html#l00261">NL3D::CTransformShapeLoadBalancingObs::traversePass0</a>, and <a class="el" href="base__clip__obs_8cpp-source.html#l00052">NL3D::IBaseClipObs::~IBaseClipObs</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="mot_8h-source.html">mot.h</a><li><a class="el" href="mot_8cpp-source.html">mot.cpp</a></ul>
+
+
+<!-- footer -->
+<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>