<!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="/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="/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> <TD WIDTH=16><IMG SRC="/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> <TD><IMG width=6 height=14 SRC="/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF='/'><b>Home</B></FONT></A> </TD> <TD><IMG width=6 height=14 SRC="/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF='/'><b>nevrax.com</B></FONT></A> </TD> </TR> </TABLE> <!-- banner Nevrax --> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="#000000" BACKGROUND="/inc/img/black_banner.jpg"><A HREF=""><IMG SRC="/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="/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="/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="/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="/news/" TITLE="News">News</a></td></tr> <tr><td ALIGN=middle><a class='linkbox' href="/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> <tr><td ALIGN=middle><a class='linkbox' href="/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="/docs/" TITLE="Documentation">Documentation</a></td></tr> <tr><td ALIGN=middle><a class='linkbox' href="/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="/cvs/" TITLE="CVS Web">CVS</a></td></tr> <tr><td ALIGN=middle><a class='linkbox' href="/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> <tr><td ALIGN=middle><a class='linkbox' href="/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="/GPL.php3" TITLE="License">License</a></td></tr> </TABLE> </TD></TR></TABLE></TD></TR></TABLE> <!------ End Box ------> </TD> <TD WIDTH=15><IMG SRC="/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> <TD ALIGN=left valign=top><IMG SRC="/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> <!-- title --> <TABLE background="/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> <A HREF="/docs/"><img src="/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> </td><td><IMG SRC="/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> </td></tr></table> <!-- block --> <TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="/inc/img/reddots.gif"></TD> <TD><B>Documentation</B></TD> <TD ALIGN=RIGHT> </td> </tr></table> <!-- Generated by Doxygen 1.2.14 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:/cgi-bin/nel-search.cgi" href="/cgi-bin/nel-search.cgi">Search</a> </center> <hr><h1>ai.cpp</h1><a href="ai_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="preprocessor">#include "<a class="code" href="nl__ai_8h.html">nel/ai/nl_ai.h</a>"</font> 00002 <font class="preprocessor">#include "<a class="code" href="static__init_8h.html">nel/ai/static_init.h</a>"</font> 00003 <font class="preprocessor">#include "<a class="code" href="compilateur_8h.html">nel/ai/script/compilateur.h</a>"</font> 00004 <font class="preprocessor">#include "<a class="code" href="agent_8h.html">nel/ai/agent/agent.h</a>"</font> 00005 <font class="preprocessor">#include "<a class="code" href="agent__digital_8h.html">nel/ai/agent/agent_digital.h</a>"</font> 00006 <font class="preprocessor">#include "<a class="code" href="msg__group_8h.html">nel/ai/agent/msg_group.h</a>"</font> 00007 <font class="preprocessor">#include "<a class="code" href="libcode_8h.html">nel/ai/script/libcode.h</a>"</font> 00008 <font class="preprocessor">#include "<a class="code" href="registry__class_8h.html">nel/ai/c/registry_class.h</a>"</font> 00009 <font class="preprocessor">#include "<a class="code" href="main__agent__script_8h.html">nel/ai/agent/main_agent_script.h</a>"</font> 00010 <font class="preprocessor">#include "<a class="code" href="agent__proxy__mailer_8h.html">nel/ai/agent/agent_proxy_mailer.h</a>"</font> 00011 <font class="preprocessor">#include "<a class="code" href="test__method_8h.html">nel/ai/script/test_method.h</a>"</font> 00012 <font class="preprocessor">#include "<a class="code" href="character_8h.html">nel/ai/character/character.h</a>"</font> 00013 <font class="preprocessor">#include "<a class="code" href="fsm__script_8h.html">nel/ai/logic/fsm_script.h</a>"</font> 00014 <font class="preprocessor">#include "<a class="code" href="agent__timer_8h.html">nel/ai/agent/agent_timer.h</a>"</font> 00015 <font class="preprocessor">#include "<a class="code" href="volatil__memory_8h.html">nel/ai/agent/volatil_memory.h</a>"</font> 00016 <font class="preprocessor">#include "<a class="code" href="operation_8h.html">nel/ai/agent/operation.h</a>"</font> 00017 00018 00019 <font class="keyword">using</font> <font class="keyword">namespace </font>NLAIAGENT; 00020 00021 <font class="keyword">namespace </font>NLAILINK 00022 { 00023 <font class="comment">//using namespace NLAIAGENT;</font> 00024 <font class="keywordtype">void</font> <a class="code" href="namespaceNLAILINK.html#a1">initIALib</a>() 00025 { 00026 <a class="code" href="agent__init_8cpp.html#a0">staticInitAgent</a>(); 00027 <a class="code" href="agent__init_8cpp.html#a1">registerLibClass</a>(); 00028 <a class="code" href="namespaceNLAIC.html#a18">NLAIC::initRegistry</a>(); 00029 <a class="code" href="namespaceNLAISCRIPT.html#a29">NLAISCRIPT::initExternalLib</a>(); 00030 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#d0">NLAIAGENT::CAgentScript::initAgentScript</a>(); 00031 <a class="code" href="classNLAIAGENT_1_1CActorScript.html#d0">NLAIAGENT::CActorScript::initClass</a>(); 00032 <a class="code" href="classNLAIAGENT_1_1CProxyAgentMail.html#d0">NLAIAGENT::CProxyAgentMail::initClass</a>(); 00033 <a class="code" href="classNLAISCRIPT_1_1CLibTest.html#d0">NLAISCRIPT::CLibTest::initClass</a>(); 00034 00035 <a class="code" href="classNLAICHARACTER_1_1CCharacterNoeud.html#d0">NLAICHARACTER::CCharacterNoeud::initClass</a>(); 00036 <a class="code" href="classNLAICHARACTER_1_1CCharacterChild.html#d0">NLAICHARACTER::CCharacterChild::initClass</a>(); 00037 00038 <a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#d0">NLAIAGENT::CAgentManagerTimer::initClass</a>(); 00039 CLibTimerManager::initClass(); 00040 CAgentWatchTimer::initClass(); 00041 CAgentClockTimer::initClass(); 00042 CVolatilMemmory::initClass(); 00043 CHashTimerManager::initClass(); 00044 CAgentOperation::initClass(); 00045 } 00046 00047 <font class="keywordtype">void</font> <a class="code" href="namespaceNLAILINK.html#a2">releaseIALib</a>() 00048 { 00049 <a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#d1">NLAIAGENT::CAgentManagerTimer::releaseClass</a>(); 00050 CLibTimerManager::releaseClass(); 00051 CAgentClockTimer::releaseClass(); 00052 CAgentWatchTimer::releaseClass(); 00053 00054 <a class="code" href="classNLAIAGENT_1_1CIndexedVarName.html#d3">NLAIAGENT::CIndexedVarName::releaseClass</a>(); 00055 <a class="code" href="namespaceNLAIC.html#a15">NLAIC::releaseRegistry</a>(); 00056 <font class="comment">//NLAIAGENT::CLocWordNumRef::clear();</font> 00057 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#d1">NLAIAGENT::CAgentScript::releaseAgentScript</a>(); 00058 <a class="code" href="classNLAIAGENT_1_1CActorScript.html#d1">NLAIAGENT::CFsmScript::releaseClass</a>(); 00059 00060 <a class="code" href="classNLAIAGENT_1_1CProxyAgentMail.html#d1">NLAIAGENT::CProxyAgentMail::releaseClass</a>(); 00061 <a class="code" href="classNLAISCRIPT_1_1CLibTest.html#d1">NLAISCRIPT::CLibTest::releaseClass</a>(); 00062 <a class="code" href="classNLAICHARACTER_1_1CCharacterNoeud.html#d1">NLAICHARACTER::CCharacterNoeud::releaseClass</a>(); 00063 <a class="code" href="classNLAICHARACTER_1_1CCharacterChild.html#d1">NLAICHARACTER::CCharacterChild::releaseClass</a>(); 00064 CVolatilMemmory::releaseClass(); 00065 CHashTimerManager::releaseClass(); 00066 CAgentOperation::releaseClass(); 00067 00068 <a class="code" href="agent__init_8cpp.html#a2">staticReleaseLibClass</a>(); 00069 } 00070 00071 00072 <font class="keywordtype">void</font> <a class="code" href="namespaceNLAILINK.html#a3">setLocalServerID</a>(uint8 u) 00073 { 00074 <a class="code" href="structNLMISC_1_1CEntityId.html#p0">NLAIAGENT::CAgentNumber::ServerId</a> = u; 00075 <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#p0">NLAIAGENT::CNumericIndex::_I</a>.setCreatorId( u ); 00076 <a class="code" href="classNLAIAGENT_1_1CNumericIndex.html#p0">NLAIAGENT::CNumericIndex::_I</a>.setDynamicId( u ); 00077 } 00078 00079 uint8 <a class="code" href="namespaceNLAILINK.html#a4">getLocalServerID</a>() 00080 { 00081 <font class="keywordflow">return</font> <a class="code" href="structNLMISC_1_1CEntityId.html#p0">NLAIAGENT::CAgentNumber::ServerId</a>; 00082 } 00083 00084 <font class="keywordtype">void</font> <a class="code" href="namespaceNLAILINK.html#a5">setMainManager</a>(<a class="code" href="classNLAIAGENT_1_1IMainAgent.html">NLAIAGENT::IMainAgent</a> *manager) 00085 { 00086 <a class="code" href="classNLAIAGENT_1_1CProxyAgentMail.html#p1">NLAIAGENT::CProxyAgentMail::MainAgent</a> = manager; 00087 <font class="comment">//NLAIAGENT::CProxyAgentMail::MainAgent->incRef();</font> 00088 } 00089 00090 <font class="keywordtype">void</font> <a class="code" href="namespaceNLAILINK.html#a6">releaseMainManager</a>() 00091 { 00092 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CProxyAgentMail.html#p1">NLAIAGENT::CProxyAgentMail::MainAgent</a> != NULL) 00093 { 00094 <a class="code" href="classNLAIAGENT_1_1CProxyAgentMail.html#p1">NLAIAGENT::CProxyAgentMail::MainAgent</a>->release(); 00095 } 00096 } 00097 00098 <font class="keyword">static</font> <font class="keywordtype">char</font> <a class="code" href="namespaceNLAILINK.html#a0">LaseErrorCodeOrdreInterprete</a>[32*1024]; 00099 <a name="l00100"></a><a class="code" href="classNLAILINK_1_1IOTrace.html">00100</a> <font class="keyword">class </font>IOTrace : <font class="keyword">public</font> NLAIC::IIO 00101 { 00102 <font class="keyword">public</font>: 00103 <a name="l00104"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a0">00104</a> <a class="code" href="classNLAILINK_1_1IOTrace.html#a0">IOTrace</a>() 00105 { 00106 00107 } 00108 <a name="l00109"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a1">00109</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAILINK_1_1IOTrace.html#a1">Echo</a>(<font class="keywordtype">char</font> *str, ...)<font class="keyword"> const </font> 00110 <font class="keyword"> </font>{ 00111 <font class="keywordtype">char</font> temp[32*1024]; 00112 va_list argument; 00113 va_start (argument, str); 00114 00115 vsprintf(temp, str, argument); 00116 strcpy(<a class="code" href="namespaceNLAILINK.html#a0">LaseErrorCodeOrdreInterprete</a>,temp); 00117 <a class="code" href="namespaceNLAIC.html#a6">NLAIC::Out</a>(<font class="stringliteral">"%s"</font>,<a class="code" href="namespaceNLAILINK.html#a0">LaseErrorCodeOrdreInterprete</a>); 00118 00119 } <a name="l00120"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a2">00120</a> <font class="keyword">virtual</font> <font class="keyword">const</font> std::string <a class="code" href="classNLAILINK_1_1IOTrace.html#a2">InPut</a>()<font class="keyword"> const</font> 00121 <font class="keyword"> </font>{ 00122 <font class="keywordflow">return</font> std::string(); 00123 } <a name="l00124"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a3">00124</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAILINK_1_1IOTrace.html#a3">save</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &os) 00125 { 00126 } <a name="l00127"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a4">00127</a> <font class="keywordtype">void</font> <a class="code" href="classNLAILINK_1_1IOTrace.html#a4">getDebugString</a>(std::string &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>)<font class="keyword"> const</font> 00128 <font class="keyword"> </font>{ 00129 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <font class="stringliteral">"this is a IOConsolInterface"</font>; 00130 } 00131 <a name="l00132"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a5">00132</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *<a class="code" href="classNLAILINK_1_1IOTrace.html#a5">clone</a>()<font class="keyword"> const</font> 00133 <font class="keyword"> </font>{ 00134 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *m = <font class="keyword">new</font> <a class="code" href="classNLAILINK_1_1IOTrace.html#a0">IOTrace</a>(); 00135 m-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); 00136 <font class="keywordflow">return</font> m; 00137 } 00138 <a name="l00139"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a6">00139</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *<a class="code" href="classNLAILINK_1_1IOTrace.html#a6">newInstance</a>()<font class="keyword"> const</font> 00140 <font class="keyword"> </font>{ 00141 <font class="keywordflow">return</font> <a class="code" href="classNLAILINK_1_1IOTrace.html#a5">clone</a>(); 00142 } 00143 <a name="l00144"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a7">00144</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAILINK_1_1IOTrace.html#a7">load</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) 00145 { 00146 } 00147 <a name="l00148"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a8">00148</a> <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &<a class="code" href="classNLAILINK_1_1IOTrace.html#a8">getType</a>()<font class="keyword"> const</font> 00149 <font class="keyword"> </font>{ 00150 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>(<font class="stringliteral">"IDIOTEMP"</font>, <a class="code" href="classNLAIC_1_1CSelfClassFactory.html">NLAIC::CSelfClassFactory</a>(*<font class="keyword">this</font>), 00151 <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a>(<a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s6">NLAIC::CTypeOfObject::tObject</a>),<a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a>(0)); 00152 <font class="keywordflow">return</font> id; 00153 } 00154 00155 <a name="l00156"></a><a class="code" href="classNLAILINK_1_1IOTrace.html#a9">00156</a> <font class="keyword">virtual</font> <a class="code" href="classNLAILINK_1_1IOTrace.html#a9">~IOTrace</a>() 00157 { 00158 } 00159 }; 00160 00161 <font class="keywordtype">void</font> <a class="code" href="namespaceNLAILINK.html#a7">buildScript</a>(<font class="keyword">const</font> std::string &scriptSrc, <font class="keyword">const</font> std::string &name) 00162 { 00163 <a class="code" href="classNLAISCRIPT_1_1IScriptDebugSource.html">NLAISCRIPT::IScriptDebugSource</a> *sourceCode = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CScriptDebugSourceFile.html">NLAISCRIPT::CScriptDebugSourceFile</a>(name.c_str()); 00164 IOTrace Interface; 00165 <a class="code" href="classNLAISCRIPT_1_1CCompilateur.html">NLAISCRIPT::CCompilateur</a> *comp = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CCompilateur.html">NLAISCRIPT::CCompilateur</a>(Interface, scriptSrc.c_str(), scriptSrc.size(), sourceCode); 00166 <a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html">NLAIAGENT::IObjectIA::CProcessResult</a> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = comp-><a class="code" href="classNLAISCRIPT_1_1CCompilateur.html#a11">Compile</a>(); 00167 <font class="preprocessor">#ifdef NL_DEBUG</font> 00168 <font class="preprocessor"></font> <font class="keywordflow">if</font> ( r.<a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html#m0">ResultState</a> == NLAIAGENT::processError ) 00169 <font class="keywordflow">throw</font>; 00170 <font class="preprocessor">#endif</font> 00171 <font class="preprocessor"></font> sourceCode-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a3">release</a>(); 00172 <font class="keyword">delete</font> comp; 00173 } 00174 } </pre></div> <!-- footer --> <BR><FONT Size=+5> </FONT> </TD> <TD WIDTH=15><IMG SRC=/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> </TR> </TABLE> </BODY> </HTML>