<div dir="ltr">I think vtkStripper was originally written to quickly produce vtkTriangleStrip/vtkPolyLine primitives that would render faster, not a computational geometry type class that would produce the longest possible polylines... it is a visualization library after all. <div>
<br></div><div>The seed point is arbitrary so you may not get the outcome you were looking for.</div><div><br></div><div>See this 2002 post, that contains a patch which may help: <a href="http://vtk.org/pipermail/vtkusers/2002-January/009372.html">http://vtk.org/pipermail/vtkusers/2002-January/009372.html</a></div>
<div><br></div><div>There was a bug report too: <a href="http://www.vtk.org/Bug/print_bug_page.php?bug_id=832">http://www.vtk.org/Bug/print_bug_page.php?bug_id=832</a></div><div><br></div><div>hth</div><div><br></div><div>
Goodwin</div><div><br><br><div class="gmail_quote">On Mon, Dec 10, 2012 at 2:51 AM, David Gobbi <span dir="ltr">&lt;<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Insert vtkTriangleFilter before vtkStripper.  This will break any<br>
input polylines into line segments.  I don&#39;t know if it will help,<br>
but it might.<br>
<span class="HOEnZb"><font color="#888888"><br>
 - David<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sun, Dec 9, 2012 at 2:48 PM, pof &lt;<a href="mailto:jd379252@gmail.com">jd379252@gmail.com</a>&gt; wrote:<br>
&gt; yes this is the way LINES objects are written on vtk files.<br>
&gt; Ok, so I understand now the point you were making about the &quot;T&quot;, which was<br>
&gt; uncorrect.<br>
&gt;<br>
&gt; So back to the problem, why this vtkStripper is not able to merge those 2<br>
&gt; lines?<br>
&gt;<br>
&gt; Le 09/12/2012 21:41, David Gobbi a écrit :<br>
&gt;&gt;<br>
&gt;&gt; Is it?  Maybe it is.  When you wrote the numbers, I assumed that<br>
&gt;&gt;<br>
&gt;&gt; all of the numbers that you listed were just point indices.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Sun, Dec 9, 2012 at 1:37 PM, pof &lt;<a href="mailto:jd379252@gmail.com">jd379252@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hum I see.<br>
&gt;&gt;&gt; (from what I understand), the first integer of each line is simply the<br>
&gt;&gt;&gt; number of points of the corresponding LINE<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Le 09/12/2012 21:33, David Gobbi a écrit :<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Then where would the &quot;9&quot; go?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; The stripper uses a simple algorithm, it just chooses a starting<br>
&gt;&gt;&gt;&gt; point, goes as far as it can in each direction to create the first<br>
&gt;&gt;&gt;&gt; polyline, and then repeats this procedure until all the line segments<br>
&gt;&gt;&gt;&gt; are accounted for.  It doesn&#39;t exhaustively search though all<br>
&gt;&gt;&gt;&gt; permutations to see which one gives the smallest number of output<br>
&gt;&gt;&gt;&gt; polylines... that would cause the algorithm to run many times slower.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Sun, Dec 9, 2012 at 1:12 PM, pof &lt;<a href="mailto:jd379252@gmail.com">jd379252@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Hi David<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; the first polyline being:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;     9 0 1 2 3 4 5 19 6 7<br>
&gt;&gt;&gt;&gt;&gt; and the third polyline (actually it is a segment) being:<br>
&gt;&gt;&gt;&gt;&gt;     2 18 0<br>
&gt;&gt;&gt;&gt;&gt; I don&#39;t see why they shoud not merge together as (unless I<br>
&gt;&gt;&gt;&gt;&gt; misunderstand<br>
&gt;&gt;&gt;&gt;&gt; something):<br>
&gt;&gt;&gt;&gt;&gt;     10 18 0 1 2 3 4 5 19 6 7<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Am I wrong?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Le 09/12/2012 21:05, David Gobbi a écrit :<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Hi JD,<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; It could only merge those two lines if it joined them with a &quot;T&quot;.<br>
&gt;&gt;&gt;&gt;&gt;&gt; A polyline cannot have any branches.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;     - David<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Sun, Dec 9, 2012 at 12:16 PM, pof &lt;<a href="mailto:jd379252@gmail.com">jd379252@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi all,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; I get a strange result (which may be a bug) using vtk stripper, i.e.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; it<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; does<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; not merge LINES as polylines as it is expected to.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; In this example (see below an extract of the polydata produced by<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkStripper), only 2 polylines should be obtained, but vtkStripper<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; forgot<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; merge the first and the third line together, though they obviously<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; share<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; point with Id=0 (btw, the fact that only Id 0 remains unmerged might<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; not<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; be<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; pure luck).<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; LINES 3 24<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 9 0 1 2 3 4 5 19 6 7<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 10 9 8 17 13 12 15 14 11 10 16<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2 18 0<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Does anybody have an idea or an explanation?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; JD<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; PS: Here below is the complete source file that generates these data<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; and<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; in<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; which vtkStripper is used.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; //////////////////////////////////////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; // Example modified from IntersectionPolyDataFilter.cxx<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; //////////////////////////////////////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkActor.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkIntersectionPolyDataFilter.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkPolyDataMapper.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkPolyDataWriter.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkProperty.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkRenderer.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkRenderWindow.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkRenderWindowInteractor.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkSmartPointer.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkSphereSource.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkCellArray.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; #include &lt;vtkStripper.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; int main(int argc, char *argv[])<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; {<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkSphereSource&gt; sphereSource1 =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkSphereSource&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphereSource1-&gt;SetCenter(0.0, 0.0, 0.0);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphereSource1-&gt;SetRadius(2.0f);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphereSource1-&gt;SetPhiResolution(20);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphereSource1-&gt;SetThetaResolution(20);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphereSource1-&gt;Update();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkPolyDataMapper&gt; sphere1Mapper =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphere1Mapper-&gt;SetInputConnection(<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; sphereSource1-&gt;GetOutputPort()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphere1Mapper-&gt;ScalarVisibilityOff();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkActor&gt; sphere1Actor =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkActor&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphere1Actor-&gt;SetMapper( sphere1Mapper );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphere1Actor-&gt;GetProperty()-&gt;SetOpacity(.3);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      sphere1Actor-&gt;GetProperty()-&gt;SetColor(1,0,0);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      /////////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // BEGIN MODIFICATIONS //<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      /////////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // Create a planar object<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // Define 4 vertices<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkPoints&gt; PlanePoints =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkPoints&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkCellArray&gt; PlaneCells =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkCellArray&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlanePoints-&gt;InsertNextPoint(-3, -1, 0);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlanePoints-&gt;InsertNextPoint(3, -1, 0);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlanePoints-&gt;InsertNextPoint(-3, 1, 0);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlanePoints-&gt;InsertNextPoint(3, 1, 0);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // Create 2 trianglar faces<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlaneCells-&gt;InsertNextCell(3);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlaneCells-&gt;InsertCellPoint(0);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlaneCells-&gt;InsertCellPoint(1);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlaneCells-&gt;InsertCellPoint(2);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlaneCells-&gt;InsertNextCell(3);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlaneCells-&gt;InsertCellPoint(1);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlaneCells-&gt;InsertCellPoint(3);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      PlaneCells-&gt;InsertCellPoint(2);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // Create the polydata from points and faces<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkPolyData&gt; ProtectionWall =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkPolyData&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      ProtectionWall-&gt;SetPoints(PlanePoints);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      ProtectionWall-&gt;SetPolys(PlaneCells);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      /////////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // END MODIFICATIONS //<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      /////////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkPolyDataMapper&gt; planeMapper =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      planeMapper-&gt;SetInputConnection(<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; ProtectionWall-&gt;GetProducerPort()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      planeMapper-&gt;ScalarVisibilityOff();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkActor&gt; planeActor =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkActor&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      planeActor-&gt;SetMapper( planeMapper );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      planeActor-&gt;GetProperty()-&gt;SetOpacity(.3);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      planeActor-&gt;GetProperty()-&gt;SetColor(0,1,0);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // Get intersection segments (LINES) using the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkIntersectionPolyDataFilter<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkIntersectionPolyDataFilter&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; intersectionPolyDataFilter<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; = vtkSmartPointer&lt;vtkIntersectionPolyDataFilter&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      intersectionPolyDataFilter-&gt;SplitFirstOutputOff();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      intersectionPolyDataFilter-&gt;SplitSecondOutputOff();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      intersectionPolyDataFilter-&gt;SetInputConnection( 0,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; sphereSource1-&gt;GetOutputPort() );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      intersectionPolyDataFilter-&gt;SetInputConnection( 1,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; ProtectionWall-&gt;GetProducerPort() );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      intersectionPolyDataFilter-&gt;Update();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      /////////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // BEGIN MODIFICATIONS //<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      /////////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // Try to get the polylines (there should be 2) from the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; segments<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; (LINES)<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkStripper&gt; stripper =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkStripper&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; stripper-&gt;SetInputConnection(intersectionPolyDataFilter-&gt;GetOutputPort());<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      stripper-&gt;Update();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // Save resulting polydata on a file, in which we see that there<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; are 3<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; polylines (actually the second polyline is ok,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // but the first and third polylines should have been further<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; merged<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkPolyDataWriter&gt; wr =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkPolyDataWriter&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      wr-&gt;SetFileName(&quot;polylines.txt&quot;);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      wr-&gt;SetInputConnection(stripper-&gt;GetOutputPort());<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      wr-&gt;Write();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      ///////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      // END MODIFICATIONS //<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      ///////////////////////<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkPolyDataMapper&gt; intersectionMapper =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      intersectionMapper-&gt;SetInputConnection(<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; stripper-&gt;GetOutputPort()<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      intersectionMapper-&gt;ScalarVisibilityOff();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkActor&gt; intersectionActor =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkActor&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      intersectionActor-&gt;SetMapper( intersectionMapper );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkRenderer&gt; renderer =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkRenderer&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renderer-&gt;AddViewProp(sphere1Actor);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renderer-&gt;AddViewProp(planeActor);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renderer-&gt;AddViewProp(intersectionActor);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkRenderWindow&gt; renderWindow =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; vtkSmartPointer&lt;vtkRenderWindow&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renderWindow-&gt;AddRenderer( renderer );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; renWinInteractor =<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;        vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;::New();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renWinInteractor-&gt;SetRenderWindow( renderWindow );<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renderWindow-&gt;Render();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renderWindow-&gt;SetSize(600, 600);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renderer-&gt;SetBackground(0.1, 0.2, 0.4);<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      renWinInteractor-&gt;Start();<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;      return EXIT_SUCCESS;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; }<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</div></div></blockquote></div><br></div></div>