Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 60f1dc962abad0f3b492991a4fbef9be > files > 1069

vtk-doc-5.4.2-5mdv2010.0.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>VTK: vtkMultiThreshold Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>vtkMultiThreshold Class Reference</h1><!-- doxytag: class="vtkMultiThreshold" --><!-- doxytag: inherits="vtkMultiBlockDataSetAlgorithm" --><code>#include &lt;<a class="el" href="a04394.html">vtkMultiThreshold.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for vtkMultiThreshold:</div>
<div class="dynsection">
<p><center><img src="a12302.png" border="0" usemap="#a12303" alt="Inheritance graph"></center>
<map name="a12303">
<area shape="rect" href="a01056.html" title="Superclass for algorithms that produce only vtkMultiBlockDataSet as output." alt="" coords="5,229,216,256"><area shape="rect" href="a00101.html" title="Superclass for all sources, filters, and sinks in VTK." alt="" coords="61,155,160,181"><area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="71,80,151,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="56,5,165,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for vtkMultiThreshold:</div>
<div class="dynsection">
<p><center><img src="a12304.png" border="0" usemap="#a12305" alt="Collaboration graph"></center>
<map name="a12305">
<area shape="rect" href="a01056.html" title="Superclass for algorithms that produce only vtkMultiBlockDataSet as output." alt="" coords="145,499,356,525"><area shape="rect" href="a00101.html" title="Superclass for all sources, filters, and sinks in VTK." alt="" coords="281,381,380,408"><area shape="rect" href="a00472.html" title="Superclass for all pipeline executives in VTK." alt="" coords="477,499,576,525"><area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="407,173,487,200"><area shape="rect" href="a00895.html" title="Store zero or more vtkInformation instances." alt="" coords="404,264,553,291"><area shape="rect" href="a00872.html" title="Store vtkAlgorithm input/output information." alt="" coords="212,264,321,291"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="164,5,273,32"><area shape="rect" href="a00884.html" title="internal structure for vtkInformation" alt="" coords="5,173,168,200"><area shape="rect" href="a00886.html" title="Superclass for vtkInformation keys." alt="" coords="153,83,284,109"><area shape="rect" href="a01719.html" title="record modification and/or execution time" alt="" coords="308,83,417,109"><area shape="rect" href="a00891.html" title="Key for pointer to pointer." alt="" coords="192,173,373,200"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="a12306.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Threshold cells within multiple intervals. 
<p>
This filter can be substituted for a chain of several <a class="el" href="a01707.html" title="extracts cells where scalar value in cell satisfies threshold criterion">vtkThreshold</a> filters and can also perform more sophisticated subsetting operations. It generates a <a class="el" href="a01055.html" title="Composite dataset that organizes datasets into blocks.">vtkMultiBlockDataSet</a> as its output. This multiblock dataset contains a <a class="el" href="a01789.html" title="dataset represents arbitrary combinations of all possible cell types">vtkUnstructuredGrid</a> for each thresholded subset you request. A thresholded subset can be a set defined by an interval over a point or cell attribute of the mesh; these subsets are called IntervalSets. A thresholded subset can also be a boolean combination of one or more IntervalSets; these subsets are called BooleanSets. BooleanSets allow complex logic since their output can depend on multiple intervals over multiple variables defined on the input mesh. This is useful because it eliminates the need for thresholding several times and then appending the results, as can be required with <a class="el" href="a01707.html" title="extracts cells where scalar value in cell satisfies threshold criterion">vtkThreshold</a> when one wants to remove some range of values (e.g., a notch filter). Cells are not repeated when they belong to more than one interval unless those intervals have different output grids.<p>
Another advantage this filter provides over <a class="el" href="a01707.html" title="extracts cells where scalar value in cell satisfies threshold criterion">vtkThreshold</a> is the ability to threshold on non-scalar (i.e., vector, tensor, etc.) attributes without first computing an array containing some norm of the desired attribute. <a class="el" href="a01066.html" title="Threshold cells within multiple intervals.">vtkMultiThreshold</a> provides <img class="formulaInl" alt="$L_1$" src="form_59.png">, <img class="formulaInl" alt="$L_2$" src="form_60.png">, and <img class="formulaInl" alt="$L_{\infty}$" src="form_61.png"> norms.<p>
This filter makes a distinction between intermediate subsets and subsets that will be output to a grid. Each intermediate subset you create with AddIntervalSet or AddBooleanSet is given a unique integer identifier (via the return values of these member functions). If you wish for a given set to be output, you must call OutputSet and pass it one of these identifiers. The return of OutputSet is the integer index of the output set in the multiblock dataset created by this filter.<p>
For example, if an input mesh defined three attributes T, P, and s, one might wish to find cells that satisfy "T &lt; 320 [K] &amp;&amp; ( P &gt; 101 [kPa] || s &lt; 0.1 [kJ/kg/K] )". To accomplish this with a <a class="el" href="a01066.html" title="Threshold cells within multiple intervals.">vtkMultiThreshold</a> filter, <pre>
 vtkMultiThreshold* thr;
 int intervalSets[3];</pre><p>
