aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/class_NL3D__CMOT.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/class_NL3D__CMOT.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/class_NL3D__CMOT.html')
-rw-r--r--docs/doxygen/nel/class_NL3D__CMOT.html755
1 files changed, 755 insertions, 0 deletions
diff --git a/docs/doxygen/nel/class_NL3D__CMOT.html b/docs/doxygen/nel/class_NL3D__CMOT.html
new file mode 100644
index 00000000..ac925736
--- /dev/null
+++ b/docs/doxygen/nel/class_NL3D__CMOT.html
@@ -0,0 +1,755 @@
+<!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.2 on Fri May 4 22:28:50 2001 -->
+<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::CMOT Class Reference</h1>A composant server, and a traversal container.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="mot_h-source.html">mot.h</a>&gt;</code>
+<p>
+Inheritance diagram for NL3D::CMOT<p><center><img src="class_NL3D__CMOT_inherit_graph.gif" border="0" usemap="#NL3D::CMOT_inherit_map" alt="Inheritance graph"></center>
+<map name="NL3D::CMOT_inherit_map">
+<area href="class_NL3D__CScene.html" shape="rect" coords="0,67,96,86">
+</map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for NL3D::CMOT:<p><center><img src="class_NL3D__CMOT_coll_graph.gif" border="0" usemap="#NL3D::CMOT_coll_map" alt="Collaboration graph"></center>
+<map name="NL3D::CMOT_coll_map">
+<area href="class_NL3D__CMOT__CTravEntry.html" shape="rect" coords="0,369,163,388">
+<area href="class_NL3D__ITrav.html" shape="rect" coords="349,181,432,200">
+<area href="class_NL3D__IObs.html" shape="rect" coords="711,264,791,283">
+<area href="class_NLMISC__CRefCount.html" shape="rect" coords="477,99,608,117">
+<area href="class_NL3D__IModel.html" shape="rect" coords="528,369,621,388">
+<area href="class_NLMISC__CRefCount__CPtrInfo.html" shape="rect" coords="373,0,560,19">
+<area href="class_NLMISC__CRefPtr.html" shape="rect" coords="291,99,453,117">
+<area href="class_NLMISC__CClassId.html" shape="rect" coords="255,264,375,283">
+<area href="class_NL3D__CMOT__CObsEntry.html" shape="rect" coords="187,369,347,388">
+<area href="class_NL3D__CMOT__CModelEntry.html" shape="rect" coords="353,459,527,477">
+<area href="class_NLMISC__CBitSet.html" shape="rect" coords="575,264,687,283">
+</map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_NL3D__CMOT-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="class_NL3D__CMOT.html#a0">CMOT</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#a1">~CMOT</a> ()</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#a7">release</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>release all the models and all the traversals created/registred.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Traversals Registration .</div></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#a2">addTrav</a> (<a class="el" href="class_NL3D__ITrav.html">ITrav</a> *v)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Register a traversal and add it to the scene.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__ITrav.html">ITrav</a>*&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#a3">getTrav</a> (const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp;idTrav) const</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Get a traversal via its class id.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Model mgt.</div></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__IModel.html">IModel</a>*&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#a4">createModel</a> (const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp;idModel)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Create a model according to his type id.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#a5">deleteModel</a> (<a class="el" href="class_NL3D__IModel.html">IModel</a> *model)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Delete a model via his pointer.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#a6">validateModels</a> ()</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Validate all models and observers.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Models / Observers registration.</div></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#d0">registerModel</a> (const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp;idModel, const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp;idModelBase, <a class="el" href="class_NL3D__IModel.html">IModel</a>* (*creator)())</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Register a model, indicating from which he derive.</em> <a href="#d0">More...</a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#d1">registerObs</a> (const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp;idTrav, const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp;idModel, <a class="el" href="class_NL3D__IObs.html">IObs</a>* (*creator)())</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Register an observer, for a given traversal and a given model.</em> <a href="#d1">More...</a><em></em></font><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__IObs.html">IObs</a>*&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#b0">getModelObs</a> (<a class="el" href="class_NL3D__IModel.html">IModel</a> *m, const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp;idTrav) const</td></tr>
+<tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="class_NL3D__IObs.html">IObs</a>*&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#c0">createObs</a> (const <a class="el" href="class_NL3D__ITrav.html">ITrav</a> *trav, const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp;idModel) const</td></tr>
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="class_NL3D__CMOT__CTravEntry.html">CTravEntry</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#o0">Traversals</a></td></tr>
+<tr><td nowrap align=right valign=top>std::set&lt;<a class="el" href="class_NL3D__IModel.html">IModel</a>*&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#o1">Models</a></td></tr>
+<tr><td colspan=2><br><h2>Static Private Attributes</h2></td></tr>
+<tr><td nowrap align=right valign=top>std::set&lt;<a class="el" href="class_NL3D__CMOT__CModelEntry.html">CModelEntry</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#r0">RegModels</a></td></tr>
+<tr><td nowrap align=right valign=top>std::set&lt;<a class="el" href="class_NL3D__CMOT__CObsEntry.html">CObsEntry</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_NL3D__CMOT.html#r1">RegObservers</a></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A composant server, and a traversal container.
+<p>
+Register models and observers globally to the program with static <a class="el" href="class_NL3D__CMOT.html#d0">registerModel</a>() and <a class="el" href="class_NL3D__CMOT.html#d1">registerObs</a>(). This should be done at the begining of the program.
+<p>
+Before using a <a class="el" href="class_NL3D__CMOT.html">CMOT</a> object, Add any traversals you want to support to your scene via <a class="el" href="class_NL3D__CMOT.html#a2">addTrav</a>().
+<p>
+Then, you can create any model for this scene with <a class="el" href="class_NL3D__CMOT.html#a4">createModel</a>(). The model will be valid for this scene only, since it has only the observers of scene's traversals. <dl compact><dt>
+<b>See also: </b><dd>
+ <a class="el" href="class_NL3D__IModel.html">IModel</a> <a class="el" href="class_NL3D__IObs.html">IObs</a> <a class="el" href="class_NL3D__ITrav.html">ITrav</a> </dl><dl compact><dt>
+<b>Author(s): </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_h-source.html#l00159">159</a> of file <a class="el" href="mot_h-source.html">mot.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="NL3D::CMOT::CMOT"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+NL3D::CMOT::CMOT (
+ </b></td>
+ <td valign="bottom"><b>
+)
+ </b></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_cpp-source.html#l00092">92</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="NL3D::CMOT::~CMOT"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+NL3D::CMOT::~CMOT (
+ </b></td>
+ <td valign="bottom"><b>
+)
+ </b></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_cpp-source.html#l00096">96</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="a2" doxytag="NL3D::CMOT::addTrav"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+void NL3D::CMOT::addTrav (
+ </b></td>
+ <td valign="bottom"><b>
+<a class="el" href="class_NL3D__ITrav.html">ITrav</a> * <em>v</em>&nbsp;)
+ </b></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Register a traversal and add it to the scene.
+<p>
+This is done by CSene object, and not globally. Hence, we can have different scene, which doesn't support the same traversals. Undefined result are excepted if you put two or more traversals of the same type in a scene. <dl compact><dt>
+<b>Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>v</em>
+&nbsp;</td><td>
+ the traversal to be added. <a class="el" href="class_NL3D__CMOT.html">CMOT</a> will never delete it (so the user should do). v-&gt;getId() must be the Unique ID of this traversal class. </td></tr>
+</table>
+</dl>
+<p>
+Reimplemented in <a class="el" href="class_NL3D__CScene.html#a6">NL3D::CScene</a>.
+<p>
+Definition at line <a class="el" href="mot_cpp-source.html#l00102">102</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="a4" doxytag="NL3D::CMOT::createModel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+<a class="el" href="class_NL3D__IModel.html">IModel</a> * NL3D::CMOT::createModel (
+ </b></td>
+ <td valign="bottom"><b>
+const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp; <em>idModel</em>&nbsp;)
+ </b></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Create a model according to his type id.
+<p>
+Model must has been previously registered via <a class="el" href="class_NL3D__CMOT.html#d0">registerModel</a>(). This function create all necessary observers, according to the traversals registered with <a class="el" href="class_NL3D__CMOT.html#a2">addTrav</a>(), and <a class="el" href="class_NL3D__CMOT.html#d1">registerObs</a>(). If a model has no osberver specified for a given traversal Trav, then the father's one will be created. If no ancestor has defined an observer for this traversal, then Trav-&gt;createDefaultObs() is taken.
+<p>
+Then, this function attach those observers to the model.
+<p>
+Then, This function attach this model to the Root of all traversals (if not NULL).
+<p>
+Model are deleted with the <a class="el" href="class_NL3D__CMOT.html#a5">CMOT::deleteModel</a>() or with <a class="el" href="class_NL3D__CMOT.html#a7">CMOT::release</a>() which delete all models ans traversals. NB: Since <a class="el" href="class_NL3D__CMOT.html">CMOT</a> own the model, model MUST NOT be used with SmartPtrs (but CRefPtr always work...). <dl compact><dt>
+<b>Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>idModel</em>
+&nbsp;</td><td>
+ the Unique Id of the Model </td></tr>
+</table>
+</dl><dl compact><dt>
+<b>Returns: </b><dd>
+ a valid model of the required type. NULL, if not found. </dl><dl compact><dt>
+<b>See also: </b><dd>
+ <a class="el" href="class_NL3D__CMOT.html#a5">deleteModel</a>() </dl>
+<p>
+Definition at line <a class="el" href="mot_cpp-source.html#l00145">145</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="c0" doxytag="NL3D::CMOT::createObs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+<a class="el" href="class_NL3D__IObs.html">IObs</a> * NL3D::CMOT::createObs (
+ </b></td>
+ <td valign="bottom"><b>
+const <a class="el" href="class_NL3D__ITrav.html">ITrav</a> * <em>trav</em>,
+ </b></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><b>
+const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp; <em>idModel</em>&nbsp;) const<code> [private]</code>
+ </b></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_cpp-source.html#l00227">227</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="a5" doxytag="NL3D::CMOT::deleteModel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+void NL3D::CMOT::deleteModel (
+ </b></td>
+ <td valign="bottom"><b>
+<a class="el" href="class_NL3D__IModel.html">IModel</a> * <em>model</em>&nbsp;)
+ </b></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Delete a model via his pointer.
+<p>
+The model is automatically unlinked from all other model in all traversals, and his observers are automatically destroyed.
+<p>
+Once a model is deleted, all pointer to him should have been deleted.
+<p>
+Definition at line <a class="el" href="mot_cpp-source.html#l00195">195</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="b0" doxytag="NL3D::CMOT::getModelObs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+<a class="el" href="class_NL3D__IObs.html">IObs</a> * NL3D::CMOT::getModelObs (
+ </b></td>
+ <td valign="bottom"><b>
+<a class="el" href="class_NL3D__IModel.html">IModel</a> * <em>m</em>,
+ </b></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><b>
+const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp; <em>idTrav</em>&nbsp;) const<code> [protected]</code>
+ </b></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_cpp-source.html#l00266">266</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="NL3D::CMOT::getTrav"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+<a class="el" href="class_NL3D__ITrav.html">ITrav</a> * NL3D::CMOT::getTrav (
+ </b></td>
+ <td valign="bottom"><b>
+const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp; <em>idTrav</em>&nbsp;) const
+ </b></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a traversal via its class id.
+<p>
+<dl compact><dt>
+<b>Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>idTrav</em>
+&nbsp;</td><td>
+ the Trav Unique Id. </td></tr>
+</table>
+</dl><dl compact><dt>
+<b>Returns: </b><dd>
+ the traversal. NULL, if not found. </dl>
+<p>
+Definition at line <a class="el" href="mot_cpp-source.html#l00115">115</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="d0" doxytag="NL3D::CMOT::registerModel"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+void NL3D::CMOT::registerModel (
+ </b></td>
+ <td valign="bottom"><b>
+const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp; <em>idModel</em>,
+ </b></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><b>
+const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp; <em>idModelBase</em>,
+ </b></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><b>
+<a class="el" href="class_NL3D__IModel.html">IModel</a> *(* <em>creator</em>)()&nbsp;)<code> [static]</code>
+ </b></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Register a model, indicating from which he derive.
+<p>
+By default, model's observer are those of his father (idModelBase). <dl compact><dt>
+<b>Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>idModel</em>
+&nbsp;</td><td>
+ the Unique Id of the registered model </td></tr>
+<tr><td valign=top><em>idModelBase</em>
+&nbsp;</td><td>
+ the Unique Id of the base calss of the registered model </td></tr>
+<tr><td valign=top><em>creator</em>
+&nbsp;</td><td>
+ the function which create the registered model. </td></tr>
+</table>
+</dl>
+<p>
+Definition at line <a class="el" href="mot_cpp-source.html#l00051">51</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="d1" doxytag="NL3D::CMOT::registerObs"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+void NL3D::CMOT::registerObs (
+ </b></td>
+ <td valign="bottom"><b>
+const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp; <em>idTrav</em>,
+ </b></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><b>
+const <a class="el" href="class_NLMISC__CClassId.html">NLMISC::CClassId</a> &amp; <em>idModel</em>,
+ </b></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><b>
+<a class="el" href="class_NL3D__IObs.html">IObs</a> *(* <em>creator</em>)()&nbsp;)<code> [static]</code>
+ </b></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Register an observer, for a given traversal and a given model.
+<p>
+If an observer was previously specified for the couple Trav/Model, he is replaced. <dl compact><dt>
+<b>Parameters: </b><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em>idTrav</em>
+&nbsp;</td><td>
+ the Unique Id of the observer's traversal </td></tr>
+<tr><td valign=top><em>idModel</em>
+&nbsp;</td><td>
+ the Unique Id of the observer's model </td></tr>
+<tr><td valign=top><em>creator</em>
+&nbsp;</td><td>
+ the function which create the registered observer. </td></tr>
+</table>
+</dl>
+<p>
+Definition at line <a class="el" href="mot_cpp-source.html#l00067">67</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="NL3D::CMOT::release"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+void NL3D::CMOT::release (
+ </b></td>
+ <td valign="bottom"><b>
+void&nbsp;)
+ </b></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+release all the models and all the traversals created/registred.
+<p>
+Remind that Models are deleted, but not Traversals, since <a class="el" href="class_NL3D__CMOT.html">CMOT</a> do not own traversals.
+<p>
+Reimplemented in <a class="el" href="class_NL3D__CScene.html#a7">NL3D::CScene</a>.
+<p>
+Definition at line <a class="el" href="mot_cpp-source.html#l00128">128</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="NL3D::CMOT::validateModels"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+void NL3D::CMOT::validateModels (
+ </b></td>
+ <td valign="bottom"><b>
+)
+ </b></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Validate all models and observers.
+<p>
+All dirty models are cleaned, and so their observers. This should be called, before any <a class="el" href="class_NL3D__ITrav.html">ITrav</a> traversal.
+<p>
+Definition at line <a class="el" href="mot_cpp-source.html#l00209">209</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="o1" doxytag="NL3D::CMOT::Models"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+std::set&lt; <a class="el" href="class_NL3D__IModel.html">IModel</a> *&gt; NL3D::CMOT::Models<code> [private]</code>
+ </b></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_h-source.html#l00289">289</a> of file <a class="el" href="mot_h-source.html">mot.h</a>. </td>
+ </tr>
+</table>
+<a name="r0" doxytag="NL3D::CMOT::RegModels"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+set&lt; <a class="el" href="class_NL3D__CMOT__CModelEntry.html">CMOT::CModelEntry</a> &gt; NL3D::CMOT::RegModels<code> [static, private]</code>
+ </b></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_cpp-source.html#l00047">47</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="r1" doxytag="NL3D::CMOT::RegObservers"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+set&lt; <a class="el" href="class_NL3D__CMOT__CObsEntry.html">CMOT::CObsEntry</a> &gt; NL3D::CMOT::RegObservers<code> [static, private]</code>
+ </b></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_cpp-source.html#l00048">48</a> of file <a class="el" href="mot_cpp-source.html">mot.cpp</a>. </td>
+ </tr>
+</table>
+<a name="o0" doxytag="NL3D::CMOT::Traversals"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td nowrap valign="top"><b>
+std::vector&lt; <a class="el" href="class_NL3D__CMOT__CTravEntry.html">CTravEntry</a> &gt; NL3D::CMOT::Traversals<code> [private]</code>
+ </b></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_h-source.html#l00288">288</a> of file <a class="el" href="mot_h-source.html">mot.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="mot_h-source.html">mot.h</a><li><a class="el" href="mot_cpp-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>