File: vtkcommon_vtkfunctionparser.html

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (157 lines) | stat: -rw-r--r-- 11,027 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FreeMat: vtkFunctionParser</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</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 style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FreeMat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('vtkcommon_vtkfunctionparser.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">vtkFunctionParser </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_vtkcommon.html">Visualization Toolkit Common Classes</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>vtkFunctionParser is a class that takes in a mathematical expression as a char string, parses it, and evaluates it at the specified values of the variables in the input string.</p>
<p>You can use the "if" operator to create conditional expressions such as if ( test, trueresult, falseresult). These evaluate the boolean valued test expression and then evaluate either the trueresult or the falseresult expression to produce a final (scalar or vector valued) value. "test" may contain &lt;,&gt;,=,|,&amp;, and () and all three subexpressions can evaluate arbitrary function operators (ln, cos, +, if, etc)</p>
<p>.SECTION Thanks Thomas Dunne (<a href="#" onclick="location.href='mai'+'lto:'+'tho'+'ma'+'s.d'+'un'+'ne@'+'iw'+'r.u'+'ni'+'-he'+'id'+'elb'+'er'+'g.d'+'e'; return false;">thoma<span style="display: none;">.nosp@m.</span>s.du<span style="display: none;">.nosp@m.</span>nne@i<span style="display: none;">.nosp@m.</span>wr.u<span style="display: none;">.nosp@m.</span>ni-he<span style="display: none;">.nosp@m.</span>idel<span style="display: none;">.nosp@m.</span>berg.<span style="display: none;">.nosp@m.</span>de</a>) for adding code for two-parameter-parsing and a few functions (sign, min, max).</p>
<p>Sid Sydoriak (<a href="#" onclick="location.href='mai'+'lto:'+'sxs'+'@l'+'anl'+'.g'+'ov'; return false;">sxs@l<span style="display: none;">.nosp@m.</span>anl.<span style="display: none;">.nosp@m.</span>gov</a>) for adding boolean operations and conditional expressions and for fixing a variety of bugs.</p>
<p>To create an instance of class vtkFunctionParser, simply invoke its constructor as follows </p>
<pre class="fragment">  obj = vtkFunctionParser
</pre> <h1><a class="anchor" id="Methods"></a>
Methods</h1>
<p>The class vtkFunctionParser has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, <code>obj</code> is an instance of the vtkFunctionParser class. </p>
<ul>
<li>
<code>string = obj.GetClassName ()</code>  </li>
<li>
<code>int = obj.IsA (string name)</code>  </li>
<li>
<code>vtkFunctionParser = obj.NewInstance ()</code>  </li>
<li>
<code>vtkFunctionParser = obj.SafeDownCast (vtkObject o)</code>  </li>
<li>
<code>obj.SetFunction (string function)</code>  </li>
<li>
<code>string = obj.GetFunction ()</code>  </li>
<li>
<code>int = obj.IsScalarResult ()</code> - Check whether the result is a scalar result. If it isn't, then either the result is a vector or an error has occurred.  </li>
<li>
<code>int = obj.IsVectorResult ()</code> - Check whether the result is a vector result. If it isn't, then either the result is scalar or an error has occurred.  </li>
<li>
<code>double = obj.GetScalarResult ()</code> - Get a scalar result from evaluating the input function.  </li>
<li>
<code>double = obj.GetVectorResult ()</code> - Get a vector result from evaluating the input function.  </li>
<li>
<code>obj.GetVectorResult (double result[3])</code> - Get a vector result from evaluating the input function.  </li>
<li>
<code>obj.SetScalarVariableValue (string variableName, double value)</code> - Set the value of a scalar variable. If a variable with this name exists, then its value will be set to the new value. If there is not already a variable with this name, variableName will be added to the list of variables, and its value will be set to the new value.  </li>
<li>
<code>obj.SetScalarVariableValue (int i, double value)</code> - Set the value of a scalar variable. If a variable with this name exists, then its value will be set to the new value. If there is not already a variable with this name, variableName will be added to the list of variables, and its value will be set to the new value.  </li>
<li>
<code>double = obj.GetScalarVariableValue (string variableName)</code> - Get the value of a scalar variable.  </li>
<li>
<code>double = obj.GetScalarVariableValue (int i)</code> - Get the value of a scalar variable.  </li>
<li>
<code>obj.SetVectorVariableValue (string variableName, double xValue, double yValue, double zValue)</code> - Set the value of a vector variable. If a variable with this name exists, then its value will be set to the new value. If there is not already a variable with this name, variableName will be added to the list of variables, and its value will be set to the new value.  </li>
<li>
<code>obj.SetVectorVariableValue (string variableName, double values[3])</code> - Set the value of a vector variable. If a variable with this name exists, then its value will be set to the new value. If there is not already a variable with this name, variableName will be added to the list of variables, and its value will be set to the new value.  </li>
<li>
<code>obj.SetVectorVariableValue (int i, double xValue, double yValue, double zValue)</code> - Set the value of a vector variable. If a variable with this name exists, then its value will be set to the new value. If there is not already a variable with this name, variableName will be added to the list of variables, and its value will be set to the new value.  </li>
<li>
<code>obj.SetVectorVariableValue (int i, double values[3])</code> - Set the value of a vector variable. If a variable with this name exists, then its value will be set to the new value. If there is not already a variable with this name, variableName will be added to the list of variables, and its value will be set to the new value.  </li>
<li>
<code>double = obj.GetVectorVariableValue (string variableName)</code> - Get the value of a vector variable.  </li>
<li>
<code>obj.GetVectorVariableValue (string variableName, double value[3])</code> - Get the value of a vector variable.  </li>
<li>
<code>double = obj.GetVectorVariableValue (int i)</code> - Get the value of a vector variable.  </li>
<li>
<code>obj.GetVectorVariableValue (int i, double value[3])</code> - Get the value of a vector variable.  </li>
<li>
<code>int = obj.GetNumberOfScalarVariables ()</code> - Get the number of scalar variables.  </li>
<li>
<code>int = obj.GetNumberOfVectorVariables ()</code> - Get the number of vector variables.  </li>
<li>
<code>string = obj.GetScalarVariableName (int i)</code> - Get the ith scalar variable name.  </li>
<li>
<code>string = obj.GetVectorVariableName (int i)</code> - Get the ith vector variable name.  </li>
<li>
<code>obj.RemoveAllVariables ()</code> - Remove all the current variables.  </li>
<li>
<code>obj.RemoveScalarVariables ()</code> - Remove all the scalar variables.  </li>
<li>
<code>obj.RemoveVectorVariables ()</code> - Remove all the vector variables.  </li>
<li>
<code>obj.SetReplaceInvalidValues (int )</code> - When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported  </li>
<li>
<code>int = obj.GetReplaceInvalidValues ()</code> - When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported  </li>
<li>
<code>obj.ReplaceInvalidValuesOn ()</code> - When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported  </li>
<li>
<code>obj.ReplaceInvalidValuesOff ()</code> - When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported  </li>
<li>
<code>obj.SetReplacementValue (double )</code> - When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported  </li>
<li>
<code>double = obj.GetReplacementValue ()</code> - When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported  </li>
</ul>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="index.html">FreeMat Documentation</a></li><li class="navelem"><a class="el" href="sec_vtkcommon.html">Visualization Toolkit Common Classes</a></li>
    <li class="footer">Generated on Thu Jul 25 2013 17:18:30 for FreeMat by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.1 </li>
  </ul>
</div>
</body>
</html>