<pre> intervalSets[0] = thr-&gt;AddIntervalSet( <a class="el" href="a00996.html#49c88083ce2b8ed50d41fc4ebd9868af">vtkMath::NegInf()</a>, 320., <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59" title="Specify a closed interval.">vtkMultiThreshold::CLOSED</a>, <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a>,
     <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1498b1aa402f61f3a526342b88ae5a8cc">vtkDataObject::FIELD_ASSOCIATION_POINTS</a>, "T", 0, 1 );
 intervalSets[1] = thr-&gt;AddIntervalSet( 101., <a class="el" href="a00996.html#54193733c61913fb566e47ba284ca7e8">vtkMath::Inf()</a>, <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a>, <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59" title="Specify a closed interval.">vtkMultiThreshold::CLOSED</a>,
     <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1d338da6f303011cba9a1def6bb0939bf">vtkDataObject::FIELD_ASSOCIATION_CELLS</a>, "P", 0, 1 );
 intervalSets[2] = thr-&gt;AddIntervalSet( <a class="el" href="a00996.html#49c88083ce2b8ed50d41fc4ebd9868af">vtkMath::NegInf()</a>, 0.1, <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59" title="Specify a closed interval.">vtkMultiThreshold::CLOSED</a>, <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a>,
     <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1498b1aa402f61f3a526342b88ae5a8cc">vtkDataObject::FIELD_ASSOCIATION_POINTS</a>, "s", 0, 1 );</pre><p>
<pre> int intermediate = thr-&gt;AddBooleanSet( <a class="el" href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c0ef06f56d8ee68ac1fa9142da1e83bab3" title="Include an element if it belongs to any input set.">vtkMultiThreshold::OR</a>, 2, &amp;intervalSets[1] );</pre><p>
<pre> int intersection[2];
 intersection[0] = intervalSets[0];
 intersection[1] = intermediate;
 int outputSet = thr-&gt;AddBooleanSet( vtkMultiThreshold::AND, 2, intersection );</pre><p>
<pre> int outputGridIndex = thr-&gt;OutputSet( outputSet );
 thr-&gt;<a class="el" href="a00101.html#fa4eff301069b8b47703cd4939aeffa7">Update()</a>;
 </pre> The result of this filter will be a multiblock dataset that contains a single child with the desired cells. If we had also called <code>thr-&gt;OutputSet( intervalSets[0] );</code>, there would be two child meshes and one would contain all cells with T &lt; 320 [K]. In that case, the output can be represented by this graph <div align="center">
<img src="inline_dotgraph_1.dot.png" alt="inline_dotgraph_1.dot" border="0" usemap="#inline_dotgraph_1.dot.map">
<map name="inline_dotgraph_1.dot.map"></map>
</div>
 The filled rectangles represent sets that are output. 
<p>Definition at line <a class="el" href="a04394.html#l00118">118</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>
<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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a">Closure</a> { <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b">OPEN</a> = 0, 
<a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59">CLOSED</a> = 1
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the endpoint value of an interval should be included or excluded.  <a href="a01066.html#e45472ebb7ff828e0513636244e0652a">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#2f93a36ad10fcf573fd56ad7019669a9">Norm</a> { <a class="el" href="a01066.html#2f93a36ad10fcf573fd56ad7019669a9e1437ffe251a70ef2f0813035e89e2b4">LINFINITY_NORM</a> = -3, 
<a class="el" href="a01066.html#2f93a36ad10fcf573fd56ad7019669a93da0e662365787c89942eb6d172a8c72">L2_NORM</a> = -2, 
<a class="el" href="a01066.html#2f93a36ad10fcf573fd56ad7019669a986be001d5b995c8f68876e7c4fa3574f">L1_NORM</a> = -1
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Norms that can be used to threshold vector attributes.  <a href="a01066.html#2f93a36ad10fcf573fd56ad7019669a9">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c0">SetOperation</a> { <br>
&nbsp;&nbsp;<a class="el" href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c0d7fc2bcc703c6f429bad84890dabbf56">AND</a>, 
<a class="el" href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c0ef06f56d8ee68ac1fa9142da1e83bab3">OR</a>, 
<a class="el" href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c07772cfd715b7335065283e70190d5c66">XOR</a>, 
<a class="el" href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c01da2ce25b1814aebbb2f623b85a015cc">WOR</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c09291ac1421d14d9fe63feee0016dc29d">NAND</a>
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operations that can be performed on sets to generate another set. Most of these operators take 2 or more input sets.  <a href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c0">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br>
<a class="el" href="a01056.html">vtkMultiBlockDataSetAlgorithm</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#55019d35d0285a76784f10b28553d7f0">Superclass</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#f33596ee1bec05b9f19715f5d570793f">TupleNorm</a> )(<a class="el" href="a00356.html">vtkDataArray</a> *arr, <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> tuple, int component)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A pointer to a function that returns a norm (or a single component) of a tuple with 1 or more components.  <a href="#f33596ee1bec05b9f19715f5d570793f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#5fcb5492a658faf9db1c3c335394696d">GetClassName</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#d1862498379814076fa24c3365c9da4d">IsA</a> (const char *type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#421ed7c01c31c3565f3901f65b8e1bed">PrintSelf</a> (ostream &amp;os, <a class="el" href="a00869.html">vtkIndent</a> indent)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#9e37a69354f370ac89d8fd85e6664076">AddBooleanSet</a> (int operation, int numInputs, int *inputs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#a6eedba6f61c10e3d1af7f6f83bc3234">OutputSet</a> (int setId)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#690072865e8567dc5342c147d23a46d6">Reset</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#c0e802afa864e4692c3d5d25d33cbe10">AddIntervalSet</a> (double xmin, double xmax, int omin, int omax, int assoc, const char *arrayName, int component, int allScalars)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#b6d5338458d302116b06fcd9f8ccef82">AddIntervalSet</a> (double xmin, double xmax, int omin, int omax, int assoc, int attribType, int component, int allScalars)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#71e5c4e302574535161742516c6ab6a5">AddLowpassIntervalSet</a> (double xmax, int assoc, const char *arrayName, int component, int allScalars)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#e22ff9eb449b0d9e99bf805139f5b550">AddHighpassIntervalSet</a> (double xmin, int assoc, const char *arrayName, int component, int allScalars)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#5888f73b3286974b441961e697bbc983">AddBandpassIntervalSet</a> (double xmin, double xmax, int assoc, const char *arrayName, int component, int allScalars)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#c64117293440a734dcf7497a9ec65419">AddNotchIntervalSet</a> (double xlo, double xhi, int assoc, const char *arrayName, int component, int allScalars)</td></tr>

<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#9c61a7405485cd8cbf2e746b8885e8ef">IsTypeOf</a> (const char *type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a01066.html">vtkMultiThreshold</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#19d55dc5e94f285e195df8985020fe2a">SafeDownCast</a> (<a class="el" href="a01084.html">vtkObject</a> *o)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a01066.html">vtkMultiThreshold</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#67a215a4d8096205ad23de0bcd35bb3e">New</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef vtkstd::vector<br>
&lt; <a class="el" href="a01068.html">Interval</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#e33195bc2e7ad6b8fe0239452b0e056e">IntervalList</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of pointers to IntervalSets.  <a href="#e33195bc2e7ad6b8fe0239452b0e056e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef vtkstd::map&lt; <a class="el" href="a01069.html">NormKey</a>, <br>
<a class="el" href="a01066.html#e33195bc2e7ad6b8fe0239452b0e056e">IntervalList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#ce63e08c14eb74c204576da2c8822d3e">RuleMap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A map describing the IntervalSets that share a common attribute and norm.  <a href="#ce63e08c14eb74c204576da2c8822d3e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef vtkstd::vector&lt; int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#e96d9a7457d62468c393b18e2f98105f">TruthTreeValues</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef vtkstd::vector<br>
&lt; <a class="el" href="a01066.html#e96d9a7457d62468c393b18e2f98105f">TruthTreeValues</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#4b928a84efb697a33954861b64344a8b">TruthTree</a></td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#29b39d972882d0e3337ff6f0303cb547">Ruling</a> { <a class="el" href="a01066.html#29b39d972882d0e3337ff6f0303cb547726a91d56fe5872cedd52c1228456558">INCONCLUSIVE</a> = -1, 
<a class="el" href="a01066.html#29b39d972882d0e3337ff6f0303cb54706c4d4e1e910dd8cbdd10b0d71f0ab11">INCLUDE</a> = -2, 
<a class="el" href="a01066.html#29b39d972882d0e3337ff6f0303cb547c461cb21cf25b4d854b8c675dff7b4f6">EXCLUDE</a> = -3
 }</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#c245ce038ce41369e36cb3c205828241">vtkMultiThreshold</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#e1b82838cd553b48b1ada07f46ec14c4">~vtkMultiThreshold</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#042336556e4fefe7eb191592532db420">RequestData</a> (<a class="el" href="a00872.html">vtkInformation</a> *, <a class="el" href="a00895.html">vtkInformationVector</a> **, <a class="el" href="a00895.html">vtkInformationVector</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#55a443c0023c204491af8fbcd9c4563f">FillInputPortInformation</a> (int port, <a class="el" href="a00872.html">vtkInformation</a> *info)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#fe9cbf32062c0d85908e514a11d677d5">AddIntervalSet</a> (<a class="el" href="a01069.html">NormKey</a> &amp;nk, double xmin, double xmax, int omin, int omax)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#8277b759d56179acbeae247566d6d339">PrintGraph</a> (ostream &amp;os)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#67104cb68588728f43a6e945249eb925">vtkMultiThreshold</a> (const <a class="el" href="a01066.html">vtkMultiThreshold</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#2360693b39c616c7fac4e72340f1c0fc">operator=</a> (const <a class="el" href="a01066.html">vtkMultiThreshold</a> &amp;)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#c71e36271665f75fa907c4306cd92c79">UpdateDependents</a> (int id, vtkstd::set&lt; int &gt; &amp;unresolvedOutputs, <a class="el" href="a01066.html#e96d9a7457d62468c393b18e2f98105f">TruthTreeValues</a> &amp;setStates, <a class="el" href="a00245.html">vtkCellData</a> *inCellData, <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> cellId, <a class="el" href="a00582.html">vtkGenericCell</a> *cell, vtkstd::vector&lt; <a class="el" href="a01789.html">vtkUnstructuredGrid</a> * &gt; &amp;outv)</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#34db76646279d171dc33e71d369c68da">NextArrayIndex</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#17539c92e6b333fe82f45737500d3517">NumberOfOutputs</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a01066.html#ce63e08c14eb74c204576da2c8822d3e">RuleMap</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#54aff018d3ea6c37685d248eed5b4983">IntervalRules</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">vtkstd::vector&lt; <a class="el" href="a01070.html">Set</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#493d9bfb90209fe2f40c6dc1afddae4f">Sets</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a01066.html#4b928a84efb697a33954861b64344a8b">TruthTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01066.html#0fbc2a1c82eb821b1eaf1b98c7837267">DependentSets</a></td></tr>

<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01067.html">BooleanSet</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A subset of a mesh represented as a boolean set operation.  <a href="a01067.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01068.html">Interval</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A subset of a mesh represented by a range of acceptable attribute values.  <a href="a01068.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01069.html">NormKey</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class with comparison operator used to index input array norms used in threshold rules.  <a href="a01069.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01070.html">Set</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A base class for representing threshold sets.  <a href="a01070.html#_details">More...</a><br></td></tr>
</table>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="55019d35d0285a76784f10b28553d7f0"></a><!-- doxytag: member="vtkMultiThreshold::Superclass" ref="55019d35d0285a76784f10b28553d7f0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a01056.html">vtkMultiBlockDataSetAlgorithm</a> <a class="el" href="a01056.html">vtkMultiThreshold::Superclass</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01056.html#253e3f953c56f5ae93324af201b98a69">vtkMultiBlockDataSetAlgorithm</a>.</p>

<p>Definition at line <a class="el" href="a04394.html#l00121">121</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f33596ee1bec05b9f19715f5d570793f"></a><!-- doxytag: member="vtkMultiThreshold::TupleNorm" ref="f33596ee1bec05b9f19715f5d570793f" args=")(vtkDataArray *arr, vtkIdType tuple, int component)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef double(* <a class="el" href="a01066.html#f33596ee1bec05b9f19715f5d570793f">vtkMultiThreshold::TupleNorm</a>)(<a class="el" href="a00356.html">vtkDataArray</a> *arr, <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> tuple, int component)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A pointer to a function that returns a norm (or a single component) of a tuple with 1 or more components. 
<p>

</div>
</div><p>
<a class="anchor" name="e33195bc2e7ad6b8fe0239452b0e056e"></a><!-- doxytag: member="vtkMultiThreshold::IntervalList" ref="e33195bc2e7ad6b8fe0239452b0e056e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef vtkstd::vector&lt;<a class="el" href="a01068.html">Interval</a>*&gt; <a class="el" href="a01066.html#e33195bc2e7ad6b8fe0239452b0e056e">vtkMultiThreshold::IntervalList</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A list of pointers to IntervalSets. 
<p>

<p>Definition at line <a class="el" href="a04394.html#l00387">387</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ce63e08c14eb74c204576da2c8822d3e"></a><!-- doxytag: member="vtkMultiThreshold::RuleMap" ref="ce63e08c14eb74c204576da2c8822d3e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef vtkstd::map&lt;<a class="el" href="a01069.html">NormKey</a>,<a class="el" href="a01066.html#e33195bc2e7ad6b8fe0239452b0e056e">IntervalList</a>&gt; <a class="el" href="a01066.html#ce63e08c14eb74c204576da2c8822d3e">vtkMultiThreshold::RuleMap</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A map describing the IntervalSets that share a common attribute and norm. 
<p>

<p>Definition at line <a class="el" href="a04394.html#l00389">389</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e96d9a7457d62468c393b18e2f98105f"></a><!-- doxytag: member="vtkMultiThreshold::TruthTreeValues" ref="e96d9a7457d62468c393b18e2f98105f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef vtkstd::vector&lt;int&gt; <a class="el" href="a01066.html#e96d9a7457d62468c393b18e2f98105f">vtkMultiThreshold::TruthTreeValues</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="a04394.html#l00391">391</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4b928a84efb697a33954861b64344a8b"></a><!-- doxytag: member="vtkMultiThreshold::TruthTree" ref="4b928a84efb697a33954861b64344a8b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef vtkstd::vector&lt;<a class="el" href="a01066.html#e96d9a7457d62468c393b18e2f98105f">TruthTreeValues</a>&gt; <a class="el" href="a01066.html#4b928a84efb697a33954861b64344a8b">vtkMultiThreshold::TruthTree</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="a04394.html#l00392">392</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="e45472ebb7ff828e0513636244e0652a"></a><!-- doxytag: member="vtkMultiThreshold::Closure" ref="e45472ebb7ff828e0513636244e0652a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a">vtkMultiThreshold::Closure</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Whether the endpoint value of an interval should be included or excluded. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b"></a><!-- doxytag: member="OPEN" ref="e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" args="" -->OPEN</em>&nbsp;</td><td>
Specify an open interval. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59"></a><!-- doxytag: member="CLOSED" ref="e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59" args="" -->CLOSED</em>&nbsp;</td><td>
Specify a closed interval. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="a04394.html#l00127">127</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2f93a36ad10fcf573fd56ad7019669a9"></a><!-- doxytag: member="vtkMultiThreshold::Norm" ref="2f93a36ad10fcf573fd56ad7019669a9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a01066.html#2f93a36ad10fcf573fd56ad7019669a9">vtkMultiThreshold::Norm</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Norms that can be used to threshold vector attributes. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="2f93a36ad10fcf573fd56ad7019669a9e1437ffe251a70ef2f0813035e89e2b4"></a><!-- doxytag: member="LINFINITY_NORM" ref="2f93a36ad10fcf573fd56ad7019669a9e1437ffe251a70ef2f0813035e89e2b4" args="" -->LINFINITY_NORM</em>&nbsp;</td><td>
Use the <img class="formulaInl" alt="$L_{\infty}$" src="form_61.png"> norm for the specified array threshold. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="2f93a36ad10fcf573fd56ad7019669a93da0e662365787c89942eb6d172a8c72"></a><!-- doxytag: member="L2_NORM" ref="2f93a36ad10fcf573fd56ad7019669a93da0e662365787c89942eb6d172a8c72" args="" -->L2_NORM</em>&nbsp;</td><td>
Use the <img class="formulaInl" alt="$L_2$" src="form_60.png"> norm for the specified array threshold. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="2f93a36ad10fcf573fd56ad7019669a986be001d5b995c8f68876e7c4fa3574f"></a><!-- doxytag: member="L1_NORM" ref="2f93a36ad10fcf573fd56ad7019669a986be001d5b995c8f68876e7c4fa3574f" args="" -->L1_NORM</em>&nbsp;</td><td>
Use the <img class="formulaInl" alt="$L_1$" src="form_59.png"> norm for the specified array threshold. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="a04394.html#l00132">132</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d0e3f1e91b9c3e3bbf1825efedfcf5c0"></a><!-- doxytag: member="vtkMultiThreshold::SetOperation" ref="d0e3f1e91b9c3e3bbf1825efedfcf5c0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a01066.html#d0e3f1e91b9c3e3bbf1825efedfcf5c0">vtkMultiThreshold::SetOperation</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Operations that can be performed on sets to generate another set. Most of these operators take 2 or more input sets. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="d0e3f1e91b9c3e3bbf1825efedfcf5c0d7fc2bcc703c6f429bad84890dabbf56"></a><!-- doxytag: member="AND" ref="d0e3f1e91b9c3e3bbf1825efedfcf5c0d7fc2bcc703c6f429bad84890dabbf56" args="" -->AND</em>&nbsp;</td><td>
Only include an element if it belongs to all the input sets. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="d0e3f1e91b9c3e3bbf1825efedfcf5c0ef06f56d8ee68ac1fa9142da1e83bab3"></a><!-- doxytag: member="OR" ref="d0e3f1e91b9c3e3bbf1825efedfcf5c0ef06f56d8ee68ac1fa9142da1e83bab3" args="" -->OR</em>&nbsp;</td><td>
Include an element if it belongs to any input set. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="d0e3f1e91b9c3e3bbf1825efedfcf5c07772cfd715b7335065283e70190d5c66"></a><!-- doxytag: member="XOR" ref="d0e3f1e91b9c3e3bbf1825efedfcf5c07772cfd715b7335065283e70190d5c66" args="" -->XOR</em>&nbsp;</td><td>
Include an element if it belongs to exactly one input set. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="d0e3f1e91b9c3e3bbf1825efedfcf5c01da2ce25b1814aebbb2f623b85a015cc"></a><!-- doxytag: member="WOR" ref="d0e3f1e91b9c3e3bbf1825efedfcf5c01da2ce25b1814aebbb2f623b85a015cc" args="" -->WOR</em>&nbsp;</td><td>
Include elements that belong to an odd number of input sets (a kind of "winding XOR"). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="d0e3f1e91b9c3e3bbf1825efedfcf5c09291ac1421d14d9fe63feee0016dc29d"></a><!-- doxytag: member="NAND" ref="d0e3f1e91b9c3e3bbf1825efedfcf5c09291ac1421d14d9fe63feee0016dc29d" args="" -->NAND</em>&nbsp;</td><td>
Only include elements that don't belong to any input set. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="a04394.html#l00138">138</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="29b39d972882d0e3337ff6f0303cb547"></a><!-- doxytag: member="vtkMultiThreshold::Ruling" ref="29b39d972882d0e3337ff6f0303cb547" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a01066.html#29b39d972882d0e3337ff6f0303cb547">vtkMultiThreshold::Ruling</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
When an interval is evaluated, its value is used to update a truth table. If its value allows the output of the truth table to be determined, then either INCLUDE or EXCLUDE is returned. Otherwise, INCONCLUSIVE is returned and more intervals must be evaluated. As an example, consider the ruleset {A&gt;10} &amp; ( {6&lt;B&lt;8} | {C==12} ). We first evaluate A. Say A is 100. This makes the first rule true, but the value of the rule *set* is still indeterminate. INCONCLUSIVE is returned. Next we consider B. If B is 7, then INCLUDE will be returned and there is no need to examine C. If B is 0, then INCONCLUSIVE is returned again and we must examine C. If C is 12, then INCLUDE is returned, otherwise EXCLUDE is returned. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="29b39d972882d0e3337ff6f0303cb547726a91d56fe5872cedd52c1228456558"></a><!-- doxytag: member="INCONCLUSIVE" ref="29b39d972882d0e3337ff6f0303cb547726a91d56fe5872cedd52c1228456558" args="" -->INCONCLUSIVE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="29b39d972882d0e3337ff6f0303cb54706c4d4e1e910dd8cbdd10b0d71f0ab11"></a><!-- doxytag: member="INCLUDE" ref="29b39d972882d0e3337ff6f0303cb54706c4d4e1e910dd8cbdd10b0d71f0ab11" args="" -->INCLUDE</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="29b39d972882d0e3337ff6f0303cb547c461cb21cf25b4d854b8c675dff7b4f6"></a><!-- doxytag: member="EXCLUDE" ref="29b39d972882d0e3337ff6f0303cb547c461cb21cf25b4d854b8c675dff7b4f6" args="" -->EXCLUDE</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="a04394.html#l00360">360</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="c245ce038ce41369e36cb3c205828241"></a><!-- doxytag: member="vtkMultiThreshold::vtkMultiThreshold" ref="c245ce038ce41369e36cb3c205828241" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vtkMultiThreshold::vtkMultiThreshold           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="e1b82838cd553b48b1ada07f46ec14c4"></a><!-- doxytag: member="vtkMultiThreshold::~vtkMultiThreshold" ref="e1b82838cd553b48b1ada07f46ec14c4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual vtkMultiThreshold::~vtkMultiThreshold           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="67104cb68588728f43a6e945249eb925"></a><!-- doxytag: member="vtkMultiThreshold::vtkMultiThreshold" ref="67104cb68588728f43a6e945249eb925" args="(const vtkMultiThreshold &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vtkMultiThreshold::vtkMultiThreshold           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01066.html">vtkMultiThreshold</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="5fcb5492a658faf9db1c3c335394696d"></a><!-- doxytag: member="vtkMultiThreshold::GetClassName" ref="5fcb5492a658faf9db1c3c335394696d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* vtkMultiThreshold::GetClassName           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01056.html#c04c231e3000f78502047277b5da7114">vtkMultiBlockDataSetAlgorithm</a>.</p>

</div>
</div><p>
<a class="anchor" name="9c61a7405485cd8cbf2e746b8885e8ef"></a><!-- doxytag: member="vtkMultiThreshold::IsTypeOf" ref="9c61a7405485cd8cbf2e746b8885e8ef" args="(const char *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMultiThreshold::IsTypeOf           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. 
<p>Reimplemented from <a class="el" href="a01056.html#eb2de15a4c14d62b3f61d80c20a80d20">vtkMultiBlockDataSetAlgorithm</a>.</p>

</div>
</div><p>
<a class="anchor" name="d1862498379814076fa24c3365c9da4d"></a><!-- doxytag: member="vtkMultiThreshold::IsA" ref="d1862498379814076fa24c3365c9da4d" args="(const char *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int vtkMultiThreshold::IsA           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. 
<p>Reimplemented from <a class="el" href="a01056.html#a825103d56465e48d5ff621b955e6a75">vtkMultiBlockDataSetAlgorithm</a>.</p>

</div>
</div><p>
<a class="anchor" name="19d55dc5e94f285e195df8985020fe2a"></a><!-- doxytag: member="vtkMultiThreshold::SafeDownCast" ref="19d55dc5e94f285e195df8985020fe2a" args="(vtkObject *o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a01066.html">vtkMultiThreshold</a>* vtkMultiThreshold::SafeDownCast           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01084.html">vtkObject</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01056.html#5954f9ab346f4400ab9a8dadac229d67">vtkMultiBlockDataSetAlgorithm</a>.</p>

</div>
</div><p>
<a class="anchor" name="67a215a4d8096205ad23de0bcd35bb3e"></a><!-- doxytag: member="vtkMultiThreshold::New" ref="67a215a4d8096205ad23de0bcd35bb3e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a01066.html">vtkMultiThreshold</a>* vtkMultiThreshold::New           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. 
<p>Reimplemented from <a class="el" href="a01056.html#3969cba5243b2054f7b376a8929cb4ef">vtkMultiBlockDataSetAlgorithm</a>.</p>

</div>
</div><p>
<a class="anchor" name="421ed7c01c31c3565f3901f65b8e1bed"></a><!-- doxytag: member="vtkMultiThreshold::PrintSelf" ref="421ed7c01c31c3565f3901f65b8e1bed" args="(ostream &amp;os, vtkIndent indent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void vtkMultiThreshold::PrintSelf           </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00869.html">vtkIndent</a>&nbsp;</td>
          <td class="paramname"> <em>indent</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use <a class="el" href="a01085.html#edadf6378465fd81c2592ef64262e2a5">Print()</a> instead) but used in the hierarchical print process to combine the output of several classes. 
<p>Reimplemented from <a class="el" href="a01056.html#4e90d52a7205702d0a00ec23ce6ea318">vtkMultiBlockDataSetAlgorithm</a>.</p>

</div>
</div><p>
<a class="anchor" name="c0e802afa864e4692c3d5d25d33cbe10"></a><!-- doxytag: member="vtkMultiThreshold::AddIntervalSet" ref="c0e802afa864e4692c3d5d25d33cbe10" args="(double xmin, double xmax, int omin, int omax, int assoc, const char *arrayName, int component, int allScalars)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::AddIntervalSet           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>omin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>omax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>assoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>arrayName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>component</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>allScalars</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a mesh subset to be computed by thresholding an attribute of the input mesh. The subset can then be added to an output mesh with OuputSet() or combined with other sets using AddBooleanSet. If you wish to include all cells with values below some number <em>a</em>, call with xmin set to <a class="el" href="a00996.html#49c88083ce2b8ed50d41fc4ebd9868af">vtkMath::NegInf()</a> and xmax set to <em>a</em>. Similarly, if you wish to include all cells with values above some number <em>a</em>, call with xmin set to <em>a</em> and xmax set to <a class="el" href="a00996.html#54193733c61913fb566e47ba284ca7e8">vtkMath::Inf()</a>. When specifying Inf() or NegInf() for an endpoint, it does not matter whether you specify and open or closed endpoint. When creating intervals, any integers can be used for the IDs of output meshes. All that matters is that the same ID be used if intervals should output to the same mesh. The outputs are ordered with ascending IDs in output block 0. It is possible to specify an invalid interval, in which case these routines will return -1. Invalid intervals occur when - an array does not exist, - <em>center</em> is invalid, - <em>xmin</em> == <em>xmax</em> and <em>omin</em> and/or <em>omax</em> are <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a>, or - <em>xmin</em> &gt; <em>xmax</em>. - <em>xmin</em> or <em>xmax</em> is not a number (i.e., IEEE NaN). Having both <em>xmin</em> and <em>xmax</em> equal NaN is allowed. <a class="el" href="a00996.html" title="performs common math operations">vtkMath</a> provides a portable way to specify IEEE infinities and Nan. Note that specifying an interval completely out of the bounds of an attribute is considered valid. In fact, it is occasionally useful to create a closed interval with both endpoints set to <img class="formulaInl" alt="$\infty$" src="form_62.png"> or both endpoints set to <img class="formulaInl" alt="$-\infty$" src="form_63.png"> in order to locate cells with problematic values. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xmin</em>&nbsp;</td><td>The minimum attribute value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>xmax</em>&nbsp;</td><td>The maximum attribute value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>omin</em>&nbsp;</td><td>Whether the interval should be open or closed at <em>xmin</em>. Use <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a> or <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59" title="Specify a closed interval.">vtkMultiThreshold::CLOSED</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>omax</em>&nbsp;</td><td>Whether the interval should be open or closed at <em>xmax</em>. Use <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a> or <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59" title="Specify a closed interval.">vtkMultiThreshold::CLOSED</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>assoc</em>&nbsp;</td><td>One of <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1d338da6f303011cba9a1def6bb0939bf">vtkDataObject::FIELD_ASSOCIATION_CELLS</a> or <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1498b1aa402f61f3a526342b88ae5a8cc">vtkDataObject::FIELD_ASSOCIATION_POINTS</a> indicating whether a point or cell array should be used. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array to use for thresholding </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attribType</em>&nbsp;</td><td>The attribute to use for thresholding. One of <a class="el" href="a00376.html#156a8842bffd9139fa81193cca0d5bcbefbcc1c766a1bad6e1e09d5be8388e3d">vtkDataSetAttributes::SCALARS</a>, VECTORS, TENSORS, NORMALS, TCOORDS, or GLOBALIDS. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>component</em>&nbsp;</td><td>The number of the component to threshold on or one of the following enumerants for norms: LINFINITY_NORM, L2_NORM, L1_NORM. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>allScalars</em>&nbsp;</td><td>When <em>center</em> is <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1498b1aa402f61f3a526342b88ae5a8cc">vtkDataObject::FIELD_ASSOCIATION_POINTS</a>, must all scalars be in the interval for the cell to be passed to the output, or just a single point's scalar? </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>An index used to identify the cells selected by the interval or -1 if the interval specification was invalid. If a valid value is returned, you may pass it to <a class="el" href="a01066.html#a6eedba6f61c10e3d1af7f6f83bc3234">OutputSet()</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="b6d5338458d302116b06fcd9f8ccef82"></a><!-- doxytag: member="vtkMultiThreshold::AddIntervalSet" ref="b6d5338458d302116b06fcd9f8ccef82" args="(double xmin, double xmax, int omin, int omax, int assoc, int attribType, int component, int allScalars)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::AddIntervalSet           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>omin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>omax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>assoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>attribType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>component</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>allScalars</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a mesh subset to be computed by thresholding an attribute of the input mesh. The subset can then be added to an output mesh with OuputSet() or combined with other sets using AddBooleanSet. If you wish to include all cells with values below some number <em>a</em>, call with xmin set to <a class="el" href="a00996.html#49c88083ce2b8ed50d41fc4ebd9868af">vtkMath::NegInf()</a> and xmax set to <em>a</em>. Similarly, if you wish to include all cells with values above some number <em>a</em>, call with xmin set to <em>a</em> and xmax set to <a class="el" href="a00996.html#54193733c61913fb566e47ba284ca7e8">vtkMath::Inf()</a>. When specifying Inf() or NegInf() for an endpoint, it does not matter whether you specify and open or closed endpoint. When creating intervals, any integers can be used for the IDs of output meshes. All that matters is that the same ID be used if intervals should output to the same mesh. The outputs are ordered with ascending IDs in output block 0. It is possible to specify an invalid interval, in which case these routines will return -1. Invalid intervals occur when - an array does not exist, - <em>center</em> is invalid, - <em>xmin</em> == <em>xmax</em> and <em>omin</em> and/or <em>omax</em> are <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a>, or - <em>xmin</em> &gt; <em>xmax</em>. - <em>xmin</em> or <em>xmax</em> is not a number (i.e., IEEE NaN). Having both <em>xmin</em> and <em>xmax</em> equal NaN is allowed. <a class="el" href="a00996.html" title="performs common math operations">vtkMath</a> provides a portable way to specify IEEE infinities and Nan. Note that specifying an interval completely out of the bounds of an attribute is considered valid. In fact, it is occasionally useful to create a closed interval with both endpoints set to <img class="formulaInl" alt="$\infty$" src="form_62.png"> or both endpoints set to <img class="formulaInl" alt="$-\infty$" src="form_63.png"> in order to locate cells with problematic values. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xmin</em>&nbsp;</td><td>The minimum attribute value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>xmax</em>&nbsp;</td><td>The maximum attribute value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>omin</em>&nbsp;</td><td>Whether the interval should be open or closed at <em>xmin</em>. Use <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a> or <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59" title="Specify a closed interval.">vtkMultiThreshold::CLOSED</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>omax</em>&nbsp;</td><td>Whether the interval should be open or closed at <em>xmax</em>. Use <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a3b17c12c438f91f692e509601e287a6b" title="Specify an open interval.">vtkMultiThreshold::OPEN</a> or <a class="el" href="a01066.html#e45472ebb7ff828e0513636244e0652a60c3410038bf9395aa008097ded5ab59" title="Specify a closed interval.">vtkMultiThreshold::CLOSED</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>assoc</em>&nbsp;</td><td>One of <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1d338da6f303011cba9a1def6bb0939bf">vtkDataObject::FIELD_ASSOCIATION_CELLS</a> or <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1498b1aa402f61f3a526342b88ae5a8cc">vtkDataObject::FIELD_ASSOCIATION_POINTS</a> indicating whether a point or cell array should be used. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>arrayName</em>&nbsp;</td><td>The name of the array to use for thresholding </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attribType</em>&nbsp;</td><td>The attribute to use for thresholding. One of <a class="el" href="a00376.html#156a8842bffd9139fa81193cca0d5bcbefbcc1c766a1bad6e1e09d5be8388e3d">vtkDataSetAttributes::SCALARS</a>, VECTORS, TENSORS, NORMALS, TCOORDS, or GLOBALIDS. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>component</em>&nbsp;</td><td>The number of the component to threshold on or one of the following enumerants for norms: LINFINITY_NORM, L2_NORM, L1_NORM. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>allScalars</em>&nbsp;</td><td>When <em>center</em> is <a class="el" href="a00362.html#54fdf8345a01c89e618feca3c10002b1498b1aa402f61f3a526342b88ae5a8cc">vtkDataObject::FIELD_ASSOCIATION_POINTS</a>, must all scalars be in the interval for the cell to be passed to the output, or just a single point's scalar? </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>An index used to identify the cells selected by the interval or -1 if the interval specification was invalid. If a valid value is returned, you may pass it to <a class="el" href="a01066.html#a6eedba6f61c10e3d1af7f6f83bc3234">OutputSet()</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="71e5c4e302574535161742516c6ab6a5"></a><!-- doxytag: member="vtkMultiThreshold::AddLowpassIntervalSet" ref="71e5c4e302574535161742516c6ab6a5" args="(double xmax, int assoc, const char *arrayName, int component, int allScalars)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::AddLowpassIntervalSet           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>assoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>arrayName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>component</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>allScalars</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
These convenience members make it easy to insert closed intervals. The "notch" interval is accomplished by creating a bandpass interval and applying a NAND operation. In this case, the set ID returned in the NAND operation set ID. Note that you can pass xmin == xmax when creating a bandpass threshold to retrieve elements matching exactly one value (since the intervals created by these routines are closed). 
<p>Definition at line <a class="el" href="a04394.html#l00430">430</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e22ff9eb449b0d9e99bf805139f5b550"></a><!-- doxytag: member="vtkMultiThreshold::AddHighpassIntervalSet" ref="e22ff9eb449b0d9e99bf805139f5b550" args="(double xmin, int assoc, const char *arrayName, int component, int allScalars)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::AddHighpassIntervalSet           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>assoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>arrayName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>component</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>allScalars</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
These convenience members make it easy to insert closed intervals. The "notch" interval is accomplished by creating a bandpass interval and applying a NAND operation. In this case, the set ID returned in the NAND operation set ID. Note that you can pass xmin == xmax when creating a bandpass threshold to retrieve elements matching exactly one value (since the intervals created by these routines are closed). 
<p>Definition at line <a class="el" href="a04394.html#l00435">435</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5888f73b3286974b441961e697bbc983"></a><!-- doxytag: member="vtkMultiThreshold::AddBandpassIntervalSet" ref="5888f73b3286974b441961e697bbc983" args="(double xmin, double xmax, int assoc, const char *arrayName, int component, int allScalars)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::AddBandpassIntervalSet           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>assoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>arrayName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>component</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>allScalars</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
These convenience members make it easy to insert closed intervals. The "notch" interval is accomplished by creating a bandpass interval and applying a NAND operation. In this case, the set ID returned in the NAND operation set ID. Note that you can pass xmin == xmax when creating a bandpass threshold to retrieve elements matching exactly one value (since the intervals created by these routines are closed). 
<p>Definition at line <a class="el" href="a04394.html#l00440">440</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c64117293440a734dcf7497a9ec65419"></a><!-- doxytag: member="vtkMultiThreshold::AddNotchIntervalSet" ref="c64117293440a734dcf7497a9ec65419" args="(double xlo, double xhi, int assoc, const char *arrayName, int component, int allScalars)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::AddNotchIntervalSet           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xlo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xhi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>assoc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>arrayName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>component</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>allScalars</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
These convenience members make it easy to insert closed intervals. The "notch" interval is accomplished by creating a bandpass interval and applying a NAND operation. In this case, the set ID returned in the NAND operation set ID. Note that you can pass xmin == xmax when creating a bandpass threshold to retrieve elements matching exactly one value (since the intervals created by these routines are closed). 
<p>Definition at line <a class="el" href="a04394.html#l00446">446</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9e37a69354f370ac89d8fd85e6664076"></a><!-- doxytag: member="vtkMultiThreshold::AddBooleanSet" ref="9e37a69354f370ac89d8fd85e6664076" args="(int operation, int numInputs, int *inputs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::AddBooleanSet           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>operation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>numInputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>inputs</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new mesh subset using boolean operations on pre-existing sets. 
</div>
</div><p>
<a class="anchor" name="a6eedba6f61c10e3d1af7f6f83bc3234"></a><!-- doxytag: member="vtkMultiThreshold::OutputSet" ref="a6eedba6f61c10e3d1af7f6f83bc3234" args="(int setId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::OutputSet           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>setId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an output mesh containing a boolean or interval subset of the input mesh. 
</div>
</div><p>
<a class="anchor" name="690072865e8567dc5342c147d23a46d6"></a><!-- doxytag: member="vtkMultiThreshold::Reset" ref="690072865e8567dc5342c147d23a46d6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMultiThreshold::Reset           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove all the intervals currently defined. 
</div>
</div><p>
<a class="anchor" name="042336556e4fefe7eb191592532db420"></a><!-- doxytag: member="vtkMultiThreshold::RequestData" ref="042336556e4fefe7eb191592532db420" args="(vtkInformation *, vtkInformationVector **, vtkInformationVector *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int vtkMultiThreshold::RequestData           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00872.html">vtkInformation</a> *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00895.html">vtkInformationVector</a> **&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00895.html">vtkInformationVector</a> *&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function performs the actual thresholding. 
<p>Reimplemented from <a class="el" href="a01056.html#40c518cc34a3c85721b45158977638c4">vtkMultiBlockDataSetAlgorithm</a>.</p>

</div>
</div><p>
<a class="anchor" name="55a443c0023c204491af8fbcd9c4563f"></a><!-- doxytag: member="vtkMultiThreshold::FillInputPortInformation" ref="55a443c0023c204491af8fbcd9c4563f" args="(int port, vtkInformation *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int vtkMultiThreshold::FillInputPortInformation           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00872.html">vtkInformation</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
We accept any mesh that is descended from <a class="el" href="a01251.html" title="abstract class for specifying dataset behavior">vtkPointSet</a>. In the future, it is possible to accept more types but this would require us to generate a new <a class="el" href="a01250.html" title="represent and manipulate 3D points">vtkPoints</a> object for each output mesh. 
<p>Reimplemented from <a class="el" href="a01056.html#b1b78334ecb694df080659898bb05629">vtkMultiBlockDataSetAlgorithm</a>.</p>

</div>
</div><p>
<a class="anchor" name="c71e36271665f75fa907c4306cd92c79"></a><!-- doxytag: member="vtkMultiThreshold::UpdateDependents" ref="c71e36271665f75fa907c4306cd92c79" args="(int id, vtkstd::set&lt; int &gt; &amp;unresolvedOutputs, TruthTreeValues &amp;setStates, vtkCellData *inCellData, vtkIdType cellId, vtkGenericCell *cell, vtkstd::vector&lt; vtkUnstructuredGrid * &gt; &amp;outv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMultiThreshold::UpdateDependents           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vtkstd::set&lt; int &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>unresolvedOutputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01066.html#e96d9a7457d62468c393b18e2f98105f">TruthTreeValues</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>setStates</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00245.html">vtkCellData</a> *&nbsp;</td>
          <td class="paramname"> <em>inCellData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>&nbsp;</td>
          <td class="paramname"> <em>cellId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00582.html">vtkGenericCell</a> *&nbsp;</td>
          <td class="paramname"> <em>cell</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vtkstd::vector&lt; <a class="el" href="a01789.html">vtkUnstructuredGrid</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>outv</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Recursively update the setStates and unresolvedOutputs vectors based on this-&gt;DependentSets. 
</div>
</div><p>
<a class="anchor" name="fe9cbf32062c0d85908e514a11d677d5"></a><!-- doxytag: member="vtkMultiThreshold::AddIntervalSet" ref="fe9cbf32062c0d85908e514a11d677d5" args="(NormKey &amp;nk, double xmin, double xmax, int omin, int omax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMultiThreshold::AddIntervalSet           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01069.html">NormKey</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>nk</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>omin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>omax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A utility method called by the public AddInterval members. 
</div>
</div><p>
<a class="anchor" name="8277b759d56179acbeae247566d6d339"></a><!-- doxytag: member="vtkMultiThreshold::PrintGraph" ref="8277b759d56179acbeae247566d6d339" args="(ostream &amp;os)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMultiThreshold::PrintGraph           </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>os</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Print out a graphviz-formatted text description of all the sets. 
</div>
</div><p>
<a class="anchor" name="2360693b39c616c7fac4e72340f1c0fc"></a><!-- doxytag: member="vtkMultiThreshold::operator=" ref="2360693b39c616c7fac4e72340f1c0fc" args="(const vtkMultiThreshold &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMultiThreshold::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01066.html">vtkMultiThreshold</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="34db76646279d171dc33e71d369c68da"></a><!-- doxytag: member="vtkMultiThreshold::NextArrayIndex" ref="34db76646279d171dc33e71d369c68da" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a01066.html#34db76646279d171dc33e71d369c68da">vtkMultiThreshold::NextArrayIndex</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A variable used to store the next index to use when calling SetInputArrayToProcess. Its value is stored in an interval's ArrayIndex member and used during RequestData to retrieve a pointer to the actual array. 
<p>Definition at line <a class="el" href="a04394.html#l00380">380</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="17539c92e6b333fe82f45737500d3517"></a><!-- doxytag: member="vtkMultiThreshold::NumberOfOutputs" ref="17539c92e6b333fe82f45737500d3517" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a01066.html#17539c92e6b333fe82f45737500d3517">vtkMultiThreshold::NumberOfOutputs</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The number of output datasets. 
<p>Definition at line <a class="el" href="a04394.html#l00383">383</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="54aff018d3ea6c37685d248eed5b4983"></a><!-- doxytag: member="vtkMultiThreshold::IntervalRules" ref="54aff018d3ea6c37685d248eed5b4983" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01066.html#ce63e08c14eb74c204576da2c8822d3e">RuleMap</a> <a class="el" href="a01066.html#54aff018d3ea6c37685d248eed5b4983">vtkMultiThreshold::IntervalRules</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A set of threshold rules sorted by the attribute+norm to which they are applied. 
<p>Definition at line <a class="el" href="a04394.html#l00396">396</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="493d9bfb90209fe2f40c6dc1afddae4f"></a><!-- doxytag: member="vtkMultiThreshold::Sets" ref="493d9bfb90209fe2f40c6dc1afddae4f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vtkstd::vector&lt;<a class="el" href="a01070.html">Set</a>*&gt; <a class="el" href="a01066.html#493d9bfb90209fe2f40c6dc1afddae4f">vtkMultiThreshold::Sets</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A list of rules keyed by their unique integer ID. This list is used to quickly determine whether interval membership implies membership in a given output mesh. 
<p>Definition at line <a class="el" href="a04394.html#l00401">401</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0fbc2a1c82eb821b1eaf1b98c7837267"></a><!-- doxytag: member="vtkMultiThreshold::DependentSets" ref="0fbc2a1c82eb821b1eaf1b98c7837267" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01066.html#4b928a84efb697a33954861b64344a8b">TruthTree</a> <a class="el" href="a01066.html#0fbc2a1c82eb821b1eaf1b98c7837267">vtkMultiThreshold::DependentSets</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A list of boolean sets whose values depend on the given set. Each time an interval is evaluated for a cell, the list of dependent boolean sets contained here is updated. Any boolean operations whose truth values are decided are then marked and <em>their</em> dependent sets are examined. 
<p>Definition at line <a class="el" href="a04394.html#l00408">408</a> of file <a class="el" href="a04394.html">vtkMultiThreshold.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>dox/Graphics/<a class="el" href="a04394.html">vtkMultiThreshold.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 19:19:04 2009 for VTK by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>