gem-graph-client/doc/html/de/d0e/conditions_8c.html

142 lines
7.8 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Gem-graph: src/widget/main_window/one_rule/algebra/conditions.c File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../logo icon mini.png"/></td>
<td id="projectalign">
<div id="projectname">Gem-graph<span id="projectnumber">&#160;0.1.0</span>
</div>
<div id="projectbrief">A modelling tool based on rewriting of geometric graphs.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="../../dir_c570470bf3e4213fb57699dd2e921b84.html">widget</a></li><li class="navelem"><a class="el" href="../../dir_4378cb27ffdfc18b738d6615673a7a16.html">main_window</a></li><li class="navelem"><a class="el" href="../../dir_8667849977c2734846655dc647f12661.html">one_rule</a></li><li class="navelem"><a class="el" href="../../dir_68a51ecf4137935c7484c3f9c0526c00.html">algebra</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">conditions.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Algebra of rule conditions.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="../../d8/d0c/util_8h.html">../../../../../include/util.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../dd/d01/fsm_8h.html">../../../../../include/fsm.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../df/d05/widget_8h.html">../../../../../include/widget.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="../../d8/d09/signal_8h.html">../../../../../include/signal.h</a>&quot;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a8d42128cf54da36d55112fa5f5634f96" id="r_a8d42128cf54da36d55112fa5f5634f96"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0e/conditions_8c.html#a8d42128cf54da36d55112fa5f5634f96">widget_get_selected_rule_conditions_list_btt</a> ()</td></tr>
<tr class="memdesc:a8d42128cf54da36d55112fa5f5634f96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds and presents the conditions list of a rule. <br /></td></tr>
<tr class="separator:a8d42128cf54da36d55112fa5f5634f96"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Algebra of rule conditions. </p>
<p>This file is part of Gem-graph. It hosts the functions needed to describe the conditions under which a rule is applied. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a8d42128cf54da36d55112fa5f5634f96" name="a8d42128cf54da36d55112fa5f5634f96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d42128cf54da36d55112fa5f5634f96">&#9670;&#160;</a></span>widget_get_selected_rule_conditions_list_btt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void * widget_get_selected_rule_conditions_list_btt </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds and presents the conditions list of a rule. </p>
<p>This list sets out all the conditions that the rule must meet in order to be applied.</p>
<p>Today, an arbitrary presentation with no link to the XML model and no verification of compliance with the meta-rules. (see below) TODO</p>
<p>|- - - - - - - - - - - - - - meta-rules - - - - - - - - - - - - - - - &gt;</p>
<p>No conditions should be repeated. No condition may contradict another (== a unique condition per address in rule workspace) Completeness is not required (== there does not need to be one condition per address in the rule workspace)</p>
<p>(NB The following applies to server workers) Two rules cannot share the same set of conditions. If several rules apply to the same set of local conditions - which can happen if several different actions are possible from the same situation - they must each include an additional condition determining their probability of execution in the event of a conflict. If two rules share the same local set of conditions, they must both be evaluated. If all the conditions of one rule are included in the conditions of another rule, then the other rule must be evaluated first.</p>
<p>&lt; - - - - - - - - - - - - - - meta-rules - - - - - - - - - - - - - - -|</p>
<dl class="section since"><dt>Since</dt><dd>2024-08</dd></dl>
<dl class="section see"><dt>See also</dt><dd>src/widget/one_rule/algebra/utilities/widget_set_item_text() </dd>
<dd>
src/fsm/dispatch/fsm_journal_event() &lt; TODO (for each item ?)</dd>
<dd>
src/widget/one_rule/algebra/dispatch()</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the conditions list </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>