diff options
Diffstat (limited to 'docs/doxygen/nel/group__type_8cpp-source.html')
-rw-r--r-- | docs/doxygen/nel/group__type_8cpp-source.html | 1201 |
1 files changed, 1201 insertions, 0 deletions
diff --git a/docs/doxygen/nel/group__type_8cpp-source.html b/docs/doxygen/nel/group__type_8cpp-source.html new file mode 100644 index 00000000..a78893b9 --- /dev/null +++ b/docs/doxygen/nel/group__type_8cpp-source.html @@ -0,0 +1,1201 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : docs</TITLE> + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> + <link href="doxygen.css" rel="stylesheet" type="text/css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Documentation</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> </center> +<hr><h1>group_type.cpp</h1><a href="group__type_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00006 <font class="comment">/* Copyright, 2000 Nevrax Ltd.</font> +00007 <font class="comment"> *</font> +00008 <font class="comment"> * This file is part of NEVRAX NEL.</font> +00009 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font> +00010 <font class="comment"> * it under the terms of the GNU General Public License as published by</font> +00011 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font> +00012 <font class="comment"> * any later version.</font> +00013 <font class="comment"></font> +00014 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font> +00015 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font> +00016 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font> +00017 <font class="comment"> * General Public License for more details.</font> +00018 <font class="comment"></font> +00019 <font class="comment"> * You should have received a copy of the GNU General Public License</font> +00020 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font> +00021 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font> +00022 <font class="comment"> * MA 02111-1307, USA.</font> +00023 <font class="comment"> */</font> +00024 <font class="preprocessor">#include "<a class="code" href="agent_8h.html">nel/ai/agent/agent.h</a>"</font> +00025 <font class="preprocessor">#include "<a class="code" href="agent__object_8h.html">nel/ai/agent/agent_object.h</a>"</font> +00026 <font class="preprocessor">#include "<a class="code" href="agent__digital_8h.html">nel/ai/agent/agent_digital.h</a>"</font> +00027 <font class="preprocessor">#include "<a class="code" href="boolval_8h.html">nel/ai/logic/boolval.h</a>"</font> +00028 <font class="preprocessor">#include "<a class="code" href="object__type_8h.html">nel/ai/agent/object_type.h</a>"</font> +00029 <font class="preprocessor">#include "<a class="code" href="interpret__methodes_8h.html">nel/ai/script/interpret_methodes.h</a>"</font> +00030 <font class="preprocessor">#include "<a class="code" href="agent__method__def_8h.html">nel/ai/agent/agent_method_def.h</a>"</font> +00031 +00032 <font class="keyword">namespace </font>NLAIAGENT +00033 { +00034 <font class="keyword">const</font> <font class="keyword">static</font> sint32 _Const = 0; +00035 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a21">_Push</a> = 1; +00036 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a22">_PushFront</a> = 2; +00037 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a23">_Pop</a> = 3; +00038 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a24">_PopFront</a> = 4; +00039 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a25">_Back</a> = 5; +00040 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a26">_Front</a> = 6; +00041 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a27">_Get</a> = 7; +00042 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a28">_Set</a> = 8; +00043 <font class="keyword">const</font> <font class="keyword">static</font> sint32 <a class="code" href="namespaceNLAIAGENT.html#a29">_Size</a> = 9; +00044 <font class="keyword">const</font> <font class="keyword">static</font> sint32 _LastM = 10; +00045 +<a name="l00046"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#p0">00046</a> IBaseGroupType::CMethodCall IBaseGroupType::_Method[] = +00047 { +00048 IBaseGroupType::CMethodCall(<a class="code" href="agent__method__def_8h.html#a16">_CONSTRUCTOR_</a>,_Const), +00049 IBaseGroupType::CMethodCall(<font class="stringliteral">"Push"</font>,<a class="code" href="namespaceNLAIAGENT.html#a21">_Push</a>), +00050 IBaseGroupType::CMethodCall(<font class="stringliteral">"PushFront"</font>,<a class="code" href="namespaceNLAIAGENT.html#a22">_PushFront</a>), +00051 IBaseGroupType::CMethodCall(<font class="stringliteral">"Pop"</font>,<a class="code" href="namespaceNLAIAGENT.html#a23">_Pop</a>), +00052 IBaseGroupType::CMethodCall(<font class="stringliteral">"PopFront"</font>,<a class="code" href="namespaceNLAIAGENT.html#a24">_PopFront</a>), +00053 IBaseGroupType::CMethodCall(<font class="stringliteral">"Back"</font>,<a class="code" href="namespaceNLAIAGENT.html#a25">_Back</a>), +00054 IBaseGroupType::CMethodCall(<font class="stringliteral">"Front"</font>,<a class="code" href="namespaceNLAIAGENT.html#a26">_Front</a>), +00055 IBaseGroupType::CMethodCall(<font class="stringliteral">"Get"</font>,<a class="code" href="namespaceNLAIAGENT.html#a27">_Get</a>), +00056 IBaseGroupType::CMethodCall(<font class="stringliteral">"Set"</font>,<a class="code" href="namespaceNLAIAGENT.html#a28">_Set</a>), +00057 IBaseGroupType::CMethodCall(<font class="stringliteral">"Size"</font>,<a class="code" href="namespaceNLAIAGENT.html#a29">_Size</a>) +00058 }; +00059 +<a name="l00060"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#a1">00060</a> IBaseGroupType::IBaseGroupType() +00061 { +00062 } +00063 +<a name="l00064"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#a2">00064</a> IBaseGroupType::~IBaseGroupType() +00065 { +00066 } +00067 +<a name="l00068"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z134_2">00068</a> IObjetOp &IBaseGroupType::operator += (<font class="keyword">const</font> IObjetOp &a) +00069 { +00070 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_5">cpy</a>(a); +00071 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00072 } +00073 +<a name="l00074"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z134_3">00074</a> IObjetOp &IBaseGroupType::operator -= (<font class="keyword">const</font> IObjetOp &a) +00075 { +00076 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_15">erase</a>(a); +00077 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00078 } +00079 +<a name="l00080"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z134_0">00080</a> IObjetOp &IBaseGroupType::operator += (IObjetOp *a) +00081 { +00082 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_3">push</a>(a); +00083 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00084 } +00085 +<a name="l00086"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z134_1">00086</a> IObjetOp &IBaseGroupType::operator -= (IObjetOp *a) +00087 { +00088 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_15">erase</a>(a); +00089 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00090 } +00091 +<a name="l00092"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z135_0">00092</a> sint32 IBaseGroupType::getMethodIndexSize()<font class="keyword"> const</font> +00093 <font class="keyword"> </font>{ +00094 <font class="keywordflow">return</font> IObjetOp::getMethodIndexSize() + _LastM; +00095 } +00096 +<a name="l00097"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z135_2">00097</a> <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> IBaseGroupType::isMember(<font class="keyword">const</font> IVarName *className,<font class="keyword">const</font> IVarName *methodName,<font class="keyword">const</font> IObjectIA &p)<font class="keyword"> const</font> +00098 <font class="keyword"> </font>{ +00099 <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> a; +00100 <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> methodParam; +00101 +00102 <font class="keywordflow">if</font>(className == NULL) +00103 { +00104 <font class="keywordflow">for</font>(<font class="keywordtype">int</font> i = 0; i < _LastM; i++) +00105 { +00106 +00107 <font class="preprocessor">#ifdef NL_DEBUG</font> +00108 <font class="preprocessor"></font> std::string <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>; +00109 methodName->getDebugString(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>); +00110 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> == <font class="stringliteral">"Get"</font>) +00111 { +00112 <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>; +00113 } +00114 <font class="preprocessor">#endif</font> +00115 <font class="preprocessor"></font> <font class="keywordflow">if</font>(*methodName == IBaseGroupType::_Method[i].MethodName) +00116 { +00117 <font class="keywordflow">switch</font>(<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#p0">_Method</a>[i].<a class="code" href="structNLAIAGENT_1_1IBaseGroupType_1_1CMethodCall.html#m1">Index</a>) +00118 { +00119 <font class="keywordflow">case</font> _Const: +00120 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a21">_Push</a>: +00121 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a22">_PushFront</a>: +00122 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a28">_Set</a>: +00123 { +00124 CObjectType *c = <font class="keyword">new</font> CObjectType(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIC_1_1CIdentType.html#p0">NLAIC::CIdentType::VoidType</a>)); +00125 a.push(CIdMethod(IBaseGroupType::_Method[i].Index + IObjetOp::getMethodIndexSize(),0.0,NULL,c)); +00126 } +00127 <font class="keywordflow">return</font> a; +00128 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a29">_Size</a>: +00129 { +00130 CObjectType *c = <font class="keyword">new</font> CObjectType(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(DigitalType::IdDigitalType)); +00131 a.push(CIdMethod(IBaseGroupType::_Method[i].Index + IObjetOp::getMethodIndexSize(),0.0,NULL,c)); +00132 } +00133 <font class="keywordflow">return</font> a; +00134 <font class="keywordflow">default</font>: +00135 { +00136 CObjectType *c = <font class="keyword">new</font> CObjectType(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(*IAgent::IdAgent)); +00137 a.push(CIdMethod(IBaseGroupType::_Method[i].Index + IObjetOp::getMethodIndexSize(),0.0,NULL,c)); +00138 } +00139 <font class="keywordflow">return</font> a; +00140 } +00141 } +00142 } +00143 } +00144 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1IObjetOp.html#z137_0">IObjetOp::isMember</a>(className,methodName,p); +00145 } +00146 +<a name="l00147"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z135_3">00147</a> IObjectIA::CProcessResult IBaseGroupType::runMethodeMember(sint32, sint32, IObjectIA *) +00148 { +00149 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +00150 } +<a name="l00151"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z135_4">00151</a> IObjectIA::CProcessResult IBaseGroupType::runMethodeMember(sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,IObjectIA *p) +00152 { +00153 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#a0">IBaseGroupType</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#a0">IBaseGroupType</a> *)p; +00154 +00155 <font class="keywordflow">switch</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> - IObjetOp::getMethodIndexSize()) +00156 { +00157 <font class="keywordflow">case</font> _Const: +00158 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +00159 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a21">_Push</a>: +00160 { +00161 CIteratorContener i = <a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>->getIterator(); +00162 <font class="keywordflow">while</font>(!i.isInEnd()) +00163 { +00164 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)i++; +00165 a->incRef(); +00166 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_3">push</a>(a); +00167 } +00168 } +00169 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +00170 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a22">_PushFront</a>: +00171 { +00172 CIteratorContener i = <a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>->getIterator(); +00173 <font class="keywordflow">while</font>(!i.isInEnd()) +00174 { +00175 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)i++; +00176 a->incRef(); +00177 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_4">pushFront</a>(a); +00178 } +00179 } +00180 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +00181 +00182 +00183 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a23">_Pop</a>: +00184 { +00185 IObjectIA::CProcessResult c; +00186 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_8">pop</a>(); +00187 c.Result = a; +00188 c.ResultState = IObjectIA::ProcessIdle; +00189 <font class="keywordflow">return</font> c; +00190 } +00191 +00192 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a24">_PopFront</a>: +00193 { +00194 IObjectIA::CProcessResult c; +00195 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_9">popFront</a>(); +00196 c.Result = a; +00197 c.ResultState = IObjectIA::ProcessIdle; +00198 <font class="keywordflow">return</font> c; +00199 } +00200 +00201 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a25">_Back</a>: +00202 { +00203 IObjectIA::CProcessResult c; +00204 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_10">get</a>(); +00205 a->incRef(); +00206 c.Result = a; +00207 c.ResultState = IObjectIA::ProcessIdle; +00208 <font class="keywordflow">return</font> c; +00209 } +00210 +00211 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a26">_Front</a>: +00212 { +00213 IObjectIA::CProcessResult c; +00214 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_11">getFront</a>(); +00215 a->incRef(); +00216 c.Result = a; +00217 c.ResultState = IObjectIA::ProcessIdle; +00218 <font class="keywordflow">return</font> c; +00219 } +00220 +00221 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a27">_Get</a>: +00222 { +00223 IObjectIA::CProcessResult c; +00224 <font class="keyword">const</font> INombreDefine *f = (<font class="keyword">const</font> INombreDefine *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>->get(); +00225 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*this)[(sint32)f->getNumber()]; +00226 a->incRef(); +00227 c.Result = a; +00228 c.ResultState = IObjectIA::ProcessIdle; +00229 <font class="keywordflow">return</font> c; +00230 } +00231 +00232 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a28">_Set</a>: +00233 { +00234 CIteratorContener i = <a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>->getIterator(); +00235 <font class="keyword">const</font> DigitalType *f = (<font class="keyword">const</font> DigitalType *)i ++; +00236 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *n = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)i++; +00237 +00238 +00239 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_2">set</a>((sint32)f->getValue(),n); +00240 n->incRef(); +00241 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +00242 } +00243 <font class="keywordflow">case</font> <a class="code" href="namespaceNLAIAGENT.html#a29">_Size</a>: +00244 { +00245 DigitalType *f = <font class="keyword">new</font> DigitalType((<font class="keywordtype">float</font>)<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_12">size</a>()); +00246 IObjectIA::CProcessResult c; +00247 c.Result = f; +00248 c.ResultState = IObjectIA::ProcessIdle; +00249 <font class="keywordflow">return</font> c; +00250 } +00251 } +00252 +00253 <font class="keywordflow">return</font> IObjectIA::runMethodeMember(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,p); +00254 } +00255 +<a name="l00256"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z135_1">00256</a> sint32 IBaseGroupType::isClassInheritedFrom(<font class="keyword">const</font> IVarName &)<font class="keyword"> const</font> +00257 <font class="keyword"> </font>{ +00258 <font class="keywordflow">return</font> -1; +00259 } +00260 +<a name="l00261"></a><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z134_5">00261</a> <font class="keywordtype">bool</font> IBaseGroupType::isTrue()<font class="keyword"> const</font> +00262 <font class="keyword"> </font>{ +00263 <font class="keywordflow">return</font> IObjetOp::isTrue(); +00264 } +00265 +00268 +<a name="l00269"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a7">00269</a> IObjetOp *<a class="code" href="ucstring_8h.html#a6">CGroupType::operator + </a>(IObjetOp *a) +00270 { +00271 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a> *o = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a>(); +00272 tListType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00273 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00274 { +00275 o->_List.push_back(*i); +00276 ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a>*)(*i))->incRef(); +00277 i ++; +00278 } +00279 +00280 *o += a; +00281 a->incRef(); +00282 <font class="keywordflow">return</font> o; +00283 } +<a name="l00284"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a8">00284</a> IObjetOp *CGroupType::operator - (IObjetOp *a) +00285 { +00286 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a> *o = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a>(); +00287 tListType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00288 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00289 { +00290 o->_List.push_back(*i); +00291 ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a>*)(*i))->incRef(); +00292 i ++; +00293 } +00294 +00295 *o -= a; +00296 a->release(); +00297 <font class="keywordflow">return</font> o; +00298 } +00299 +<a name="l00300"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a5">00300</a> IObjetOp *<a class="code" href="ucstring_8h.html#a6">CGroupType::operator + </a>(<font class="keyword">const</font> IObjetOp &a) +00301 { +00302 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a> *o = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a>(); +00303 tListType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00304 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00305 { +00306 o->_List.push_back(*i); +00307 ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a>*)(*i))->incRef(); +00308 i ++; +00309 } +00310 +00311 *o += a; +00312 <font class="keywordflow">return</font> o; +00313 } +<a name="l00314"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a6">00314</a> IObjetOp *CGroupType::operator - (<font class="keyword">const</font> IObjetOp &a) +00315 { +00316 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a> *o = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a>(); +00317 tListType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00318 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00319 { +00320 o->_List.push_back(*i); +00321 ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a>*)(*i))->incRef(); +00322 i ++; +00323 } +00324 +00325 *o -= a; +00326 <font class="keywordflow">return</font> o; +00327 } +00328 +00329 +00330 IObjetOp *CGroupType::operator ! ()<font class="keyword"> const</font> +00331 <font class="keyword"> </font>{ +00332 <a class="code" href="classNLAILOGIC_1_1CBoolType.html">NLAILOGIC::CBoolType</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAILOGIC_1_1CBoolType.html">NLAILOGIC::CBoolType</a>(!<a class="code" href="classNLAIAGENT_1_1CGroupType.html#a21">size</a>()); +00333 <font class="keywordflow">return</font> x; +00334 } +00335 +<a name="l00336"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a4">00336</a> IObjectIA &CGroupType::operator = (<font class="keyword">const</font> IObjectIA &a) +00337 { +00338 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a39">clear</a>(); +00339 <font class="keywordflow">if</font>((uint)(((<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &)a.getType()) & <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s3">NLAIC::CTypeOfObject::tList</a>)) +00340 { +00341 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a> &g= (<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a> &)a; +00342 tListType::const_iterator i = g._List.begin(); +00343 <font class="keywordflow">while</font>(i != g._List.end()) +00344 { +00345 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.push_back((<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*i++)-><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a33">clone</a>()); +00346 } +00347 } +00348 <font class="keywordflow">else</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.push_back((<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)a.clone()); +00349 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00350 } +00351 +<a name="l00352"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a9">00352</a> <font class="keyword">const</font> IObjectIA *CGroupType::operator[] (sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>)<font class="keyword"> const</font> +00353 <font class="keyword"> </font>{ +00354 <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> >= (sint32) <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.size() ) +00355 { +00356 <font class="comment">//TODO: throw Exc::CExceptionIndexError</font> +00357 } +00358 +00359 tListType::const_iterator it_l = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00360 <font class="keywordflow">for</font> (sint32 i = 0; i < <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>; i++) +00361 it_l++; +00362 +00363 <font class="keywordflow">return</font> *it_l; +00364 } +00365 +<a name="l00366"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a10">00366</a> <font class="keywordtype">void</font> CGroupType::set(<font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,IObjectIA *o) +00367 { +00368 tListType::iterator it_l = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00369 <font class="keywordflow">for</font> (sint32 i = 0; i < <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>; i++) +00370 it_l++; +00371 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*it_l))->release(); +00372 (*it_l) = o; +00373 } +00374 +<a name="l00375"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a35">00375</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &CGroupType::getType()<font class="keyword"> const </font> +00376 <font class="keyword"> </font>{ +00377 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#p0">IdGroupType</a>; +00378 } +00379 +<a name="l00380"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a3">00380</a> <font class="keyword">const</font> IObjectIA::CProcessResult &CGroupType::run() +00381 { +00382 tListType::iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00383 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00384 { +00385 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*i++))->run(); +00386 } +00387 <font class="keywordflow">return</font> IObjectIA::ProcessRun; +00388 } +00389 +<a name="l00390"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#b0">00390</a> CGroupType::tListType &CGroupType::getList() +00391 { +00392 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>; +00393 } +00394 +<a name="l00395"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">00395</a> CGroupType::CGroupType() +00396 { +00397 } +00398 +<a name="l00399"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a1">00399</a> CGroupType::CGroupType(<font class="keyword">const</font> CGroupType &g) +00400 { +00401 tListType::const_iterator i = g._List.begin(); +00402 <font class="keywordflow">while</font>(i != g._List.end()) +00403 { +00404 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.push_back((<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*i++)-><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a33">clone</a>()); +00405 } +00406 } +00407 +<a name="l00408"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a2">00408</a> <font class="keywordtype">void</font> CGroupType::getDebugString(std::string &text)<font class="keyword"> const</font> +00409 <font class="keyword"> </font>{ +00410 text += <font class="stringliteral">"["</font>; +00411 <a class="code" href="classstd_1_1list.html">std::list<const IObjectIA *></a>::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00412 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00413 { +00414 std::string temp; +00415 (*i++)->getDebugString(temp); +00416 text += temp; +00417 <font class="keywordflow">if</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) text += <font class="stringliteral">" "</font>; +00418 } +00419 text += <font class="stringliteral">"]"</font>; +00420 } +00421 +00422 <font class="comment">// IObjetOp *CGroupType::operator ! () const;</font> +00423 +<a name="l00424"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a14">00424</a> <font class="keywordtype">void</font> CGroupType::push(<font class="keyword">const</font> IObjectIA *o) +00425 { +00426 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.push_back(o); +00427 } +00428 +<a name="l00429"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a15">00429</a> <font class="keywordtype">void</font> CGroupType::pushFront(<font class="keyword">const</font> IObjectIA *o) +00430 { +00431 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.push_front(o); +00432 } +00433 +<a name="l00434"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a16">00434</a> <font class="keywordtype">void</font> CGroupType::cpy(<font class="keyword">const</font> IObjectIA &o) +00435 { +00436 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = (<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)o.clone(); +00437 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.push_back(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>); +00438 } +00439 +<a name="l00440"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a17">00440</a> <font class="keyword">const</font> IObjectIA *CGroupType::pop() +00441 { +00442 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *Obj = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.back(); +00443 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.pop_back(); +00444 <font class="keywordflow">return</font> Obj; +00445 } +00446 +<a name="l00447"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a18">00447</a> <font class="keyword">const</font> IObjectIA *CGroupType::get()<font class="keyword"> const</font> +00448 <font class="keyword"> </font>{ +00449 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.back(); +00450 } +00451 +<a name="l00452"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a19">00452</a> <font class="keyword">const</font> IObjectIA *CGroupType::popFront() +00453 { +00454 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *Obj = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.front(); +00455 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.pop_front(); +00456 <font class="keywordflow">return</font> Obj; +00457 } +00458 +<a name="l00459"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a20">00459</a> <font class="keyword">const</font> IObjectIA *CGroupType::getFront()<font class="keyword"> const</font> +00460 <font class="keyword"> </font>{ +00461 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.front(); +00462 } +00463 +<a name="l00464"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a21">00464</a> sint32 <a class="code" href="cf__lexical_8cpp.html#a94">CGroupType::size</a>()<font class="keyword"> const</font> +00465 <font class="keyword"> </font>{ +00466 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.size(); +00467 } +00468 +<a name="l00469"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a22">00469</a> CGroupType::tListType CGroupType::findList(<font class="keyword">const</font> IObjectIA &obj)<font class="keyword"> const</font> +00470 <font class="keyword"> </font>{ +00471 <a class="code" href="classstd_1_1list.html">tListType</a> <a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>; +00472 tListType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00473 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00474 { +00475 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = *i++; +00476 <font class="keywordflow">if</font>( *o == obj) l.push_back(); +00477 } +00478 <font class="keywordflow">return</font> l; +00479 +00480 } +00481 +<a name="l00482"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a23">00482</a> CGroupType::tListType::const_iterator CGroupType::getBegin()<font class="keyword"> const</font> +00483 <font class="keyword"> </font>{ +00484 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00485 } +00486 +<a name="l00487"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a24">00487</a> CGroupType::tListType::const_iterator CGroupType::getEnd()<font class="keyword"> const</font> +00488 <font class="keyword"> </font>{ +00489 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end(); +00490 } +00491 +<a name="l00492"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a25">00492</a> CGroupType::tListType::iterator CGroupType::getBegin() +00493 { +00494 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00495 } +00496 +<a name="l00497"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a26">00497</a> CGroupType::tListType::iterator CGroupType::getEnd() +00498 { +00499 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end(); +00500 } +00501 +<a name="l00502"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a27">00502</a> <font class="keyword">const</font> IObjectIA *CGroupType::find(<font class="keyword">const</font> IObjectIA &obj)<font class="keyword"> const</font> +00503 <font class="keyword"> </font>{ +00504 tListType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00505 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00506 { +00507 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = *i++; +00508 <font class="keywordflow">if</font>( *o == obj) <font class="keywordflow">return</font> o; +00509 } +00510 <font class="keywordflow">return</font> NULL; +00511 } +00512 +00513 <font class="comment">/*void CGroupType::eraseFirst(const IObjectIA &obj) </font> +00514 <font class="comment"> { </font> +00515 <font class="comment"> tListType::iterator i = _List.begin();</font> +00516 <font class="comment"> while(i != _List.end())</font> +00517 <font class="comment"> {</font> +00518 <font class="comment"> IObjectIA *o= (IObjectIA *)*i;</font> +00519 <font class="comment"> if( *o == obj)</font> +00520 <font class="comment"> { </font> +00521 <font class="comment"> _List.erase(i);</font> +00522 <font class="comment"> o->release();</font> +00523 <font class="comment"> return;</font> +00524 <font class="comment"> }</font> +00525 <font class="comment"> i++;</font> +00526 <font class="comment"> } </font> +00527 <font class="comment"> }*/</font> +00528 +<a name="l00529"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a28">00529</a> <font class="keywordtype">void</font> CGroupType::eraseAll(<font class="keyword">const</font> IObjectIA &obj) +00530 { +00531 tListType::iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00532 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00533 { +00534 tListType::iterator j = i++; +00535 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o= (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*j; +00536 <font class="keywordflow">if</font>( *o == obj) +00537 { +00538 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.erase(j); +00539 o->release(); +00540 <font class="keywordflow">return</font>; +00541 } +00542 } +00543 } +00544 +<a name="l00545"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a29">00545</a> <font class="keywordtype">void</font> CGroupType::erase(<font class="keyword">const</font> IObjectIA *o) +00546 { +00547 tListType::iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00548 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00549 { +00550 tListType::iterator j = i++; +00551 <font class="keywordflow">if</font>( *j == o) +00552 { +00553 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*j; +00554 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.erase(j); +00555 o->release(); +00556 <font class="keywordflow">return</font>; +00557 } +00558 } +00559 } +00560 +<a name="l00561"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a30">00561</a> <font class="keywordtype">void</font> CGroupType::erase(<font class="keyword">const</font> IObjectIA &obj) +00562 { +00563 tListType::iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00564 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00565 { +00566 tListType::iterator j = i++; +00567 <font class="keywordflow">if</font>( *(*j) == obj) +00568 { +00569 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*j; +00570 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.erase(j); +00571 o->release(); +00572 <font class="keywordflow">return</font>; +00573 } +00574 } +00575 } +00576 +<a name="l00577"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a31">00577</a> <font class="keywordtype">void</font> CGroupType::erase(<a class="code" href="classstd_1_1list.html">std::list<const IObjectIA *></a> &<a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>) +00578 { +00579 tListType::iterator i = l.begin(); +00580 <font class="keywordflow">while</font>(i != l.end()) +00581 { +00582 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a29">erase</a>(*i++); +00583 } +00584 } +00585 +<a name="l00586"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a32">00586</a> <font class="keywordtype">bool</font> <a class="code" href="chain_8cpp.html#a2">CGroupType::isEqual</a>(<font class="keyword">const</font> IBasicObjectIA &a)<font class="keyword"> const</font> +00587 <font class="keyword"> </font>{ +00588 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a> &b = (<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a> &)a; +00589 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CGroupType.html#a21">size</a>() != b.size()) <font class="keywordflow">return</font> <font class="keyword">false</font>; +00590 +00591 tListType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00592 tListType::const_iterator j = b._List.begin(); +00593 +00594 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00595 { +00596 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a1 = *i; +00597 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *a2 = *j; +00598 <font class="keywordflow">if</font>( a1 != a2) +00599 <font class="keywordflow">if</font>(!(*a1 == *a2)) <font class="keywordflow">return</font> <font class="keyword">false</font>; +00600 i ++; +00601 j ++; +00602 } +00603 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00604 } +00605 +<a name="l00606"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a33">00606</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CGroupType::clone()<font class="keyword"> const</font> +00607 <font class="keyword"> </font>{ +00608 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *m = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a>(*<font class="keyword">this</font>); +00609 <font class="keywordflow">return</font> m; +00610 } +00611 +<a name="l00612"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a34">00612</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CGroupType::newInstance()<font class="keyword"> const</font> +00613 <font class="keyword"> </font>{ +00614 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *m = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a0">CGroupType</a>(); +00615 <font class="keywordflow">return</font> m; +00616 } +00617 +<a name="l00618"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a36">00618</a> <font class="keywordtype">void</font> CGroupType::save(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &os) +00619 { +00620 sint32 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a21">size</a> = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.size(); +00621 os.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>(<a class="code" href="classNLAIAGENT_1_1CGroupType.html#a21">size</a>); +00622 <a class="code" href="classstd_1_1list.html">std::list<const IObjectIA *></a>::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00623 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00624 { +00625 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o= (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*i++; +00626 os.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &) o->getType() ); +00627 o->save(os); +00628 } +00629 } +00630 +<a name="l00631"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a37">00631</a> IObjetOp &CGroupType::neg() +00632 { +00633 tListType::iterator i = <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.begin(); +00634 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.end()) +00635 { +00636 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a> &op = (<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a> &)(*i)->getType(); +00637 <font class="keywordflow">if</font>((uint32)(op & <a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15s12">NLAIC::CTypeOfOperator::opNeg</a>)) ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a> *)(*i))->neg(); +00638 i++; +00639 } +00640 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00641 } +00642 +<a name="l00643"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a38">00643</a> <font class="keywordtype">void</font> CGroupType::load(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) +00644 { +00645 sint32 i; +00646 <font class="keywordflow">while</font>(<a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.size()) +00647 { +00648 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> * o = (<a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *)<a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.front(); +00649 o-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a3">release</a>(); +00650 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.pop_front(); +00651 } +00652 is.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( i ); +00653 <a class="code" href="classNLAIC_1_1CIdentTypeAlloc.html">NLAIC::CIdentTypeAlloc</a> <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>; +00654 <font class="keywordflow">while</font>(i--) +00655 { +00656 is.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( id ); +00657 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *o = (<a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *)id.<a class="code" href="classNLAIC_1_1CIdentTypeAlloc.html#a3">allocClass</a>(); +00658 o-><a class="code" href="classNLAIC_1_1IBasicInterface.html#a5">load</a>(is); +00659 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.push_back((<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)o); +00660 +00661 } +00662 } +00663 +<a name="l00664"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a39">00664</a> <font class="keywordtype">void</font> CGroupType::clear() +00665 { +00666 <font class="keywordflow">while</font>(<a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.size()) +00667 { +00668 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> * o = (<a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *)<a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.front(); +00669 o-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a3">release</a>(); +00670 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.pop_front(); +00671 } +00672 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#m0">_List</a>.clear(); +00673 } +00674 +<a name="l00675"></a><a class="code" href="classNLAIAGENT_1_1CGroupType.html#a40">00675</a> CGroupType::~CGroupType() +00676 { +00677 <a class="code" href="classNLAIAGENT_1_1CGroupType.html#a39">clear</a>(); +00678 } +00679 +00682 +<a name="l00683"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a7">00683</a> IObjetOp *<a class="code" href="ucstring_8h.html#a6">CVectorGroupType::operator + </a>(IObjetOp *a) +00684 { +00685 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">CVectorGroupType</a> *o = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a1">CVectorGroupType</a>(); +00686 tVectorType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00687 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00688 { +00689 o->_Vector.push_back(*i); +00690 ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a>*)(*i))->incRef(); +00691 i ++; +00692 } +00693 +00694 *o += a; +00695 a->incRef(); +00696 <font class="keywordflow">return</font> o; +00697 } +<a name="l00698"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a8">00698</a> IObjetOp *CVectorGroupType::operator - (IObjetOp *a) +00699 { +00700 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">CVectorGroupType</a> *o = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a1">CVectorGroupType</a>(); +00701 tVectorType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00702 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00703 { +00704 o->_Vector.push_back(*i); +00705 ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a>*)(*i))->incRef(); +00706 i ++; +00707 } +00708 +00709 *o -= a; +00710 a->release(); +00711 <font class="keywordflow">return</font> o; +00712 } +00713 +<a name="l00714"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a5">00714</a> IObjetOp *<a class="code" href="ucstring_8h.html#a6">CVectorGroupType::operator + </a>(<font class="keyword">const</font> IObjetOp &a) +00715 { +00716 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">CVectorGroupType</a> *o = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a1">CVectorGroupType</a>(); +00717 tVectorType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00718 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00719 { +00720 o->_Vector.push_back(*i); +00721 ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a>*)(*i))->incRef(); +00722 i ++; +00723 } +00724 +00725 *o += a; +00726 +00727 <font class="keywordflow">return</font> o; +00728 } +<a name="l00729"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a6">00729</a> IObjetOp *CVectorGroupType::operator - (<font class="keyword">const</font> IObjetOp &a) +00730 { +00731 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">CVectorGroupType</a> *o = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a1">CVectorGroupType</a>(); +00732 tVectorType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00733 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00734 { +00735 o->_Vector.push_back(*i); +00736 ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a>*)(*i))->incRef(); +00737 i ++; +00738 } +00739 +00740 *o -= a; +00741 <font class="keywordflow">return</font> o; +00742 } +00743 +00744 +00745 IObjetOp *CVectorGroupType::operator ! ()<font class="keyword"> const</font> +00746 <font class="keyword"> </font>{ +00747 NLAILOGIC::CBoolType *x = <font class="keyword">new</font> NLAILOGIC::CBoolType(!<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a23">size</a>()); +00748 <font class="keywordflow">return</font> x; +00749 } +00750 +<a name="l00751"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a9">00751</a> IObjectIA &CVectorGroupType::operator = (<font class="keyword">const</font> IObjectIA &a) +00752 { +00753 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a41">clear</a>(); +00754 <font class="keywordflow">if</font>((uint)(((<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &)a.getType()) & <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s3">NLAIC::CTypeOfObject::tList</a>)) +00755 { +00756 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">CVectorGroupType</a> &g= (<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">CVectorGroupType</a> &)a; +00757 tVectorType::const_iterator i = g._Vector.begin(); +00758 <font class="keywordflow">while</font>(i != g._Vector.end()) +00759 { +00760 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.push_back((<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*i++)-><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a35">clone</a>()); +00761 } +00762 } +00763 <font class="keywordflow">else</font> +00764 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.push_back((<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)a.clone()); +00765 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +00766 } +00767 +<a name="l00768"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a37">00768</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &CVectorGroupType::getType()<font class="keyword"> const </font> +00769 <font class="keyword"> </font>{ +00770 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#p0">IdVectorGroupType</a>; +00771 } +00772 +<a name="l00773"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a4">00773</a> <font class="keyword">const</font> IObjectIA::CProcessResult &CVectorGroupType::run() +00774 { +00775 tVectorType::iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00776 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00777 { +00778 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*i++))->run(); +00779 } +00780 <font class="keywordflow">return</font> IObjectIA::ProcessRun; +00781 } +00782 +<a name="l00783"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#b0">00783</a> CVectorGroupType::tVectorType &CVectorGroupType::getVector() +00784 { +00785 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>; +00786 } +00787 +00788 +<a name="l00789"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">00789</a> CVectorGroupType::CVectorGroupType(sint32 i): _Vector(i) +00790 { +00791 } +00792 +<a name="l00793"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a1">00793</a> CVectorGroupType::CVectorGroupType() +00794 { +00795 } +00796 +<a name="l00797"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a2">00797</a> CVectorGroupType::CVectorGroupType(<font class="keyword">const</font> CVectorGroupType &g) +00798 { +00799 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a> = g._Vector; +00800 tVectorType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00801 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00802 { +00803 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*i++))->incRef(); +00804 } +00805 } +00806 +<a name="l00807"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a3">00807</a> <font class="keywordtype">void</font> CVectorGroupType::getDebugString(std::string &text)<font class="keyword"> const</font> +00808 <font class="keyword"> </font>{ +00809 +00810 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.size()) +00811 { +00812 text += <font class="stringliteral">"["</font>; +00813 std::vector<const IObjectIA *>::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00814 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00815 { +00816 std::string temp; +00817 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = *i++; +00818 o->getDebugString(temp); +00819 text += temp; +00820 <font class="keywordflow">if</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) text += <font class="stringliteral">" "</font>; +00821 } +00822 text += <font class="stringliteral">"]"</font>; +00823 +00824 } +00825 <font class="keywordflow">else</font> +00826 { +00827 text += <a class="code" href="namespaceNLAIC.html#a5">NLAIC::stringGetBuild</a>(<font class="stringliteral">"CVectorGroupType<%04x>: <empty>"</font>,<font class="keyword">this</font>); +00828 } +00829 } +00830 +00831 <font class="comment">// IObjetOp *CVectorGroupType::operator ! () const;</font> +00832 +<a name="l00833"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a13">00833</a> <font class="keywordtype">void</font> CVectorGroupType::push(<font class="keyword">const</font> IObjectIA *o) +00834 { +00835 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.push_back(o); +00836 } +00837 +<a name="l00838"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a14">00838</a> <font class="keywordtype">void</font> CVectorGroupType::pushFront(<font class="keyword">const</font> IObjectIA *o) +00839 { +00840 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.push_back(o); +00841 <font class="keywordflow">for</font>(sint32 i = (sint32)<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.back() - 2; i == 0; i -- ) +00842 { +00843 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>[i + 1] = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>[i]; +00844 } +00845 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>[0] = o; +00846 +00847 } +00848 +<a name="l00849"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a18">00849</a> <font class="keywordtype">void</font> CVectorGroupType::cpy(<font class="keyword">const</font> IObjectIA &o) +00850 { +00851 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.push_back((<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)o.clone()); +00852 } +00853 +<a name="l00854"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a19">00854</a> <font class="keyword">const</font> IObjectIA *CVectorGroupType::pop() +00855 { +00856 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *Obj = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.back(); +00857 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.erase( <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end() ); +00858 <font class="keywordflow">return</font> Obj; +00859 } +00860 +<a name="l00861"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a20">00861</a> <font class="keyword">const</font> IObjectIA *CVectorGroupType::get()<font class="keyword"> const</font> +00862 <font class="keyword"> </font>{ +00863 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.back(); +00864 } +00865 +<a name="l00866"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a21">00866</a> <font class="keyword">const</font> IObjectIA *CVectorGroupType::popFront() +00867 { +00868 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *Obj = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.front(); +00869 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.erase( <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin() ); +00870 <font class="keywordflow">return</font> Obj; +00871 } +00872 +<a name="l00873"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a22">00873</a> <font class="keyword">const</font> IObjectIA *CVectorGroupType::getFront()<font class="keyword"> const</font> +00874 <font class="keyword"> </font>{ +00875 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.front(); +00876 } +00877 +<a name="l00878"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a23">00878</a> sint32 <a class="code" href="cf__lexical_8cpp.html#a94">CVectorGroupType::size</a>()<font class="keyword"> const</font> +00879 <font class="keyword"> </font>{ +00880 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.size(); +00881 } +00882 +<a name="l00883"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a24">00883</a> CVectorGroupType::tVectorType CVectorGroupType::findList(<font class="keyword">const</font> IObjectIA &obj)<font class="keyword"> const</font> +00884 <font class="keyword"> </font>{ +00885 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#s0">tVectorType</a> <a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>; +00886 tVectorType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00887 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00888 { +00889 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = *i++; +00890 <font class="keywordflow">if</font>( *o == obj) +00891 <a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>.push_back( o ); +00892 } +00893 <font class="keywordflow">return</font> <a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>; +00894 } +00895 +<a name="l00896"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a10">00896</a> <font class="keyword">const</font> IObjectIA *CVectorGroupType::operator[] (sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>)<font class="keyword"> const</font> +00897 <font class="keyword"> </font>{ +00898 <font class="preprocessor">#ifdef _DEGUG</font> +00899 <font class="preprocessor"></font> <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> >= (sint32) <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.size() ) +00900 { +00901 <font class="comment">//TODO: throw Exc::CExceptionIndexError</font> +00902 } +00903 <font class="preprocessor">#endif</font> +00904 <font class="preprocessor"></font> +00905 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>[ <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> ]; +00906 } +00907 +<a name="l00908"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a11">00908</a> <font class="keywordtype">void</font> CVectorGroupType::set(<font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,IObjectIA *o) +00909 { +00910 <font class="keywordflow">if</font>((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>[ <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> ] != NULL) ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>[ <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> ])->release(); +00911 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>[ <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> ] = o; +00912 } +00913 +00914 +<a name="l00915"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a25">00915</a> CVectorGroupType::tVectorType::const_iterator CVectorGroupType::getBegin()<font class="keyword"> const</font> +00916 <font class="keyword"> </font>{ +00917 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00918 } +00919 +<a name="l00920"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a26">00920</a> CVectorGroupType::tVectorType::const_iterator CVectorGroupType::getEnd()<font class="keyword"> const</font> +00921 <font class="keyword"> </font>{ +00922 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end(); +00923 } +00924 +<a name="l00925"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a27">00925</a> CVectorGroupType::tVectorType::iterator CVectorGroupType::getBegin() +00926 { +00927 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00928 } +00929 +<a name="l00930"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a28">00930</a> CVectorGroupType::tVectorType::iterator CVectorGroupType::getEnd() +00931 { +00932 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end(); +00933 } +00934 +<a name="l00935"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a29">00935</a> <font class="keyword">const</font> IObjectIA *CVectorGroupType::find(<font class="keyword">const</font> IObjectIA &obj)<font class="keyword"> const</font> +00936 <font class="keyword"> </font>{ +00937 tVectorType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00938 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00939 { +00940 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = *i++; +00941 <font class="keywordflow">if</font>( *o == obj) <font class="keywordflow">return</font> o; +00942 } +00943 <font class="keywordflow">return</font> NULL; +00944 } +00945 +<a name="l00946"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a30">00946</a> <font class="keywordtype">void</font> CVectorGroupType::eraseAll(<font class="keyword">const</font> IObjectIA &obj) +00947 { +00948 tVectorType::iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00949 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00950 { +00951 tVectorType::iterator j = i++; +00952 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o= (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*j; +00953 <font class="keywordflow">if</font>( *o == obj) +00954 { +00955 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.erase(j); +00956 o->release(); +00957 <font class="keywordflow">return</font>; +00958 } +00959 } +00960 } +00961 +<a name="l00962"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a31">00962</a> <font class="keywordtype">void</font> CVectorGroupType::erase(<font class="keyword">const</font> IObjectIA *o) +00963 { +00964 tVectorType::iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00965 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00966 { +00967 tVectorType::iterator j = i++; +00968 <font class="keywordflow">if</font>( *j == o) +00969 { +00970 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*j; +00971 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.erase(j); +00972 o->release(); +00973 <font class="keywordflow">return</font>; +00974 } +00975 } +00976 } +00977 +<a name="l00978"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a32">00978</a> <font class="keywordtype">void</font> CVectorGroupType::erase(<font class="keyword">const</font> IObjectIA &obj) +00979 { +00980 tVectorType::iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +00981 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +00982 { +00983 tVectorType::iterator j = i++; +00984 <font class="keywordflow">if</font> ( *(*j) == obj ) +00985 { +00986 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*j; +00987 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.erase(j); +00988 o->release(); +00989 <font class="keywordflow">return</font>; +00990 } +00991 } +00992 } +00993 +<a name="l00994"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a33">00994</a> <font class="keywordtype">void</font> CVectorGroupType::erase(<a class="code" href="classstd_1_1list.html">std::list<const IObjectIA *></a> &<a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>) +00995 { +00996 <a class="code" href="classstd_1_1list.html">std::list<const IObjectIA *></a>::iterator i = l.begin(); +00997 <font class="keywordflow">while</font>(i != l.end()) +00998 { +00999 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a31">erase</a>(*i++); +01000 } +01001 } +01002 +<a name="l01003"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a34">01003</a> <font class="keywordtype">bool</font> <a class="code" href="chain_8cpp.html#a2">CVectorGroupType::isEqual</a>(<font class="keyword">const</font> IBasicObjectIA &a)<font class="keyword"> const</font> +01004 <font class="keyword"> </font>{ +01005 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">CVectorGroupType</a> &b = (<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a0">CVectorGroupType</a> &)a; +01006 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a23">size</a>() != b.size()) <font class="keywordflow">return</font> <font class="keyword">false</font>; +01007 +01008 tVectorType::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +01009 tVectorType::const_iterator j = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +01010 +01011 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +01012 { +01013 <font class="keywordflow">if</font>(!(*i++)->isEqual(*(*j++))) <font class="keywordflow">return</font> <font class="keyword">false</font>; +01014 } +01015 <font class="keywordflow">return</font> <font class="keyword">true</font>; +01016 } +01017 +<a name="l01018"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a35">01018</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CVectorGroupType::clone()<font class="keyword"> const</font> +01019 <font class="keyword"> </font>{ +01020 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *m = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a1">CVectorGroupType</a>(*<font class="keyword">this</font>); +01021 <font class="keywordflow">return</font> m; +01022 } +01023 +<a name="l01024"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a36">01024</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CVectorGroupType::newInstance()<font class="keyword"> const</font> +01025 <font class="keyword"> </font>{ +01026 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *m = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a1">CVectorGroupType</a>(); +01027 <font class="keywordflow">return</font> m; +01028 } +01029 +<a name="l01030"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a38">01030</a> <font class="keywordtype">void</font> CVectorGroupType::save(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &os) +01031 { +01032 sint32 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a23">size</a> = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.size(); +01033 os.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a23">size</a> ); +01034 std::vector<const IObjectIA *>::const_iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +01035 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +01036 { +01037 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o= (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*i++; +01038 os.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &) o->getType() ); +01039 o->save(os); +01040 } +01041 } +01042 +<a name="l01043"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a39">01043</a> IObjetOp &CVectorGroupType::neg() +01044 { +01045 tVectorType::iterator i = <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin(); +01046 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.end()) +01047 { +01048 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a> &op = (<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a> &)(*i)->getType(); +01049 <font class="keywordflow">if</font>((uint32)(op & <a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15s12">NLAIC::CTypeOfOperator::opNeg</a>)) ((<a class="code" href="classNLAIAGENT_1_1IObjetOp.html#a0">IObjetOp</a> *)(*i))->neg(); +01050 i++; +01051 } +01052 <font class="keywordflow">return</font> *<font class="keyword">this</font>; +01053 } +01054 +<a name="l01055"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a40">01055</a> <font class="keywordtype">void</font> CVectorGroupType::load(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) +01056 { +01057 sint32 i; +01058 <font class="keywordflow">while</font>(<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.size()) +01059 { +01060 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> * o = (<a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *)<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.front(); +01061 o-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a3">release</a>(); +01062 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.erase( <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin() ); +01063 } +01064 is.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( i ); +01065 <a class="code" href="classNLAIC_1_1CIdentTypeAlloc.html">NLAIC::CIdentTypeAlloc</a> <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>; +01066 <font class="keywordflow">while</font>(i--) +01067 { +01068 is.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( id ); +01069 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *o = (<a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *)id.<a class="code" href="classNLAIC_1_1CIdentTypeAlloc.html#a3">allocClass</a>(); +01070 o-><a class="code" href="classNLAIC_1_1IBasicInterface.html#a5">load</a>(is); +01071 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.push_back((<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)o); +01072 +01073 } +01074 } +01075 +<a name="l01076"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a41">01076</a> <font class="keywordtype">void</font> CVectorGroupType::clear() +01077 { +01078 <font class="keywordflow">while</font>(<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.size()) +01079 { +01080 <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> * o = (<a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> *)<a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.front(); +01081 o-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a3">release</a>(); +01082 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.erase( <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.begin() ); +01083 } +01084 } +01085 +<a name="l01086"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a43">01086</a> <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> CVectorGroupType::isMember(<font class="keyword">const</font> IVarName *className,<font class="keyword">const</font> IVarName *methodName,<font class="keyword">const</font> IObjectIA &p)<font class="keyword"> const</font> +01087 <font class="keyword"> </font>{ +01088 <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> a; +01089 <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> methodParam; +01090 <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (<a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> &)p; +01091 +01092 <font class="keywordflow">if</font>(param.<a class="code" href="classNLAISCRIPT_1_1CParam.html#a14">size</a>() != 1) <font class="keywordflow">return</font> IBaseGroupType::isMember(className,methodName,p); +01093 +01094 <font class="keywordflow">if</font>(className == NULL) +01095 { +01096 <font class="keywordflow">if</font>(*methodName == IBaseGroupType::_Method[0].MethodName) +01097 { +01098 CObjectType *c = <font class="keyword">new</font> CObjectType(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIC_1_1CIdentType.html#p0">NLAIC::CIdentType::VoidType</a>)); +01099 a.push(CIdMethod(_Const + IBaseGroupType::getMethodIndexSize(),0.0,NULL,c)); +01100 } +01101 <font class="keywordflow">else</font> +01102 { +01103 <font class="keywordflow">return</font> IBaseGroupType::isMember(className,methodName,p); +01104 } +01105 +01106 } +01107 <font class="keywordflow">return</font> a; +01108 } +01109 +<a name="l01110"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a42">01110</a> sint32 CVectorGroupType::getMethodIndexSize()<font class="keyword"> const</font> +01111 <font class="keyword"> </font>{ +01112 <font class="keywordflow">return</font> IBaseGroupType::getMethodIndexSize() + 1; +01113 } +01114 +<a name="l01115"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a44">01115</a> IObjectIA::CProcessResult CVectorGroupType::runMethodeMember(sint32, sint32, IObjectIA *) +01116 { +01117 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +01118 } +<a name="l01119"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a45">01119</a> IObjectIA::CProcessResult CVectorGroupType::runMethodeMember(sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,IObjectIA *p) +01120 { +01121 sint32 i= <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> - IBaseGroupType::getMethodIndexSize(); +01122 <font class="keywordflow">if</font>(i == _Const) +01123 { +01124 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#a0">IBaseGroupType</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#a0">IBaseGroupType</a> *)p; +01125 <font class="keyword">const</font> DigitalType *f = (<font class="keyword">const</font> DigitalType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>->get(); +01126 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#o0">_Vector</a>.reserve((<font class="keywordtype">int</font>)f->getValue()); +01127 } +01128 <font class="keywordflow">return</font> IBaseGroupType::runMethodeMember(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,p); +01129 } +01130 +<a name="l01131"></a><a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a46">01131</a> CVectorGroupType::~CVectorGroupType() +01132 { +01133 <a class="code" href="classNLAIAGENT_1_1CVectorGroupType.html#a41">clear</a>(); +01134 } +01135 } +</pre></div> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |