diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/type__def_8h-source.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/type__def_8h-source.html')
-rw-r--r-- | docs/doxygen/nel/type__def_8h-source.html | 993 |
1 files changed, 993 insertions, 0 deletions
diff --git a/docs/doxygen/nel/type__def_8h-source.html b/docs/doxygen/nel/type__def_8h-source.html new file mode 100644 index 00000000..5f26f34b --- /dev/null +++ b/docs/doxygen/nel/type__def_8h-source.html @@ -0,0 +1,993 @@ +<!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>type_def.h</h1><a href="type__def_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00007 <font class="comment">/* Copyright, 2000 Nevrax Ltd.</font> +00008 <font class="comment"> *</font> +00009 <font class="comment"> * This file is part of NEVRAX NEL.</font> +00010 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font> +00011 <font class="comment"> * it under the terms of the GNU General Public License as published by</font> +00012 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font> +00013 <font class="comment"> * any later version.</font> +00014 <font class="comment"></font> +00015 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font> +00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font> +00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font> +00018 <font class="comment"> * General Public License for more details.</font> +00019 <font class="comment"></font> +00020 <font class="comment"> * You should have received a copy of the GNU General Public License</font> +00021 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font> +00022 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font> +00023 <font class="comment"> * MA 02111-1307, USA.</font> +00024 <font class="comment"> */</font> +00025 +00026 <font class="preprocessor">#ifndef NL_TYPE_DEF_H</font> +00027 <font class="preprocessor"></font><font class="preprocessor">#define NL_TYPE_DEF_H</font> +00028 <font class="preprocessor"></font><font class="preprocessor">#include "<a class="code" href="constraint_8h.html">nel/ai/script/constraint.h</a>"</font> +00029 +00030 <font class="keyword">namespace </font>NLAISCRIPT +00031 { +00032 <font class="keyword">struct </font>CFactorType; +00033 +<a name="l00043"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html">00043</a> <font class="keyword">class </font>IOpType: <font class="keyword">public</font> IConstraint +00044 { +00045 +00046 <font class="keyword">public</font>: +<a name="l00047"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">00047</a> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a>() +00048 { +00049 } +00050 +00052 +<a name="l00053"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_0">00053</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_0">run</a>(<a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *){} +<a name="l00054"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_1">00054</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_0">run</a>(CCompilateur &){} +<a name="l00055"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_2">00055</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_2">addIndex</a>(<font class="keywordtype">int</font> i,CCodeBrancheRun *){} +<a name="l00056"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_3">00056</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_3">getError</a>(<font class="keywordtype">char</font> *)<font class="keyword"> const</font>{} +<a name="l00057"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_4">00057</a> <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_4">getLine</a>()<font class="keyword"> const</font>{ <font class="keywordflow">return</font> 0;} +<a name="l00058"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_5">00058</a> <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_5">getColone</a>()<font class="keyword"> const</font>{<font class="keywordflow">return</font> 0;} +00059 <font class="keywordtype">double</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_6">evalParam</a>(<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *); +00060 <font class="keyword">virtual</font> <font class="keywordtype">double</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#z258_7">eval</a> (<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *); +00062 +00063 <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a1">~IOpType</a>(); +00064 +00065 <font class="keyword">public</font>: +00066 <font class="keyword">static</font> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a>*<a class="code" href="classNLAISCRIPT_1_1IOpType.html#d0">loadIOpType</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f); +00067 }; +00068 +<a name="l00078"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html">00078</a> <font class="keyword">class </font>COperandVoid: <font class="keyword">public</font> IOpType +00079 { +00080 +00081 <font class="keyword">public</font>: +<a name="l00082"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a0">00082</a> <a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a0">COperandVoid</a>() +00083 { +00084 } +00085 +<a name="l00086"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a1">00086</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a1">getInfo</a>() +00087 { +00088 <font class="keywordflow">return</font> <font class="stringliteral">"constraint<COperandVoid>"</font>; +00089 } +00090 +<a name="l00091"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a2">00091</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a2">getConstraintTypeOf</a>() +00092 { +00093 <font class="keywordflow">return</font> &<a class="code" href="classNLAIC_1_1CIdentType.html#p0">NLAIC::CIdentType::VoidType</a>; +00094 } +00095 +<a name="l00096"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a3">00096</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a3">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00097 { +00098 <font class="keywordflow">if</font> ( f.isReading() ) +00099 { +00100 <font class="keywordflow">throw</font> <a class="code" href="structNLMISC_1_1EStream.html">NLMISC::EStream</a>(); +00101 } +00102 <font class="keywordflow">else</font> +00103 { +00104 sint32 n = (sint32)<a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a4">getTypeOfClass</a>(); +00105 f.serial(n); +00106 } +00107 } +00108 +<a name="l00109"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a4">00109</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13">ConstraintTypeEnum</a> <a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a4">getTypeOfClass</a>()<font class="keyword"> const</font> +00110 <font class="keyword"> </font>{ +00111 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s5">operandVoid</a>; +00112 } +00113 +<a name="l00114"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a5">00114</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a5">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> &c)<font class="keyword"> const</font> +00115 <font class="keyword"> </font>{ +00116 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a4">getTypeOfClass</a>() == c.getTypeOfClass()) +00117 { +00118 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00119 } +00120 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00121 } +00122 +<a name="l00123"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a6">00123</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a6">dependOn</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *)<font class="keyword"> const</font> +00124 <font class="keyword"> </font>{ +00125 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00126 } +00127 +<a name="l00128"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a7">00128</a> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a7">clone</a>()<font class="keyword"> const</font> +00129 <font class="keyword"> </font>{ +00130 <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a0">COperandVoid</a>(); +00131 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00132 } +00133 +<a name="l00134"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a8">00134</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a8">satisfied</a>() +00135 { +00136 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00137 } +00138 +<a name="l00139"></a><a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a9">00139</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1COperandVoid.html#a9">~COperandVoid</a>() +00140 { +00141 } +00142 }; +00143 +<a name="l00153"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html">00153</a> <font class="keyword">class </font>COperandAnyObject: <font class="keyword">public</font> IOpType +00154 { +00155 +00156 <font class="keyword">public</font>: +<a name="l00157"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a0">00157</a> <a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a0">COperandAnyObject</a>() +00158 { +00159 } +00160 +<a name="l00161"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a1">00161</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a1">getInfo</a>() +00162 { +00163 <font class="keywordflow">return</font> <font class="stringliteral">"constraint<COperandAnyObject>"</font>; +00164 } +00165 +<a name="l00166"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a2">00166</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a2">getConstraintTypeOf</a>() +00167 { +00168 <font class="keywordflow">return</font> &<a class="code" href="classNLAIC_1_1CIdentType.html#p0">NLAIC::CIdentType::VoidType</a>; +00169 } +00170 +<a name="l00171"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a3">00171</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a3">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00172 { +00173 <font class="keywordflow">if</font> ( f.isReading() ) +00174 { +00175 <font class="keywordflow">throw</font> <a class="code" href="structNLMISC_1_1EStream.html">NLMISC::EStream</a>(); +00176 } +00177 <font class="keywordflow">else</font> +00178 { +00179 sint32 n = (sint32)<a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a4">getTypeOfClass</a>(); +00180 f.serial(n); +00181 } +00182 } +00183 +<a name="l00184"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a4">00184</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13">ConstraintTypeEnum</a> <a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a4">getTypeOfClass</a>()<font class="keyword"> const</font> +00185 <font class="keyword"> </font>{ +00186 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s4">operandAnyObject</a>; +00187 } +00188 +<a name="l00189"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a5">00189</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a5">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> &c)<font class="keyword"> const</font> +00190 <font class="keyword"> </font>{ +00191 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00192 } +00193 +<a name="l00194"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a6">00194</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a6">dependOn</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *)<font class="keyword"> const</font> +00195 <font class="keyword"> </font>{ +00196 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00197 } +00198 +<a name="l00199"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a7">00199</a> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a7">clone</a>()<font class="keyword"> const</font> +00200 <font class="keyword"> </font>{ +00201 <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a0">COperandAnyObject</a>(); +00202 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00203 } +00204 +<a name="l00205"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a8">00205</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a8">satisfied</a>() +00206 { +00207 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00208 } +00209 +<a name="l00210"></a><a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a9">00210</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1COperandAnyObject.html#a9">~COperandAnyObject</a>() +00211 { +00212 } +00213 }; +00214 +<a name="l00224"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">00224</a> <font class="keyword">class </font>COperandSimple: <font class="keyword">public</font> IOpType +00225 { +00226 <font class="keyword">private</font>: +<a name="l00227"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o0">00227</a> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o0">_Ident</a>; +<a name="l00228"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o1">00228</a> std::string <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o1">_TxtInfo</a>; +00229 +00230 <font class="keyword">public</font>: +<a name="l00231"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a0">00231</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a0">COperandSimple</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) +00232 { +00233 _Ident = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(f); +00234 } +<a name="l00235"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a1">00235</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a0">COperandSimple</a>(<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *i) : _Ident(i) +00236 { +00237 } +00238 +<a name="l00239"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a2">00239</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a2">getInfo</a>() +00240 { +00241 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o1">_TxtInfo</a>.begin() == <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o1">_TxtInfo</a>.end()) +00242 { +00243 <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o1">_TxtInfo</a> = <a class="code" href="namespaceNLAIC.html#a5">NLAIC::stringGetBuild</a>(<font class="stringliteral">"constraint<COperandSimple> for %s"</font>,(<font class="keyword">const</font> <font class="keywordtype">char</font> *)*_Ident); +00244 } +00245 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o1">_TxtInfo</a>.c_str(); +00246 } +00247 +<a name="l00248"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a3">00248</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a3">getConstraintTypeOf</a>() +00249 { +00250 <font class="keywordflow">return</font> _Ident; +00251 } +00252 +<a name="l00253"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a4">00253</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13">ConstraintTypeEnum</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a4">getTypeOfClass</a>()<font class="keyword"> const</font> +00254 <font class="keyword"> </font>{ +00255 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s2">operandSimple</a>; +00256 } +00257 +<a name="l00258"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a5">00258</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a5">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> &c)<font class="keyword"> const</font> +00259 <font class="keyword"> </font>{ +00260 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a4">getTypeOfClass</a>() == c.getTypeOfClass() && *((<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a0">COperandSimple</a> &)c)._Ident == *_Ident) +00261 { +00262 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00263 } +00264 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00265 } +00266 +<a name="l00267"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a6">00267</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a6">dependOn</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *)<font class="keyword"> const</font> +00268 <font class="keyword"> </font>{ +00269 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00270 } +00271 +<a name="l00272"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a7">00272</a> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a7">clone</a>()<font class="keyword"> const</font> +00273 <font class="keyword"> </font>{ +00274 <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a0">COperandSimple</a>(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(*_Ident)); +00275 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00276 } +00277 +<a name="l00278"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a8">00278</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a8">satisfied</a>() +00279 { +00280 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00281 } +00282 +<a name="l00283"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a9">00283</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a9">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00284 { +00285 <font class="keywordflow">if</font> ( f.isReading() ) +00286 { +00287 <font class="keywordflow">if</font>(_Ident) _Ident-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a3">release</a>(); +00288 _Ident = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(f); +00289 <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#o1">_TxtInfo</a>.clear(); +00290 +00291 } +00292 <font class="keywordflow">else</font> +00293 { +00294 sint32 n = (sint32)<a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a4">getTypeOfClass</a>(); +00295 f.serial(n); +00296 _Ident-><a class="code" href="classNLAIC_1_1CIdentType.html#z194_1">serial</a>(f); +00297 } +00298 } +00299 +<a name="l00300"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a10">00300</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html#a10">~COperandSimple</a>() +00301 { +00302 _Ident-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a3">release</a>(); +00303 } +00304 }; +00305 +00306 +<a name="l00316"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">00316</a> <font class="keyword">class </font>COperandSimpleListOr: <font class="keyword">public</font> IOpType +00317 { +00318 <font class="keyword">private</font>: +<a name="l00319"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o0">00319</a> <a class="code" href="classstd_1_1list.html">std::list<NLAIC::CIdentType *></a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o0">_TypeListe</a>; +00320 <font class="comment">//NLAIC::CIdentType *_Ident;</font> +<a name="l00321"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">00321</a> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">_TxtInfo</a>; +00322 +00323 <font class="keyword">public</font>: +<a name="l00324"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a0">00324</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a0">COperandSimpleListOr</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) +00325 { +00326 <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a11">serial</a>(f); +00327 } +00328 +<a name="l00329"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a1">00329</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a0">COperandSimpleListOr</a>(<font class="keyword">const</font> <a class="code" href="classstd_1_1list.html">std::list<NLAIC::CIdentType *></a> &<a class="code" href="namespaceNLAISCRIPT.html#a20">l</a>) +00330 { +00331 <font class="keywordtype">char</font> txt[1028*8]; +00332 sprintf(txt,<font class="stringliteral">"constraint<COperandSimpleListOr> for ..."</font>); +00333 <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(txt) + 1]; +00334 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">_TxtInfo</a>,txt); +00335 +00336 <a class="code" href="classstd_1_1list.html">std::list<NLAIC::CIdentType *></a>::const_iterator i = l.begin(); +00337 <font class="keywordflow">while</font>(i != l.end()) +00338 { +00339 _TypeListe.push_back(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(*(*i++))); +00340 } +00341 } +00342 +00343 +00344 <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a0">COperandSimpleListOr</a>(<font class="keywordtype">int</font> count, ...); +00345 +<a name="l00346"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a3">00346</a> <font class="keyword">const</font> <a class="code" href="classstd_1_1list.html">std::list<NLAIC::CIdentType *></a> &<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a3">getList</a>()<font class="keyword"> const</font> +00347 <font class="keyword"> </font>{ +00348 <font class="keywordflow">return</font> _TypeListe; +00349 } +00350 +<a name="l00351"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a4">00351</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a4">getInfo</a>() +00352 { +00353 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">_TxtInfo</a>; +00354 } +00355 +<a name="l00356"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a5">00356</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a5">getConstraintTypeOf</a>() +00357 { +00358 <font class="keywordflow">return</font> _TypeListe.back(); +00359 } +00360 +<a name="l00361"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a6">00361</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13">ConstraintTypeEnum</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a6">getTypeOfClass</a>()<font class="keyword"> const</font> +00362 <font class="keyword"> </font>{ +00363 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s3">operandSimpleListOr</a>; +00364 } +00365 +<a name="l00366"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a7">00366</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a7">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> &c)<font class="keyword"> const</font> +00367 <font class="keyword"> </font>{ +00368 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a6">getTypeOfClass</a>() == c.getTypeOfClass()) +00369 { +00370 <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a0">COperandSimpleListOr</a> &<a class="code" href="namespaceNLAISCRIPT.html#a20">l</a> = (<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a0">COperandSimpleListOr</a> &)c; +00371 <font class="keywordflow">if</font>(l._TypeListe.size() != _TypeListe.size()) <font class="keywordflow">return</font> <font class="keyword">false</font>; +00372 +00373 <a class="code" href="classstd_1_1list.html">std::list<NLAIC::CIdentType *></a>::const_iterator i = _TypeListe.begin(); +00374 <a class="code" href="classstd_1_1list.html">std::list<NLAIC::CIdentType *></a>::const_iterator j = l._TypeListe.begin(); +00375 <font class="keywordflow">while</font>(i != _TypeListe.end()) +00376 { +00377 <font class="keywordflow">if</font>(!((*i++) == (*j++))) <font class="keywordflow">return</font> <font class="keyword">false</font>; +00378 } +00379 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00380 } +00381 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00382 } +00383 +<a name="l00384"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a8">00384</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a8">dependOn</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *)<font class="keyword"> const</font> +00385 <font class="keyword"> </font>{ +00386 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00387 } +00388 +<a name="l00389"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a9">00389</a> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a9">clone</a>()<font class="keyword"> const</font> +00390 <font class="keyword"> </font>{ +00391 <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a0">COperandSimpleListOr</a>(_TypeListe); +00392 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00393 } +00394 +<a name="l00395"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a10">00395</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a10">satisfied</a>() +00396 { +00397 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00398 } +00399 +<a name="l00400"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a11">00400</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a11">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00401 { +00402 <font class="keywordflow">if</font> ( f.isReading() ) +00403 { +00404 <font class="keywordflow">while</font>(_TypeListe.size()) +00405 { +00406 <font class="keyword">delete</font> _TypeListe.back(); +00407 _TypeListe.pop_back(); +00408 } +00409 +00410 +00411 sint32 i; +00412 f.serial(i); +00413 <font class="keywordflow">while</font>(i --) +00414 { +00415 <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *ident = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(f); +00416 _TypeListe.push_back(ident); +00417 } +00418 <font class="keyword">delete</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">_TxtInfo</a>; +00419 <font class="keywordtype">char</font> txt[1028*8]; +00420 sprintf(txt,<font class="stringliteral">"constraint<COperandSimpleListOr> for ..."</font>); +00421 <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(txt) + 1]; +00422 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">_TxtInfo</a>,txt); +00423 } +00424 <font class="keywordflow">else</font> +00425 { +00426 sint32 n = (sint32)<a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a6">getTypeOfClass</a>(); +00427 f.serial(n); +00428 n = _TypeListe.size(); +00429 f.serial(n); +00430 <a class="code" href="classstd_1_1list.html">std::list<NLAIC::CIdentType *></a>::iterator i = _TypeListe.begin(); +00431 <font class="keywordflow">while</font>(i != _TypeListe.end()) +00432 { +00433 (*i++)->serial(f); +00434 } +00435 } +00436 } +00437 +00438 <font class="keyword">virtual</font> <font class="keywordtype">double</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a12">eval</a> (<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *); +00439 +<a name="l00440"></a><a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a13">00440</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#a13">~COperandSimpleListOr</a>() +00441 { +00442 <font class="keywordflow">while</font>(_TypeListe.size()) +00443 { +00444 <font class="keyword">delete</font> _TypeListe.back(); +00445 _TypeListe.pop_back(); +00446 } +00447 <font class="keyword">delete</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html#o1">_TxtInfo</a>; +00448 } +00449 }; +00450 +00451 +<a name="l00461"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html">00461</a> <font class="keyword">class </font>COperandUnknown: <font class="keyword">public</font> IOpType +00462 { +00463 <font class="keyword">private</font>: +<a name="l00464"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">00464</a> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>; +<a name="l00465"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o1">00465</a> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o1">_Id</a>; +<a name="l00466"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o2">00466</a> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o2">_TxtInfo</a>; +<a name="l00467"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o3">00467</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o3">_RunIsDone</a>; +00468 +00469 <font class="keyword">public</font>: +<a name="l00470"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a0">00470</a> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a0">COperandUnknown</a>(<a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *constraint):<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>(constraint),_Id(NULL) +00471 { +00472 <font class="keywordtype">char</font> txt[1028*8]; +00473 sprintf(txt,<font class="stringliteral">"constraint<COperandUnknown> for %s"</font>,<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->getInfo()); +00474 <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o2">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(txt) + 1]; +00475 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o2">_TxtInfo</a>,txt); +00476 <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->addConstraint(<font class="keyword">this</font>); +00477 <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o3">_RunIsDone</a> = <font class="keyword">false</font>; +00478 } +00479 +<a name="l00480"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a1">00480</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a1">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00481 { +00482 <font class="keywordflow">if</font>(_Id != NULL) +00483 { +00484 COperandSimple n(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (*_Id)); +00485 n.serial(f); +00486 } +00487 <font class="keywordflow">else</font> <font class="keywordflow">throw</font> <a class="code" href="structNLMISC_1_1EStream.html">NLMISC::EStream</a>(); +00488 } +00489 +<a name="l00490"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a2">00490</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a2">getInfo</a>() +00491 { +00492 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o2">_TxtInfo</a>; +00493 } +00494 +<a name="l00495"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a3">00495</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a3">getConstraintTypeOf</a>() +00496 { +00497 <font class="keywordflow">if</font>(_Id == NULL) +00498 { +00499 _Id = (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *)<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->getConstraintTypeOf(); +00500 } +00501 <font class="keywordflow">return</font> _Id; +00502 } +00503 +<a name="l00504"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a4">00504</a> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a4">clone</a>()<font class="keyword"> const</font> +00505 <font class="keyword"> </font>{ +00506 <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a0">COperandUnknown</a>((<a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *)<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->clone()); +00507 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00508 } +00509 +<a name="l00510"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a5">00510</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a5">run</a>(CCompilateur &c) +00511 { +00512 <font class="keywordflow">if</font>(_Id == NULL) +00513 { +00514 <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->run(c); +00515 <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a5">run</a>(<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>); +00516 } +00517 } +00518 +<a name="l00519"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a6">00519</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a5">run</a>(<a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *c) +00520 { +00521 <font class="keywordflow">if</font>(c == <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>) +00522 { +00523 _Id = (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *)<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->getConstraintTypeOf(); +00524 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a10">satisfied</a>()) +00525 { +00526 <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o3">_RunIsDone</a> = <font class="keyword">true</font>; +00527 } +00528 } +00529 } +00530 +<a name="l00531"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a7">00531</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a7">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> &c)<font class="keyword"> const</font> +00532 <font class="keyword"> </font>{ +00533 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a9">getTypeOfClass</a>() == c.getTypeOfClass() && *((<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a0">COperandUnknown</a> &)c)._Constraint == *<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>) +00534 { +00535 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00536 } +00537 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00538 } +00539 +<a name="l00540"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a8">00540</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a8">dependOn</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *c)<font class="keyword"> const</font> +00541 <font class="keyword"> </font>{ +00542 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a> == c || <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->dependOn(c); +00543 } +<a name="l00544"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a9">00544</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13">ConstraintTypeEnum</a> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a9">getTypeOfClass</a>()<font class="keyword"> const</font> +00545 <font class="keyword"> </font>{ +00546 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s6">operandUnknown</a>; +00547 } +00548 +<a name="l00549"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a10">00549</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a10">satisfied</a>() +00550 { +00551 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a3">getConstraintTypeOf</a>() != NULL; +00552 } +00553 +<a name="l00554"></a><a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a11">00554</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#a11">~COperandUnknown</a>() +00555 { +00556 <font class="keywordflow">if</font> (<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a> != NULL) +00557 { +00558 <font class="keywordflow">if</font>(!<a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o3">_RunIsDone</a>) <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->popConstraint(<font class="keyword">this</font>); +00559 +00560 <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a>->release(); +00561 <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o0">_Constraint</a> = NULL; +00562 +00563 } +00564 <font class="keyword">delete</font> <a class="code" href="classNLAISCRIPT_1_1COperandUnknown.html#o2">_TxtInfo</a>; +00565 } +00566 }; +00567 +<a name="l00577"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html">00577</a> <font class="keyword">class </font>COperationType: <font class="keyword">public</font> IOpType +00578 { +00579 <font class="keyword">private</font>: +<a name="l00581"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#o0">00581</a> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *<a class="code" href="classNLAISCRIPT_1_1COperationType.html#o0">_Operand</a>; +<a name="l00583"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#o1">00583</a> <a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15">NLAIC::CTypeOfOperator::TTypeOp</a> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#o1">_Op</a>; +<a name="l00584"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#o2">00584</a> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperationType.html#o2">_TxtInfo</a>; +<a name="l00585"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#o3">00585</a> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperationType.html#o3">_Id</a>; +00586 <font class="keyword">public</font>: +<a name="l00587"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a0">00587</a> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a1">COperationType</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> &operand,<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15">NLAIC::CTypeOfOperator::TTypeOp</a> op): +00588 _Operand((<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *)operand.<a class="code" href="classNLAISCRIPT_1_1COperationType.html#a11">clone</a>()),<a class="code" href="classNLAISCRIPT_1_1COperationType.html#o1">_Op</a>(op) +00589 { +00590 +00591 <font class="keywordtype">char</font> txt[1028*8]; +00592 sprintf(txt,<font class="stringliteral">"constraint<COperationType> for %s"</font>,_Operand->getInfo()); +00593 <a class="code" href="classNLAISCRIPT_1_1COperationType.html#o2">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(txt) + 1]; +00594 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperationType.html#o2">_TxtInfo</a>,txt); +00595 _Id = NULL; +00596 } +00597 +00598 +<a name="l00599"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a1">00599</a> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a1">COperationType</a>():_Operand(NULL),<a class="code" href="classNLAISCRIPT_1_1COperationType.html#o1">_Op</a>((NLAIC::CTypeOfOperator::TTypeOp)0) +00600 { +00601 _Id = NULL; +00602 } +00603 +<a name="l00604"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a2">00604</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a2">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00605 { +00606 <font class="keywordflow">if</font>(_Id != NULL) +00607 { +00608 COperandSimple n(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (*_Id)); +00609 n.serial(f); +00610 } +00611 <font class="keywordflow">else</font> <font class="keywordflow">throw</font> <a class="code" href="structNLMISC_1_1EStream.html">NLMISC::EStream</a>(); +00612 } +00613 +<a name="l00614"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a3">00614</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperationType.html#a3">getInfo</a>() +00615 { +00616 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#o2">_TxtInfo</a>; +00617 } +00618 +<a name="l00619"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a4">00619</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a4">setOp</a>(<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15">NLAIC::CTypeOfOperator::TTypeOp</a> op) +00620 { +00621 <a class="code" href="classNLAISCRIPT_1_1COperationType.html#o1">_Op</a> = op; +00622 } +00623 +<a name="l00624"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a5">00624</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a5">setOperand</a>(<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *operand) +00625 { +00626 _Operand = operand; +00627 <font class="keywordtype">char</font> txt[1028*8]; +00628 sprintf(txt,<font class="stringliteral">"constraint<COperationType> for %s"</font>,operand->getInfo()); +00629 <a class="code" href="classNLAISCRIPT_1_1COperationType.html#o2">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(txt) + 1]; +00630 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperationType.html#o2">_TxtInfo</a>,txt); +00631 } +00632 +<a name="l00633"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a6">00633</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a6">dependOn</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *c)<font class="keyword"> const</font> +00634 <font class="keyword"> </font>{ +00635 <font class="keywordflow">return</font> _Operand->dependOn(c); +00636 } +00637 +<a name="l00638"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a7">00638</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a7">run</a>(CCompilateur &c) +00639 { +00640 _Operand->run(c); +00641 _Id = (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *)<a class="code" href="classNLAISCRIPT_1_1COperationType.html#a9">getConstraintTypeOf</a>(); +00642 } +00643 +00644 +<a name="l00645"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a8">00645</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a7">run</a>(<a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *c) +00646 { +00647 } +00648 +<a name="l00649"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a9">00649</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperationType.html#a9">getConstraintTypeOf</a>() +00650 { +00651 <font class="keywordflow">if</font>(_Id) <font class="keywordflow">return</font> _Id; +00652 <font class="keywordflow">else</font> <font class="keywordflow">return</font> (_Id = (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *)_Operand->getConstraintTypeOf()); +00653 } +00654 +<a name="l00655"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a10">00655</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a10">satisfied</a>() +00656 { +00657 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a9">getConstraintTypeOf</a>() != NULL; +00658 } +00659 +<a name="l00660"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a11">00660</a> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperationType.html#a11">clone</a>()<font class="keyword"> const</font> +00661 <font class="keyword"> </font>{ +00662 <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a1">COperationType</a>((<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a0">COperationType</a> &)*_Operand,<a class="code" href="classNLAISCRIPT_1_1COperationType.html#o1">_Op</a>); +00663 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00664 } +00665 +00666 +<a name="l00667"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a12">00667</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a12">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> &c)<font class="keyword"> const</font> +00668 <font class="keyword"> </font>{ +00669 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperationType.html#a13">getTypeOfClass</a>() == c.getTypeOfClass() && *((<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a0">COperationType</a> &)c)._Operand == *_Operand && ((<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a0">COperationType</a> &)c)._Op == <a class="code" href="classNLAISCRIPT_1_1COperationType.html#o1">_Op</a>) +00670 { +00671 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00672 } +00673 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00674 } +00675 +<a name="l00676"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a13">00676</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13">ConstraintTypeEnum</a> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a13">getTypeOfClass</a>()<font class="keyword"> const</font> +00677 <font class="keyword"> </font>{ +00678 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s7">operationType</a>; +00679 } +00680 +<a name="l00681"></a><a class="code" href="classNLAISCRIPT_1_1COperationType.html#a14">00681</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#a14">~COperationType</a>() +00682 { +00683 _Operand->release(); +00684 <font class="keyword">delete</font> <a class="code" href="classNLAISCRIPT_1_1COperationType.html#o2">_TxtInfo</a>; +00685 } +00686 }; +00687 +<a name="l00697"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html">00697</a> <font class="keyword">class </font>COperationTypeGD: <font class="keyword">public</font> IOpType +00698 { +00699 <font class="keyword">private</font>: +<a name="l00701"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o0">00701</a> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o0">_OpG</a>; +00702 <font class="comment">//Left operand.</font> +<a name="l00703"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o1">00703</a> <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o1">_OpD</a>; +<a name="l00705"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o2">00705</a> <a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15">NLAIC::CTypeOfOperator::TTypeOp</a> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o2">_Op</a>; +<a name="l00706"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">00706</a> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a>; +<a name="l00707"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o4">00707</a> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o4">_Id</a>; +00708 <font class="keyword">public</font>: +<a name="l00709"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a0">00709</a> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a1">COperationTypeGD</a>(<font class="keyword">const</font> COperationType &opG,<font class="keyword">const</font> COperationType &opD,<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15">NLAIC::CTypeOfOperator::TTypeOp</a> op): +00710 _OpG((<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *)opG.<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a8">clone</a>()),_OpD((<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *)opD.<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a8">clone</a>()),<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o2">_Op</a>(op) +00711 { +00712 <font class="keywordtype">char</font> txt[1028*8]; +00713 sprintf(txt,<font class="stringliteral">"constraint<COperationType> for <%s> <%s>"</font>,_OpG->getInfo(),_OpD->getInfo()); +00714 <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(txt) + 1]; +00715 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a>,txt); +00716 _Id = NULL; +00717 <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a> = NULL; +00718 +00719 } +00720 +<a name="l00721"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a1">00721</a> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a1">COperationTypeGD</a>() +00722 { +00723 _OpG = _OpD = NULL; +00724 <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o2">_Op</a> = (NLAIC::CTypeOfOperator::TTypeOp)0; +00725 _Id = NULL; +00726 <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a> = NULL; +00727 } +00728 +<a name="l00729"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a2">00729</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a2">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00730 { +00731 <font class="keywordflow">if</font>(_Id != NULL) +00732 { +00733 COperandSimple n(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (*_Id)); +00734 n.serial(f); +00735 } +00736 <font class="keywordflow">else</font> <font class="keywordflow">throw</font> <a class="code" href="structNLMISC_1_1EStream.html">NLMISC::EStream</a>(); +00737 } +00738 +<a name="l00739"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a3">00739</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a3">getInfo</a>() +00740 { +00741 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a> == NULL) +00742 { +00743 <font class="keywordtype">char</font> txt[1028*8]; +00744 sprintf(txt,<font class="stringliteral">"constraint<COperationTypeGD> for <%s> <%s>"</font>,_OpG->getInfo(),_OpD->getInfo()); +00745 <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(txt) + 1]; +00746 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a>,txt); +00747 } +00748 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a>; +00749 } +00750 +<a name="l00751"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a4">00751</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a4">dependOn</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *c)<font class="keyword"> const</font> +00752 <font class="keyword"> </font>{ +00753 <font class="keywordflow">return</font> _OpG->dependOn(c) || c == _OpG || _OpD->dependOn(c) || c == _OpD; +00754 } +00755 +<a name="l00756"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a5">00756</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a5">setOp</a>(<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15">NLAIC::CTypeOfOperator::TTypeOp</a> op) +00757 { +00758 <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o2">_Op</a> = op; +00759 } +00760 +<a name="l00761"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a6">00761</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a6">setOperationG</a>(<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *opG) +00762 { +00763 _OpG = opG; +00764 +00765 } +00766 +<a name="l00767"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a7">00767</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a7">setOperationD</a>(<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *opD) +00768 { +00769 _OpD = opD; +00770 } +00771 +<a name="l00772"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a8">00772</a> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a8">clone</a>()<font class="keyword"> const</font> +00773 <font class="keyword"> </font>{ +00774 <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a1">COperationTypeGD</a> ((<font class="keyword">const</font> COperationType &)*_OpG,(<font class="keyword">const</font> COperationType &)*_OpD,<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o2">_Op</a>); +00775 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00776 } +00777 +<a name="l00778"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a9">00778</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a9">run</a>(CCompilateur &c) +00779 { +00780 _OpG->run(c); +00781 _OpD->run(c); +00782 +00783 _Id = (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *)<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a11">getConstraintTypeOf</a>(); +00784 } +00785 +00786 +<a name="l00787"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a10">00787</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a9">run</a>(<a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *c) +00788 { +00789 } +00790 +<a name="l00791"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a11">00791</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a11">getConstraintTypeOf</a>() +00792 { +00793 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a12">satisfied</a>()) <font class="keywordflow">return</font> (_Id = (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *)_OpG->getConstraintTypeOf()); +00794 <font class="keywordflow">return</font> NULL; +00795 } +00796 +00797 <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a12">satisfied</a>(); +00798 +00799 +<a name="l00800"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a13">00800</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a13">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> &c)<font class="keyword"> const</font> +00801 <font class="keyword"> </font>{ +00802 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a14">getTypeOfClass</a>() == c.getTypeOfClass() && *((<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a0">COperationTypeGD</a> &)c)._OpG == *_OpG && *((<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a0">COperationTypeGD</a> &)c)._OpD == *_OpD) +00803 { +00804 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00805 } +00806 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00807 } +00808 +00809 +<a name="l00810"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a14">00810</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13">ConstraintTypeEnum</a> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a14">getTypeOfClass</a>()<font class="keyword"> const</font> +00811 <font class="keyword"> </font>{ +00812 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s8">operationTypeGD</a>; +00813 } +00814 +<a name="l00815"></a><a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a15">00815</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#a15">~COperationTypeGD</a>() +00816 { +00817 <font class="keywordflow">if</font>(_OpG) _OpG->release(); +00818 <font class="keywordflow">if</font>(_OpD) _OpD->release(); +00819 <font class="keyword">delete</font> <a class="code" href="classNLAISCRIPT_1_1COperationTypeGD.html#o3">_TxtInfo</a>; +00820 } +00821 }; +00822 +<a name="l00833"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html">00833</a> <font class="keyword">class </font>COperandListType: <font class="keyword">public</font> IOpType +00834 { +00835 <font class="keyword">private</font>: +<a name="l00836"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o0">00836</a> <a class="code" href="classstd_1_1list.html">std::list<IOpType *></a> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o0">_List</a>; +<a name="l00837"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o1">00837</a> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o1">_Id</a>; +<a name="l00838"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o2">00838</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o2">_S</a>; +<a name="l00839"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o3">00839</a> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o3">_TxtInfo</a>; +00840 <font class="keyword">public</font>: +00841 +<a name="l00842"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a0">00842</a> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a1">COperandListType</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a0">COperandListType</a> &c) +00843 { +00844 <a class="code" href="classstd_1_1list.html">std::list<IOpType *></a>::const_iterator i = c._List.begin(); +00845 <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o2">_S</a> = c._S; +00846 <font class="keywordflow">while</font>(i != c._List.end()) +00847 { +00848 _List.push_back(*i); +00849 (*i)->incRef(); +00850 i ++; +00851 } +00852 <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o3">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(c._TxtInfo) + 1]; +00853 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o3">_TxtInfo</a>,c._TxtInfo); +00854 <font class="keywordflow">if</font>(c._Id) _Id = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (*c._Id); +00855 } +00856 +<a name="l00857"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a1">00857</a> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a1">COperandListType</a>() +00858 { +00859 _Id = NULL; +00860 <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o2">_S</a> = <font class="keyword">false</font>; +00861 <font class="keywordtype">char</font> txt[1028*8]; +00862 sprintf(txt,<font class="stringliteral">"constraint<COperandListType>"</font>); +00863 <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o3">_TxtInfo</a> = <font class="keyword">new</font> <font class="keywordtype">char</font> [strlen(txt) + 1]; +00864 strcpy(<a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o3">_TxtInfo</a>,txt); +00865 } +00866 +<a name="l00867"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a2">00867</a> <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a2">serial</a>(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) <font class="keywordflow">throw</font>(NLMISC::EStream) +00868 { +00869 <font class="keywordflow">if</font>(_Id != NULL) +00870 { +00871 COperandSimple n(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (*_Id)); +00872 n.serial(f); +00873 } +00874 <font class="keywordflow">else</font> <font class="keywordflow">throw</font> <a class="code" href="structNLMISC_1_1EStream.html">NLMISC::EStream</a>(); +00875 } +00876 +<a name="l00877"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a3">00877</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13">ConstraintTypeEnum</a> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a3">getTypeOfClass</a>()<font class="keyword"> const</font> +00878 <font class="keyword"> </font>{ +00879 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s9">operandListType</a>; +00880 } +00881 +<a name="l00882"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a4">00882</a> <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a4">clone</a>()<font class="keyword"> const</font> +00883 <font class="keyword"> </font>{ +00884 <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a1">COperandListType</a> (*<font class="keyword">this</font>); +00885 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00886 } +00887 +<a name="l00888"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a5">00888</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *<a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a5">getConstraintTypeOf</a>() +00889 { +00890 <font class="keywordflow">return</font> _Id; +00891 } +00892 +<a name="l00893"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a6">00893</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a6">operator == </a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> &c)<font class="keyword"> const</font> +00894 <font class="keyword"> </font>{ +00895 <font class="keywordflow">if</font>(<a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a3">getTypeOfClass</a>() == c.getTypeOfClass()) +00896 { +00897 <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a0">COperandListType</a> &o = (<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a0">COperandListType</a> &)c; +00898 +00899 <font class="keywordflow">if</font>(o._List.size() != _List.size()) <font class="keywordflow">return</font> <font class="keyword">false</font>; +00900 +00901 <a class="code" href="classstd_1_1list.html">std::list<IOpType *></a>::const_iterator i = o._List.begin(); +00902 <a class="code" href="classstd_1_1list.html">std::list<IOpType *></a>::const_iterator j = _List.begin(); +00903 <font class="keywordflow">while</font>(j != _List.end()) +00904 { +00905 <font class="keywordflow">if</font>(!(*(*i) == *(*j))) <font class="keywordflow">return</font> <font class="keyword">false</font>; +00906 i ++; +00907 j ++; +00908 } +00909 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00910 } +00911 <font class="keywordflow">else</font> +00912 { +00913 <a class="code" href="classstd_1_1list.html">std::list<IOpType *></a>::const_iterator j = _List.begin(); +00914 <font class="keywordflow">while</font>(j != _List.end()) +00915 { +00916 <font class="keywordflow">if</font>( c == *(*j)) <font class="keywordflow">return</font> <font class="keyword">true</font>; +00917 j ++; +00918 } +00919 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00920 } +00921 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00922 } +00923 +<a name="l00924"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a7">00924</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a7">getInfo</a>() +00925 { +00926 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o3">_TxtInfo</a>; +00927 } +00928 +<a name="l00929"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a8">00929</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a8">satisfied</a>() +00930 { +00931 <font class="keywordflow">return</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o2">_S</a>; +00932 } +00933 +<a name="l00934"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a9">00934</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a9">run</a>(CCompilateur &c) +00935 { +00936 <a class="code" href="classstd_1_1list.html">std::list<IOpType *></a>::iterator i = _List.begin(); +00937 <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o2">_S</a> = <font class="keyword">true</font>; +00938 <font class="keywordflow">while</font>(i != _List.end()) +00939 { +00940 <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *o = *i++; +00941 o->run(c); +00942 <font class="keywordflow">if</font>(o->satisfied()) +00943 { +00944 <font class="keywordflow">if</font>(_Id == NULL) +00945 { +00946 _Id = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(*o->getConstraintTypeOf()); +00947 } +00948 <font class="keywordflow">else</font> <font class="keywordflow">if</font>(!(*_Id == *o->getConstraintTypeOf())) <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o2">_S</a> = <font class="keyword">false</font>; +00949 } +00950 } +00951 } +00952 +<a name="l00953"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a10">00953</a> <font class="keywordtype">bool</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a10">dependOn</a>(<font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *a)<font class="keyword"> const</font> +00954 <font class="keyword"> </font>{ +00955 <a class="code" href="classstd_1_1list.html">std::list<IOpType *></a>::const_iterator i = _List.begin(); +00956 <font class="keywordflow">while</font>(i != _List.end()) +00957 { +00958 <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#a0">IConstraint</a> *o = *i++; +00959 <font class="keywordflow">if</font>(a == o || o->dependOn(a)) <font class="keywordflow">return</font> <font class="keyword">true</font>; +00960 } +00961 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00962 } +00963 +<a name="l00964"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a11">00964</a> <font class="keywordtype">void</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a11">add</a>(<a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *o) +00965 { +00966 _List.push_back(o); +00967 } +00968 +<a name="l00969"></a><a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a12">00969</a> <font class="keyword">virtual</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#a12">~COperandListType</a>() +00970 { +00971 <font class="keywordflow">while</font>(_List.size()) +00972 { +00973 _List.back()->release(); +00974 _List.pop_back(); +00975 } +00976 <font class="keywordflow">if</font>(_Id) <font class="keyword">delete</font> _Id; +00977 <font class="keyword">delete</font> <a class="code" href="classNLAISCRIPT_1_1COperandListType.html#o3">_TxtInfo</a>; +00978 } +00979 +00980 +00981 }; +00982 +<a name="l00984"></a><a class="code" href="classNLAISCRIPT_1_1IOpType.html#d0">00984</a> <font class="keyword">inline</font> <font class="keyword">const</font> IOpType *IOpType::loadIOpType(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &f) +00985 { +00986 IConstraint::ConstraintTypeEnum k = <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s0">constraintMethode</a>; +00987 <a class="code" href="classNLAISCRIPT_1_1IOpType.html#a0">IOpType</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00988 +00989 f.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>((sint32 &)k); +00990 +00991 <font class="keywordflow">switch</font>(k) +00992 { +00993 <font class="keywordflow">case</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s4">operandAnyObject</a>: +00994 x = <font class="keyword">new</font> COperandAnyObject(); +00995 <font class="keywordflow">return</font> x; +00996 +00997 <font class="keywordflow">case</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s5">operandVoid</a>: +00998 x = <font class="keyword">new</font> COperandVoid(); +00999 <font class="keywordflow">return</font> x; +01000 +01001 <font class="keywordflow">case</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s2">operandSimple</a>: +01002 x = <font class="keyword">new</font> COperandSimple(f); +01003 <font class="keywordflow">return</font> x; +01004 +01005 <font class="keywordflow">case</font> <a class="code" href="classNLAISCRIPT_1_1IConstraint.html#s13s3">operandSimpleListOr</a>: +01006 x = <font class="keyword">new</font> COperandSimpleListOr(f); +01007 <font class="keywordflow">return</font> x; +01008 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01009 } +01010 <font class="keywordflow">return</font> NULL; +01011 } +01012 } +01013 <font class="preprocessor">#endif</font> +</pre></div> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |