To answer your original question: look at line 557. This tests a point against the plane equations that define the frustum (when this-&gt;ExactTest is off).<br><br>If you decide to backport ExtractSelectedFrustum this explanation may help. The algorithm it uses (when this-&gt;ExactTest is&nbsp; on) comes from Ned Greene, Graphics Gems IV, 1994, p 74-82.&nbsp; What it does is, instead of testing each vertex of a cell against all six plane equations that define the frustum, you can determine which vertex is nearest and farthest to each of the planes. By testing just those two vertices against the plane equations you can quickly reject the cells that are completely outside of the frustum and quickly accept the cells that are completely inside the frustum. The cells that are neither completely in or out are then clipped to determine if they really do intersect. 
<br><br>In either case when the PassThrough flag is on, it runs through each cell, uses one of the above options to determine if it is in or not and then puts that result into the vtkInsidedness array.<br><br>To test if a dataset has that array just do:
<br>&nbsp;vtkDataArray *insidedness = ds-&gt;GetCellData()-&gt;GetArray(&quot;vtkInsidedNess); //or GetPointData as the case may be<br>&nbsp;if (insidedness == NULL)<br>&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; cerr &lt;&lt; &quot;It doesn&#39;t have it.&quot;<br>
&nbsp;&nbsp; }<br><br>cheers,<br>Dave DeMarle<br><br><div><span class="gmail_quote">On 3/7/07, <b class="gmail_sendername">Michael Knopke</b> &lt;<a href="mailto:Michael.Knopke@gmx.de">Michael.Knopke@gmx.de</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">












<div link="blue" vlink="purple" lang="EN-US">

<div><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">Problem is, that I can't use the latest cvs for my app, coz it has several issues. Lately I can't even start the app, gives me strange access violations in 
vtkPlane.cxx (even though this is the same file I use).</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">I tried installing only vtkExtractSelectedFrustum but there where too many dependencies.
</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">I read the source code and can't really say how they detect the vtkInsideness, it's a different way than what I tried, maybe I try to adopt the code.
</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">Another Question: I read that data inside the frustum will be tagget with the attribute "vtkInsideness" How can I querry a Dataset for this attribute?
</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">Regards</span></font></pre><pre><font face="Courier New" size="2">
<span style="font-size: 10pt;">&nbsp;</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">Michael</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span>
</font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></pre><pre><font face="Courier New" size="2">
<span style="font-size: 10pt;">&nbsp;</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span>
</font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;Have you tried vtkExtractSelectedFrustum?</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span>
</font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">On 3/6/07, Michael Knopke &lt;<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Michael.Knopke at gmx.de</a>&gt; wrote:</span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2">
<span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp; Hi,</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span>
</i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> I&#39;m trying to write a new vtk-filter that can crop-out (set scalars to
</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> fixed value e.g. 0) selected volumes (e.g. inside of BoxWidget).</span></i></span>
</font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;"> Unlike all other cropping filter I know, will this filter work with</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">
 vtkImageData and preserve topology and geometry. This means it will not cut</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> cells.
</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;"> Therefore I&#39;m trying to implement frustum culling (with the planes from</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;
<i><span style="font-style: italic;"> BoxWidget) and later add octree to speed up calculation.</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">
&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> The problem I have is regarding detection if the point that is evaluated
</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> lies behind the plane. As far as I know, one has to calculate:</span></i></span>
</font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre>
<font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> 1). Shortest distance to plane (this works well)&nbsp; à returns</span></i></span></font></pre><pre><font face="Courier New" size="2">
<span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> PlanePointDistance</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">
&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> 2). Add this distance to the DotProduct of ( PointX, NormalOfPlane):
</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre>
<font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;&nbsp;&nbsp; Result = PlanePointDistance + (vtkMath::Dot(PointX, Normal));</span></i></span></font></pre><pre><font face="Courier New" size="2">
<span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span>
</i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;"> 3). If result is negative than pointX lies behind Plane</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">
&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre>
<font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">
 Unfortunately this yields wrong results. Does anybody know what&#39;s wrong?</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span>
</i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">
&gt;<i><span style="font-style: italic;">&nbsp;</span></i></span></font></pre><pre><font face="Courier New" size="2"><span style="font-size: 10pt;">&gt;<i><span style="font-style: italic;"> Michael</span></i></span></font></pre>


<p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="DE">&nbsp;</span></font></p>

</div>

</div>


<br>_______________________________________________<br>This is the private VTK discussion list.<br>Please keep messages on-topic. Check the FAQ at: <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">
http://www.vtk.org/Wiki/VTK_FAQ</a><br>Follow this link to subscribe/unsubscribe:<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers
</a><br><br></blockquote></div><br>