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
|
<!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: vtkPiecewiseFunction</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 Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related 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('vtkfiltering_vtkpiecewisefunction.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">vtkPiecewiseFunction </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_vtkfiltering.html">Visualization Toolkit Filtering Classes</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>Defines a piecewise function mapping. This mapping allows the addition of control points, and allows the user to control the function between the control points. A piecewise hermite curve is used between control points, based on the sharpness and midpoint parameters. A sharpness of 0 yields a piecewise linear function and a sharpness of 1 yields a piecewise constant function. The midpoint is the normalized distance between control points at which the curve reaches the median Y value. The midpoint and sharpness values specified when adding a node are used to control the transition to the next node (the last node's values are ignored) Outside the range of nodes, the values are 0 if Clamping is off, or the nearest node point if Clamping is on. Using the legacy methods for adding points (which do not have Sharpness and Midpoint parameters) will default to Midpoint = 0.5 (halfway between the control points) and Sharpness = 0.0 (linear).</p>
<p>To create an instance of class vtkPiecewiseFunction, simply invoke its constructor as follows </p>
<pre class="fragment"> obj = vtkPiecewiseFunction
</pre> <h1><a class="anchor" id="Methods"></a>
Methods</h1>
<p>The class vtkPiecewiseFunction 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 vtkPiecewiseFunction class. </p>
<ul>
<li>
<code>string = obj.GetClassName ()</code> </li>
<li>
<code>int = obj.IsA (string name)</code> </li>
<li>
<code>vtkPiecewiseFunction = obj.NewInstance ()</code> </li>
<li>
<code>vtkPiecewiseFunction = obj.SafeDownCast (vtkObject o)</code> </li>
<li>
<code>obj.DeepCopy (vtkDataObject f)</code> </li>
<li>
<code>obj.ShallowCopy (vtkDataObject f)</code> </li>
<li>
<code>int = obj.GetDataObjectType ()</code> - Return what type of dataset this is. </li>
<li>
<code>int = obj.GetSize ()</code> - Get the number of points used to specify the function </li>
<li>
<code>int = obj.AddPoint (double x, double y)</code> - Add/Remove points to/from the function. If a duplicate point is added then the function value is changed at that location. Return the index of the point (0 based), or -1 on error. </li>
<li>
<code>int = obj.AddPoint (double x, double y, double midpoint, double sharpness)</code> - Add/Remove points to/from the function. If a duplicate point is added then the function value is changed at that location. Return the index of the point (0 based), or -1 on error. </li>
<li>
<code>int = obj.RemovePoint (double x)</code> - Add/Remove points to/from the function. If a duplicate point is added then the function value is changed at that location. Return the index of the point (0 based), or -1 on error. </li>
<li>
<code>obj.RemoveAllPoints ()</code> - Removes all points from the function. </li>
<li>
<code>obj.AddSegment (double x1, double y1, double x2, double y2)</code> - Add a line segment to the function. All points defined between the two points specified are removed from the function. This is a legacy method that does not allow the specification of the sharpness and midpoint values for the two nodes. </li>
<li>
<code>double = obj.GetValue (double x)</code> - Returns the value of the function at the specified location using the specified interpolation. </li>
<li>
<code>int = obj.GetNodeValue (int index, double val[4])</code> - For the node specified by index, set/get the location (X), value (Y), midpoint, and sharpness values at the node. </li>
<li>
<code>int = obj.SetNodeValue (int index, double val[4])</code> - For the node specified by index, set/get the location (X), value (Y), midpoint, and sharpness values at the node. </li>
<li>
<code>obj.FillFromDataPointer (int , double )</code> - Returns a pointer to the data stored in the table. Fills from a pointer to data stored in a similar table. These are legacy methods which will be maintained for compatibility - however, note that the vtkPiecewiseFunction no longer stores the nodes in a double array internally. </li>
<li>
<code>double = obj. GetRange ()</code> - Returns the min and max node locations of the function. </li>
<li>
<code>int = obj.AdjustRange (double range[2])</code> - Remove all points out of the new range, and make sure there is a point at each end of that range. Return 1 on success, 0 otherwise. </li>
<li>
<code>obj.GetTable (double x1, double x2, int size, float table, int stride)</code> - Fills in an array of function values evaluated at regular intervals. Parameter "stride" is used to step through the output "table". </li>
<li>
<code>obj.GetTable (double x1, double x2, int size, double table, int stride)</code> - Fills in an array of function values evaluated at regular intervals. Parameter "stride" is used to step through the output "table". </li>
<li>
<code>obj.BuildFunctionFromTable (double x1, double x2, int size, double table, int stride)</code> - Constructs a piecewise function from a table. Function range is is set to [x1, x2], function size is set to size, and function points are regularly spaced between x1 and x2. Parameter "stride" is is step through the input table. </li>
<li>
<code>obj.SetClamping (int )</code> - When zero range clamping is Off, GetValue() returns 0.0 when a value is requested outside of the points specified. When zero range clamping is On, GetValue() returns the value at the value at the lowest point for a request below all points specified and returns the value at the highest point for a request above all points specified. On is the default. </li>
<li>
<code>int = obj.GetClamping ()</code> - When zero range clamping is Off, GetValue() returns 0.0 when a value is requested outside of the points specified. When zero range clamping is On, GetValue() returns the value at the value at the lowest point for a request below all points specified and returns the value at the highest point for a request above all points specified. On is the default. </li>
<li>
<code>obj.ClampingOn ()</code> - When zero range clamping is Off, GetValue() returns 0.0 when a value is requested outside of the points specified. When zero range clamping is On, GetValue() returns the value at the value at the lowest point for a request below all points specified and returns the value at the highest point for a request above all points specified. On is the default. </li>
<li>
<code>obj.ClampingOff ()</code> - When zero range clamping is Off, GetValue() returns 0.0 when a value is requested outside of the points specified. When zero range clamping is On, GetValue() returns the value at the value at the lowest point for a request below all points specified and returns the value at the highest point for a request above all points specified. On is the default. </li>
<li>
<code>string = obj.GetType ()</code> - Return the type of function: Function Types: 0 : Constant (No change in slope between end points) 1 : NonDecreasing (Always increasing or zero slope) 2 : NonIncreasing (Always decreasing or zero slope) 3 : Varied (Contains both decreasing and increasing slopes) </li>
<li>
<code>double = obj.GetFirstNonZeroValue ()</code> - Returns the first point location which precedes a non-zero segment of the function. Note that the value at this point may be zero. </li>
<li>
<code>obj.Initialize ()</code> - Clears out the current function. A newly created vtkPiecewiseFunction is alreay initialized, so there is no need to call this method which in turn simply calls RemoveAllPoints() </li>
<li>
<code>obj.SetAllowDuplicateScalars (int )</code> - Toggle whether to allow duplicate scalar values in the piecewise function (off by default). </li>
<li>
<code>int = obj.GetAllowDuplicateScalars ()</code> - Toggle whether to allow duplicate scalar values in the piecewise function (off by default). </li>
<li>
<code>obj.AllowDuplicateScalarsOn ()</code> - Toggle whether to allow duplicate scalar values in the piecewise function (off by default). </li>
<li>
<code>obj.AllowDuplicateScalarsOff ()</code> - Toggle whether to allow duplicate scalar values in the piecewise function (off by default). </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_vtkfiltering.html">Visualization Toolkit Filtering Classes</a></li>
<li class="footer">Generated on Thu Jul 25 2013 17:18:31 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>
|