diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a02818.html | 664 |
1 files changed, 664 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02818.html b/docs/doxygen/nel/a02818.html new file mode 100644 index 00000000..c9e5f1f0 --- /dev/null +++ b/docs/doxygen/nel/a02818.html @@ -0,0 +1,664 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLLOGIC::CLogicConditionNode class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.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">Data Structures</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">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLLOGIC::CLogicConditionNode Class Reference</h1><code>#include <<a class="el" href="a05947.html">logic_condition.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +<a class="el" href="a02818.html">CLogicConditionNode</a><p> +<dl compact><dt><b>Author:</b></dt><dd>Stephane Coutelas <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05947.html#l00187">187</a> of file <a class="el" href="a05947.html">logic_condition.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Types</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1">TConditionNodeType</a> { <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2">TERMINATOR</a> = 0, +<a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0">LOGIC_NODE</a> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">all condition node types <a href="#NLLOGIC_1_1CLogicConditionNodew1">More...</a><br><br></td></tr> +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea0">addNode</a> (<a class="el" href="a02818.html">CLogicConditionNode</a> *node)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea1">CLogicConditionNode</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea2">fillVarSet</a> (std::set< std::string > &condVars)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea3">read</a> (xmlNodePtr node)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea4">setLogicStateMachine</a> (<a class="el" href="a02825.html">CLogicStateMachine</a> *logicStateMachine)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea5">testLogic</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea6">write</a> (xmlNodePtr node) const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea7">~CLogicConditionNode</a> ()</td></tr> + +<tr><td colspan=2><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector< <a class="el" href="a02818.html">CLogicConditionNode</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">condition nodes <a href="#NLLOGIC_1_1CLogicConditionNodeo0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02817.html">CLogicConditionLogicBlock</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo1">LogicBlock</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">condition logic node <a href="#NLLOGIC_1_1CLogicConditionNodeo1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1">TConditionNodeType</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo2">Type</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">type of this condition node <a href="#NLLOGIC_1_1CLogicConditionNodeo2"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02825.html">CLogicStateMachine</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNoder0">_LogicStateMachine</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">state machine managing this logic block <a href="#NLLOGIC_1_1CLogicConditionNoder0"></a><br><br></td></tr> +</table> +<hr><h2>Member Enumeration Documentation</h2> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodew1" doxytag="NLLOGIC::CLogicConditionNode::TConditionNodeType" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> enum <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1">NLLOGIC::CLogicConditionNode::TConditionNodeType</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +all condition node types +<p> +<dl compact><dt><b>Enumeration values: </b></dt><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em><a class="anchor" name="NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2" doxytag="TERMINATOR" ></a>TERMINATOR</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0" doxytag="LOGIC_NODE" ></a>LOGIC_NODE</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a05947.html#l00195">195</a> of file <a class="el" href="a05947.html">logic_condition.h</a>. +<p> +Referenced by <a class="el" href="a05946.html#l00470">read()</a>. +<p> +<div class="fragment"><pre>00196 { +00197 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2">TERMINATOR</a> = 0, +00198 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0">LOGIC_NODE</a> +00199 }; +</pre></div> </td> + </tr> +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodea1" doxytag="NLLOGIC::CLogicConditionNode::CLogicConditionNode" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLLOGIC::CLogicConditionNode::CLogicConditionNode </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Default constructor +<p> +Definition at line <a class="el" href="a05947.html#l00214">214</a> of file <a class="el" href="a05947.html">logic_condition.h</a>. +<p> +References <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2">TERMINATOR</a>. +<p> +Referenced by <a class="el" href="a05946.html#l00470">read()</a>. +<p> +<div class="fragment"><pre>00215 { +00216 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNoder0">_LogicStateMachine</a> = 0; +00217 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo2">Type</a> = <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2">TERMINATOR</a>; +00218 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodea7" doxytag="NLLOGIC::CLogicConditionNode::~CLogicConditionNode" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLLOGIC::CLogicConditionNode::~<a class="el" href="a02818.html">CLogicConditionNode</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Destructor +<p> +Definition at line <a class="el" href="a05946.html#l00507">507</a> of file <a class="el" href="a05946.html">logic_condition.cpp</a>. +<p> +<div class="fragment"><pre>00508 { +00509 vector<CLogicConditionNode *>::iterator itNodes; +00510 <span class="keywordflow">for</span>( itNodes = <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.begin(); itNodes != <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.end(); ++itNodes ) +00511 { +00512 <span class="keyword">delete</span> (*itNodes); +00513 } +00514 +00515 } <span class="comment">// ~CLogicConditionNode //</span> +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodea0" doxytag="NLLOGIC::CLogicConditionNode::addNode" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicConditionNode::addNode </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02818.html">CLogicConditionNode</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>node</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +add a node in the subtree<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>node</em> </td><td>is the new node to add</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05946.html#l00325">325</a> of file <a class="el" href="a05946.html">logic_condition.cpp</a>. +<p> +References <a class="el" href="a05946.html#l00296">setLogicStateMachine()</a>. +<p> +<div class="fragment"><pre>00326 { +00327 node->setLogicStateMachine( _LogicStateMachine ); +00328 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.push_back( node ); +00329 +00330 } <span class="comment">// addToSubNodes //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodea2" doxytag="NLLOGIC::CLogicConditionNode::fillVarSet" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicConditionNode::fillVarSet </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">std::set< std::string > & </td> + <td class="mdname1" valign="top" nowrap> <em>condVars</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Fill a set with all the variables name referenced by this condition<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>condVars</em> </td><td>is a set to store the variable names</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05946.html#l00388">388</a> of file <a class="el" href="a05946.html">logic_condition.cpp</a>. +<p> +References <a class="el" href="a05946.html#l00193">NLLOGIC::CLogicConditionLogicBlock::fillVarSet()</a>, <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0">LOGIC_NODE</a>, and <a class="el" href="a05947.html#l00206">LogicBlock</a>. +<p> +<div class="fragment"><pre>00389 { +00390 <span class="keywordflow">if</span>( <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo2">Type</a> == <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0">LOGIC_NODE</a> ) +00391 { +00392 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo1">LogicBlock</a>.fillVarSet( condVars ); +00393 } +00394 +00395 vector<CLogicConditionNode *>::iterator itNode; +00396 <span class="keywordflow">for</span>( itNode = <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.begin(); itNode != <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.end(); ++itNode ) +00397 { +00398 (*itNode)->fillVarSet( condVars ); +00399 } +00400 +00401 } <span class="comment">// fillVarSet //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodea3" doxytag="NLLOGIC::CLogicConditionNode::read" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicConditionNode::read </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">xmlNodePtr </td> + <td class="mdname1" valign="top" nowrap> <em>node</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05946.html#l00470">470</a> of file <a class="el" href="a05946.html">logic_condition.cpp</a>. +<p> +References <a class="el" href="a05947.html#l00214">CLogicConditionNode()</a>, <a class="el" href="a05954.html#l00072">NLLOGIC::getXMLProp()</a>, <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0">LOGIC_NODE</a>, <a class="el" href="a05947.html#l00206">LogicBlock</a>, <a class="el" href="a05946.html#l00265">NLLOGIC::CLogicConditionLogicBlock::read()</a>, <a class="el" href="a05947.html#l00195">TConditionNodeType</a>, <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2">TERMINATOR</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00237">v</a>, and <a class="el" href="a05954.html#l00042">NLLOGIC::xmlCheckNodeName()</a>. +<p> +<div class="fragment"><pre>00471 { +00472 <a class="code" href="a05376.html#a2">xmlCheckNodeName</a> (node, <span class="stringliteral">"CONDITION_NODE"</span>); +00473 +00474 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo2">Type</a> = (<a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1">TConditionNodeType</a> )atoi(getXMLProp (node, <span class="stringliteral">"Type"</span>).c_str()); +00475 <span class="keywordflow">switch</span>( <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo2">Type</a> ) +00476 { +00477 <span class="keywordflow">case</span> <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2">TERMINATOR</a> : <span class="keywordflow">break</span>; +00478 <span class="keywordflow">case</span> <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0">LOGIC_NODE</a> : +00479 { +00480 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo1">LogicBlock</a>.read (node); +00481 +00482 { +00483 <span class="comment">// Count the parent</span> +00484 <a class="code" href="a04558.html#a15">uint</a> nb = CIXml::countChildren (node, <span class="stringliteral">"CONDITION_NODE"</span>); +00485 <a class="code" href="a04558.html#a15">uint</a> i = 0; +00486 xmlNodePtr parent = CIXml::getFirstChildNode (node, <span class="stringliteral">"CONDITION_NODE"</span>); +00487 <span class="keywordflow">while</span> (i<nb) +00488 { +00489 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea1">CLogicConditionNode</a> *<a class="code" href="a04223.html#a576">v</a> = <span class="keyword">new</span> <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodea1">CLogicConditionNode</a>(); +00490 <a class="code" href="a04223.html#a576">v</a>->read(parent); +00491 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.push_back (v); +00492 +00493 <span class="comment">// Next parent</span> +00494 parent = CIXml::getNextChildNode (parent, <span class="stringliteral">"CONDITION_NODE"</span>); +00495 i++; +00496 } +00497 } +00498 } +00499 <span class="keywordflow">break</span>; +00500 }; +00501 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodea4" doxytag="NLLOGIC::CLogicConditionNode::setLogicStateMachine" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicConditionNode::setLogicStateMachine </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02825.html">CLogicStateMachine</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>logicStateMachine</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the logic state machine<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>logicStateMachine</em> </td><td>is the state machine containing this block</td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a05946.html#l00296">296</a> of file <a class="el" href="a05946.html">logic_condition.cpp</a>. +<p> +References <a class="el" href="a05947.html#l00206">LogicBlock</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a05946.html#l00126">NLLOGIC::CLogicConditionLogicBlock::setLogicStateMachine()</a>. +<p> +Referenced by <a class="el" href="a05946.html#l00325">addNode()</a>. +<p> +<div class="fragment"><pre>00297 { +00298 <span class="keywordflow">if</span>( logicStateMachine == 0 ) +00299 { +00300 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"(LOGIC)<CLogicConditionNode::setLogicStateMachine> The state machine is null"</span>); +00301 } +00302 <span class="keywordflow">else</span> +00303 { +00304 <span class="comment">// set the state machine of this node</span> +00305 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNoder0">_LogicStateMachine</a> = logicStateMachine; +00306 +00307 <span class="comment">// set the state machine of the logic block </span> +00308 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo1">LogicBlock</a>.setLogicStateMachine( logicStateMachine ); +00309 +00310 <span class="comment">// set the state machine for the sub nodes</span> +00311 vector<CLogicConditionNode *>::iterator itNodes; +00312 <span class="keywordflow">for</span>( itNodes = <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.begin(); itNodes != <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.end(); ++itNodes ) +00313 { +00314 (*itNodes)->setLogicStateMachine( logicStateMachine ); +00315 } +00316 } +00317 +00318 } <span class="comment">// setLogicStateMachine //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodea5" doxytag="NLLOGIC::CLogicConditionNode::testLogic" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLLOGIC::CLogicConditionNode::testLogic </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Test the condition<p> +<dl compact><dt><b>Returns:</b></dt><dd>true if this condition is fulfiled, false else</dd></dl> + +<p> +Definition at line <a class="el" href="a05946.html#l00337">337</a> of file <a class="el" href="a05946.html">logic_condition.cpp</a>. +<p> +References <a class="el" href="a05947.html#l00146">NLLOGIC::CLogicConditionLogicBlock::isNotBlock()</a>, <a class="el" href="a05947.html#l00206">LogicBlock</a>, and <a class="el" href="a05946.html#l00148">NLLOGIC::CLogicConditionLogicBlock::testLogic()</a>. +<p> +<div class="fragment"><pre>00338 { +00339 <span class="comment">// test the logic block</span> +00340 <span class="keywordflow">if</span>( <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo1">LogicBlock</a>.testLogic() == <span class="keyword">false</span> ) +00341 { +00342 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00343 } +00344 +00345 <span class="comment">// if there's no subtree we assess the subtree is true</span> +00346 <span class="keywordflow">if</span>( <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.size() == 0 ) +00347 { +00348 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00349 } +00350 +00351 <span class="comment">// test the subtree</span> +00352 <span class="keywordflow">if</span>( <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo1">LogicBlock</a>.isNotBlock() ) +00353 { +00354 <span class="comment">// the subtree is false if at least one node is true</span> +00355 vector<CLogicConditionNode *>::iterator itNodes; +00356 <span class="keywordflow">for</span>( itNodes = <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.begin(); itNodes != <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.end(); ++itNodes ) +00357 { +00358 <span class="keywordflow">if</span>( (*itNodes)->testLogic() == <span class="keyword">true</span> ) +00359 { +00360 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00361 } +00362 } +00363 +00364 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00365 } +00366 <span class="keywordflow">else</span> +00367 { +00368 <span class="comment">// the subtree is true if at least one node is true</span> +00369 vector<CLogicConditionNode *>::iterator itNodes; +00370 <span class="keywordflow">for</span>( itNodes = <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.begin(); itNodes != <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.end(); ++itNodes ) +00371 { +00372 <span class="keywordflow">if</span>( (*itNodes)->testLogic() == <span class="keyword">true</span> ) +00373 { +00374 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00375 } +00376 } +00377 +00378 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00379 } +00380 +00381 } <span class="comment">// testLogic //</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodea6" doxytag="NLLOGIC::CLogicConditionNode::write" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLLOGIC::CLogicConditionNode::write </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">xmlNodePtr </td> + <td class="mdname1" valign="top" nowrap> <em>node</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05946.html#l00449">449</a> of file <a class="el" href="a05946.html">logic_condition.cpp</a>. +<p> +References <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0">LOGIC_NODE</a>, <a class="el" href="a05947.html#l00206">LogicBlock</a>, <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2">TERMINATOR</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05946.html#l00243">NLLOGIC::CLogicConditionLogicBlock::write()</a>. +<p> +<div class="fragment"><pre>00450 { +00451 xmlNodePtr elmPtr = xmlNewChild ( node, NULL, (<span class="keyword">const</span> xmlChar*)<span class="stringliteral">"CONDITION_NODE"</span>, NULL); +00452 xmlSetProp (elmPtr, (<span class="keyword">const</span> xmlChar*)<span class="stringliteral">"Type"</span>, (<span class="keyword">const</span> xmlChar*)<a class="code" href="a05378.html#a244">toString</a>((<a class="code" href="a04558.html#a11">uint32</a>)Type).c_str()); +00453 +00454 <span class="keywordflow">switch</span>( Type ) +00455 { +00456 <span class="keywordflow">case</span> <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew2">TERMINATOR</a> : <span class="keywordflow">break</span>; +00457 <span class="keywordflow">case</span> <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1NLLOGIC_1_1CLogicConditionNodew0">LOGIC_NODE</a> : +00458 { +00459 <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo1">LogicBlock</a>.write(elmPtr); +00460 vector<CLogicConditionNode *>::const_iterator itNode = <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.begin(); +00461 <span class="keywordflow">for</span>( ; itNode != <a class="code" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">_Nodes</a>.end(); ++itNode ) +00462 { +00463 (*itNode)->write(elmPtr); +00464 } +00465 } +00466 <span class="keywordflow">break</span>; +00467 }; +00468 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNoder0" doxytag="NLLOGIC::CLogicConditionNode::_LogicStateMachine" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a02825.html">CLogicStateMachine</a>* <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNoder0">NLLOGIC::CLogicConditionNode::_LogicStateMachine</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +state machine managing this logic block +<p> + +<p> +Definition at line <a class="el" href="a05947.html#l00190">190</a> of file <a class="el" href="a05947.html">logic_condition.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodeo0" doxytag="NLLOGIC::CLogicConditionNode::_Nodes" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> std::vector<<a class="el" href="a02818.html">CLogicConditionNode</a> *> <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo0">NLLOGIC::CLogicConditionNode::_Nodes</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +condition nodes +<p> + +<p> +Definition at line <a class="el" href="a05947.html#l00209">209</a> of file <a class="el" href="a05947.html">logic_condition.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodeo1" doxytag="NLLOGIC::CLogicConditionNode::LogicBlock" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a02817.html">CLogicConditionLogicBlock</a> <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo1">NLLOGIC::CLogicConditionNode::LogicBlock</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +condition logic node +<p> + +<p> +Definition at line <a class="el" href="a05947.html#l00206">206</a> of file <a class="el" href="a05947.html">logic_condition.h</a>. +<p> +Referenced by <a class="el" href="a05946.html#l00388">fillVarSet()</a>, <a class="el" href="a05946.html#l00470">read()</a>, <a class="el" href="a05946.html#l00296">setLogicStateMachine()</a>, <a class="el" href="a05946.html#l00337">testLogic()</a>, and <a class="el" href="a05946.html#l00449">write()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLLOGIC_1_1CLogicConditionNodeo2" doxytag="NLLOGIC::CLogicConditionNode::Type" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodew1">TConditionNodeType</a> <a class="el" href="a02818.html#NLLOGIC_1_1CLogicConditionNodeo2">NLLOGIC::CLogicConditionNode::Type</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +type of this condition node +<p> + +<p> +Definition at line <a class="el" href="a05947.html#l00202">202</a> of file <a class="el" href="a05947.html">logic_condition.h</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05947.html">logic_condition.h</a><li><a class="el" href="a05946.html">logic_condition.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 12:53:22 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |