File: vtkgraphics_vtkselectpolydata.html

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (145 lines) | stat: -rw-r--r-- 10,380 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<!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: vtkSelectPolyData</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FreeMat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('vtkgraphics_vtkselectpolydata.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">vtkSelectPolyData </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_vtkgraphics.html">Visualization Toolkit Graphics Classes</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>vtkSelectPolyData is a filter that selects polygonal data based on defining a "loop" and indicating the region inside of the loop. The mesh within the loop consists of complete cells (the cells are not cut). Alternatively, this filter can be used to generate scalars. These scalar values, which are a distance measure to the loop, can be used to clip, contour. or extract data (i.e., anything that an implicit function can do).</p>
<p>The loop is defined by an array of x-y-z point coordinates. (Coordinates should be in the same coordinate space as the input polygonal data.) The loop can be concave and non-planar, but not self-intersecting. The input to the filter is a polygonal mesh (only surface primitives such as triangle strips and polygons); the output is either a) a portion of the original mesh laying within the selection loop (GenerateSelectionScalarsOff); or b) the same polygonal mesh with the addition of scalar values (GenerateSelectionScalarsOn).</p>
<p>The algorithm works as follows. For each point coordinate in the loop, the closest point in the mesh is found. The result is a loop of closest point ids from the mesh. Then, the edges in the mesh connecting the closest points (and laying along the lines forming the loop) are found. A greedy edge tracking procedure is used as follows. At the current point, the mesh edge oriented in the direction of and whose end point is closest to the line is chosen. The edge is followed to the new end point, and the procedure is repeated. This process continues until the entire loop has been created.</p>
<p>To determine what portion of the mesh is inside and outside of the loop, three options are possible. 1) the smallest connected region, 2) the largest connected region, and 3) the connected region closest to a user specified point. (Set the ivar SelectionMode.)</p>
<p>Once the loop is computed as above, the GenerateSelectionScalars controls the output of the filter. If on, then scalar values are generated based on distance to the loop lines. Otherwise, the cells laying inside the selection loop are output. By default, the mesh lying within the loop is output; however, if InsideOut is on, then the portion of the mesh lying outside of the loop is output.</p>
<p>The filter can be configured to generate the unselected portions of the mesh as output by setting GenerateUnselectedOutput. Use the method GetUnselectedOutput to access this output. (Note: this flag is pertinent only when GenerateSelectionScalars is off.)</p>
<p>To create an instance of class vtkSelectPolyData, simply invoke its constructor as follows </p>
<pre class="fragment">  obj = vtkSelectPolyData
</pre> <h1><a class="anchor" id="Methods"></a>
Methods</h1>
<p>The class vtkSelectPolyData 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 vtkSelectPolyData class. </p>
<ul>
<li>
<code>string = obj.GetClassName ()</code>  </li>
<li>
<code>int = obj.IsA (string name)</code>  </li>
<li>
<code>vtkSelectPolyData = obj.NewInstance ()</code>  </li>
<li>
<code>vtkSelectPolyData = obj.SafeDownCast (vtkObject o)</code>  </li>
<li>
<code>obj.SetGenerateSelectionScalars (int )</code> - Set/Get the flag to control behavior of the filter. If GenerateSelectionScalars is on, then the output of the filter is the same as the input, except that scalars are generated. If off, the filter outputs the cells laying inside the loop, and does not generate scalars.  </li>
<li>
<code>int = obj.GetGenerateSelectionScalars ()</code> - Set/Get the flag to control behavior of the filter. If GenerateSelectionScalars is on, then the output of the filter is the same as the input, except that scalars are generated. If off, the filter outputs the cells laying inside the loop, and does not generate scalars.  </li>
<li>
<code>obj.GenerateSelectionScalarsOn ()</code> - Set/Get the flag to control behavior of the filter. If GenerateSelectionScalars is on, then the output of the filter is the same as the input, except that scalars are generated. If off, the filter outputs the cells laying inside the loop, and does not generate scalars.  </li>
<li>
<code>obj.GenerateSelectionScalarsOff ()</code> - Set/Get the flag to control behavior of the filter. If GenerateSelectionScalars is on, then the output of the filter is the same as the input, except that scalars are generated. If off, the filter outputs the cells laying inside the loop, and does not generate scalars.  </li>
<li>
<code>obj.SetInsideOut (int )</code> - Set/Get the InsideOut flag. When off, the mesh within the loop is extracted. When on, the mesh outside the loop is extracted.  </li>
<li>
<code>int = obj.GetInsideOut ()</code> - Set/Get the InsideOut flag. When off, the mesh within the loop is extracted. When on, the mesh outside the loop is extracted.  </li>
<li>
<code>obj.InsideOutOn ()</code> - Set/Get the InsideOut flag. When off, the mesh within the loop is extracted. When on, the mesh outside the loop is extracted.  </li>
<li>
<code>obj.InsideOutOff ()</code> - Set/Get the InsideOut flag. When off, the mesh within the loop is extracted. When on, the mesh outside the loop is extracted.  </li>
<li>
<code>obj.SetLoop (vtkPoints )</code> - Set/Get the array of point coordinates defining the loop. There must be at least three points used to define a loop.  </li>
<li>
<code>vtkPoints = obj.GetLoop ()</code> - Set/Get the array of point coordinates defining the loop. There must be at least three points used to define a loop.  </li>
<li>
<code>obj.SetSelectionMode (int )</code> - Control how inside/outside of loop is defined.  </li>
<li>
<code>int = obj.GetSelectionModeMinValue ()</code> - Control how inside/outside of loop is defined.  </li>
<li>
<code>int = obj.GetSelectionModeMaxValue ()</code> - Control how inside/outside of loop is defined.  </li>
<li>
<code>int = obj.GetSelectionMode ()</code> - Control how inside/outside of loop is defined.  </li>
<li>
<code>obj.SetSelectionModeToSmallestRegion ()</code> - Control how inside/outside of loop is defined.  </li>
<li>
<code>obj.SetSelectionModeToLargestRegion ()</code> - Control how inside/outside of loop is defined.  </li>
<li>
<code>obj.SetSelectionModeToClosestPointRegion ()</code> - Control how inside/outside of loop is defined.  </li>
<li>
<code>string = obj.GetSelectionModeAsString ()</code> - Control how inside/outside of loop is defined.  </li>
<li>
<code>obj.SetGenerateUnselectedOutput (int )</code> - Control whether a second output is generated. The second output contains the polygonal data that's not been selected.  </li>
<li>
<code>int = obj.GetGenerateUnselectedOutput ()</code> - Control whether a second output is generated. The second output contains the polygonal data that's not been selected.  </li>
<li>
<code>obj.GenerateUnselectedOutputOn ()</code> - Control whether a second output is generated. The second output contains the polygonal data that's not been selected.  </li>
<li>
<code>obj.GenerateUnselectedOutputOff ()</code> - Control whether a second output is generated. The second output contains the polygonal data that's not been selected.  </li>
<li>
<code>vtkPolyData = obj.GetUnselectedOutput ()</code> - Return output that hasn't been selected (if GenreateUnselectedOutput is enabled).  </li>
<li>
<code>vtkPolyData = obj.GetSelectionEdges ()</code> - Return the (mesh) edges of the selection region.  </li>
<li>
<code>long = obj.GetMTime ()</code>  </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_vtkgraphics.html">Visualization Toolkit Graphics Classes</a></li>
    <li class="footer">Generated on Thu Jul 25 2013 17:18:32 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>