<div class="gmail_extra">So I think I have solved the issues for my situations.  I have attached my modified file, but the basic change I made was changing your definition of &quot;largest&quot; polygon for computation of the normal.  I&#39;m not sure how you have defined largest, but I changed largest to be the largest number of points.  This seems to work for my test cases, however I think a better generalization would be the largest area.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Let me know if this makes sense and passes your test cases <br><br><pre style="margin-top:0px;margin-bottom:0px"><span style="color:#008000">//</span><span style="color:#c0c0c0"> </span><span style="color:#008000">if</span><span style="color:#c0c0c0"> </span><span style="color:#008000">no</span><span style="color:#c0c0c0"> </span><span style="color:#008000">normal</span><span style="color:#c0c0c0"> </span><span style="color:#008000">specified,</span><span style="color:#c0c0c0"> </span><span style="color:#008000">then</span><span style="color:#c0c0c0"> </span><span style="color:#008000">compute</span><span style="color:#c0c0c0"> </span><span style="color:#008000">one</span><span style="color:#c0c0c0"> </span><span style="color:#008000">from</span><span style="color:#c0c0c0"> </span><span style="color:#008000">largest</span><span style="color:#c0c0c0"> </span><span style="color:#008000">contour</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">  </span><span style="color:#008000">//</span><span style="color:#c0c0c0"> </span><span style="color:#008000">This</span><span style="color:#c0c0c0"> </span><span style="color:#008000">change</span><span style="color:#c0c0c0"> </span><span style="color:#008000">made</span><span style="color:#c0c0c0"> </span><span style="color:#008000">by</span><span style="color:#c0c0c0"> </span><span style="color:#008000">Jon</span><span style="color:#c0c0c0"> </span><span style="color:#008000">on</span><span style="color:#c0c0c0"> </span><span style="color:#008000">4/25/2012.</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">  </span><span style="color:#008000">//</span><span style="color:#c0c0c0"> </span><span style="color:#008000">It</span><span style="color:#c0c0c0"> </span><span style="color:#008000">would</span><span style="color:#c0c0c0"> </span><span style="color:#008000">appear</span><span style="color:#c0c0c0"> </span><span style="color:#008000">that</span><span style="color:#c0c0c0"> </span><span style="color:#008000">at</span><span style="color:#c0c0c0"> </span><span style="color:#008000">least</span><span style="color:#c0c0c0"> </span><span style="color:#008000">for</span><span style="color:#c0c0c0"> </span><span style="color:#008000">my</span><span style="color:#c0c0c0"> </span><span style="color:#008000">examples,</span><span style="color:#c0c0c0"> </span><span style="color:#008000">the</span><span style="color:#c0c0c0"> </span><span style="color:#008000">calculation</span><span style="color:#c0c0c0"> </span><span style="color:#008000">of</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">  </span><span style="color:#008000">//</span><span style="color:#c0c0c0"> </span><span style="color:#008000">&quot;largest&quot;</span><span style="color:#c0c0c0"> </span><span style="color:#008000">is</span><span style="color:#c0c0c0"> </span><span style="color:#008000">not</span><span style="color:#c0c0c0"> </span><span style="color:#008000">correct.</span><span style="color:#c0c0c0">  </span><span style="color:#008000">I</span><span style="color:#c0c0c0"> </span><span style="color:#008000">go</span><span style="color:#c0c0c0"> </span><span style="color:#008000">ahead</span><span style="color:#c0c0c0"> </span><span style="color:#008000">and</span><span style="color:#c0c0c0"> </span><span style="color:#008000">define</span><span style="color:#c0c0c0"> </span><span style="color:#008000">&quot;largest&quot;</span><span style="color:#c0c0c0"> </span><span style="color:#008000">as</span><span style="color:#c0c0c0"> </span><span style="color:#008000">that</span><span style="color:#c0c0c0"> </span><span style="color:#008000">contour</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">  </span><span style="color:#008000">//</span><span style="color:#c0c0c0"> </span><span style="color:#008000">with</span><span style="color:#c0c0c0"> </span><span style="color:#008000">the</span><span style="color:#c0c0c0"> </span><span style="color:#008000">largest</span><span style="color:#c0c0c0"> </span><span style="color:#008000">number</span><span style="color:#c0c0c0"> </span><span style="color:#008000">of</span><span style="color:#c0c0c0"> </span><span style="color:#008000">points.</span><span style="color:#c0c0c0">  </span><span style="color:#008000">This</span><span style="color:#c0c0c0"> </span><span style="color:#008000">seems</span><span style="color:#c0c0c0"> </span><span style="color:#008000">to</span><span style="color:#c0c0c0"> </span><span style="color:#008000">work</span><span style="color:#c0c0c0"> </span><span style="color:#008000">for</span><span style="color:#c0c0c0"> </span><span style="color:#008000">my</span><span style="color:#c0c0c0"> </span><span style="color:#008000">test</span><span style="color:#c0c0c0"> </span><span style="color:#008000">cases,</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">  </span><span style="color:#008000">//</span><span style="color:#c0c0c0"> </span><span style="color:#008000">however</span><span style="color:#c0c0c0"> </span><span style="color:#008000">a</span><span style="color:#c0c0c0"> </span><span style="color:#008000">good</span><span style="color:#c0c0c0"> </span><span style="color:#008000">generalization</span><span style="color:#c0c0c0"> </span><span style="color:#008000">would</span><span style="color:#c0c0c0"> </span><span style="color:#008000">be</span><span style="color:#c0c0c0"> </span><span style="color:#008000">to</span><span style="color:#c0c0c0"> </span><span style="color:#008000">define</span><span style="color:#c0c0c0"> </span><span style="color:#008000">&quot;largest&quot;</span><span style="color:#c0c0c0"> </span><span style="color:#008000">as</span><span style="color:#c0c0c0"> </span><span style="color:#008000">the</span><span style="color:#c0c0c0"> </span><span style="color:#008000">polygon</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">  </span><span style="color:#008000">//</span><span style="color:#c0c0c0"> </span><span style="color:#008000">with</span><span style="color:#c0c0c0"> </span><span style="color:#008000">the</span><span style="color:#c0c0c0"> </span><span style="color:#008000">largest</span><span style="color:#c0c0c0"> </span><span style="color:#008000">area.</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">  </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>computedNormal[<span style="color:#000080">3</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>{<span style="color:#c0c0c0"> </span><span style="color:#000080">0.0</span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">0.0</span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">1.0</span><span style="color:#c0c0c0"> </span>};</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">  </span><span style="color:#808000">if</span><span style="color:#c0c0c0"> </span>(normal<span style="color:#c0c0c0"> </span>==<span style="color:#c0c0c0"> </span><span style="color:#000080">0</span>)</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#008000">//double</span><span style="color:#c0c0c0"> </span><span style="color:#008000">maxnorm2</span><span style="color:#c0c0c0"> </span><span style="color:#008000">=</span><span style="color:#c0c0c0"> </span><span style="color:#008000">0;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>maxPoints<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#000080">0</span>;</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#800080">size_t</span><span style="color:#c0c0c0"> </span>numNewPolys<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>newPolys.size();</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#808000">for</span><span style="color:#c0c0c0"> </span>(<span style="color:#800080">size_t</span><span style="color:#c0c0c0"> </span>i<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#000080">0</span>;<span style="color:#c0c0c0"> </span>i<span style="color:#c0c0c0"> </span>&lt;<span style="color:#c0c0c0"> </span>numNewPolys;<span style="color:#c0c0c0"> </span>i++)</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span><span style="color:#800080">vtkCTPFPoly</span><span style="color:#c0c0c0"> </span>&amp;poly<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>newPolys[i];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span><span style="color:#800080">size_t</span><span style="color:#c0c0c0"> </span>numPoints<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>poly.size();</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>n[<span style="color:#000080">3</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>{<span style="color:#c0c0c0"> </span><span style="color:#000080">0.0</span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">0.0</span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">0.0</span><span style="color:#c0c0c0"> </span>};</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>v0[<span style="color:#000080">3</span>],<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">3</span>],<span style="color:#c0c0c0"> </span>v2[<span style="color:#000080">3</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span>points-&gt;GetPoint(poly[numPoints-<span style="color:#000080">1</span>],<span style="color:#c0c0c0"> </span>v1);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span>points-&gt;GetPoint(poly[<span style="color:#000080">0</span>],<span style="color:#c0c0c0"> </span>v2);</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span><span style="color:#808000">for</span><span style="color:#c0c0c0"> </span>(<span style="color:#800080">size_t</span><span style="color:#c0c0c0"> </span>j<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#000080">1</span>;<span style="color:#c0c0c0"> </span>j<span style="color:#c0c0c0"> </span>&lt;<span style="color:#c0c0c0"> </span>numPoints;<span style="color:#c0c0c0"> </span>j++)</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>v0[<span style="color:#000080">0</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">0</span>];<span style="color:#c0c0c0"> </span>v0[<span style="color:#000080">1</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">1</span>];<span style="color:#c0c0c0"> </span>v0[<span style="color:#000080">2</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">2</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>v1[<span style="color:#000080">0</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v2[<span style="color:#000080">0</span>];<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">1</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v2[<span style="color:#000080">1</span>];<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">2</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v2[<span style="color:#000080">2</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>points-&gt;GetPoint(poly[j],<span style="color:#c0c0c0"> </span>v2);</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>ax<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v2[<span style="color:#000080">0</span>]<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">0</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>ay<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v2[<span style="color:#000080">1</span>]<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">1</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>az<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v2[<span style="color:#000080">2</span>]<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">2</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>bx<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v0[<span style="color:#000080">0</span>]<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">0</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>by<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v0[<span style="color:#000080">1</span>]<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">1</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>bz<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>v0[<span style="color:#000080">2</span>]<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>v1[<span style="color:#000080">2</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>n[<span style="color:#000080">0</span>]<span style="color:#c0c0c0"> </span>+=<span style="color:#c0c0c0"> </span>(ay<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>bz<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>az<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>by);</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>n[<span style="color:#000080">1</span>]<span style="color:#c0c0c0"> </span>+=<span style="color:#c0c0c0"> </span>(az<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>bx<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>ax<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>bz);</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>n[<span style="color:#000080">2</span>]<span style="color:#c0c0c0"> </span>+=<span style="color:#c0c0c0"> </span>(ax<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>by<span style="color:#c0c0c0"> </span>-<span style="color:#c0c0c0"> </span>ay<span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>bx);</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span><span style="color:#808000">double</span><span style="color:#c0c0c0"> </span>norm2<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>n[<span style="color:#000080">0</span>]*n[<span style="color:#000080">0</span>]<span style="color:#c0c0c0"> </span>+<span style="color:#c0c0c0"> </span>n[<span style="color:#000080">1</span>]*n[<span style="color:#000080">1</span>]<span style="color:#c0c0c0"> </span>+<span style="color:#c0c0c0"> </span>n[<span style="color:#000080">2</span>]*n[<span style="color:#000080">2</span>];</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span><span style="color:#808000">if</span><span style="color:#c0c0c0"> </span>(numPoints<span style="color:#c0c0c0"> </span>&gt;<span style="color:#c0c0c0"> </span>maxPoints)</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>computedNormal[<span style="color:#000080">0</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>-n[<span style="color:#000080">0</span>]/norm2;</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>computedNormal[<span style="color:#000080">1</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>-n[<span style="color:#000080">1</span>]/norm2;</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>computedNormal[<span style="color:#000080">2</span>]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>-n[<span style="color:#000080">2</span>]/norm2;</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#008000">//maxnorm2</span><span style="color:#c0c0c0"> </span><span style="color:#008000">=</span><span style="color:#c0c0c0"> </span><span style="color:#008000">norm2;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>maxPoints<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>numPoints;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">      </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>normal<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>computedNormal;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>}</pre><br><div class="gmail_quote">On Tue, Apr 24, 2012 at 9:38 PM, Jonathan Morra <span dir="ltr">&lt;<a href="mailto:jonmorra@gmail.com" target="_blank">jonmorra@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"><div class="gmail_extra">I&#39;ve been looking at this all day, and I think the answer lies within the vtkCTPFCheckPolygonSense method.  It would appear that for complex drawings which are correctly filled in, this method returns a sense of 1 for all but the outer contour and incorrectly filled in contours return a sense of 0 for all but the outer contour.  Before I continue down this road, I was wondering if there might be a more straightforward way to solve my problem.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">I have a 3D binary volume from which I am extracting a contour for visualization using vtkMarchingSquares and a 2D region.  I want to visualize the interior of this contour with varying levels of opacity.  Is there another way to do this other than</div>

<div class="gmail_extra">1.  Use vtkMarchingSquares to vtkStripper to generate a 2D mesh</div><div class="gmail_extra">2.  Run 2D mesh through <span style>vtkContourToPolygonFilter</span></div>
<div class="gmail_extra">3.  Visualize</div><div class="gmail_extra"><br></div><div class="gmail_extra">Is there someway to just tell vtkMarchingSquares to fill in the output, or maybe something else I haven&#39;t thought of?<div>
<div class="h5"><br>
<br><div class="gmail_quote">On Mon, Apr 23, 2012 at 9:20 AM, Jonathan Morra <span dir="ltr">&lt;<a href="mailto:jonmorra@gmail.com" target="_blank">jonmorra@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">

<div class="gmail_extra">I&#39;m just getting around to looking into this now.  I&#39;ll let you know if I fix this for my case.  On a related note, does there exist a filter which takes as input a specified 2D vtkPolyData, and a set of candidate 2D vtkPolyDatas, and returns a list of those candidate vtkPolyDatas which are wholly inside the specified input?  This seems to be related to this filter.<div>

<div><br>
<br><div class="gmail_quote">On Thu, Apr 19, 2012 at 11:03 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">


Hi Jonathan,<br>
<br>
This is why I haven&#39;t added this filter to VTK yet.  When the input<br>
has multiple contours, the code doesn&#39;t yet have the necessary logic<br>
for determining which contours are holes.  In your case, it has<br>
incorrectly marked the large contour as a hole.<br>
<br>
Unfortunately I cannot provide you with a timeline for when I will<br>
finish this filter, lately I&#39;ve been crazy busy on other projects.<br>
But if you want to give it a shot yourself, take a look at the code<br>
for vtkContourToPolygonFilter::MakePolysFromContours(). The<br>
section that needs to be modified is the block that starts with<br>
&quot;if (normal == 0)&quot;.<br>
<span><font color="#888888"><br>
 - David<br>
</font></span><div><br>
<br>
On Thu, Apr 19, 2012 at 11:44 AM, Jonathan Morra &lt;<a href="mailto:jonmorra@gmail.com" target="_blank">jonmorra@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; After using your filter for a little while, for the most part it works great, however I have discovered a few cases where it doesn&#39;t work.  I&#39;ve attached a screen shot showing a failure,  The first image is the input vtkPolyData, and the second is the result of running through your filter.  Can you determine what is going on?  If not, I&#39;d be happy to give you the poly data I&#39;m using, just let me know how to export it to disk, and I can email it to you.<br>



&gt;<br>
&gt; Thanks<br>
&gt;<br>
&gt; PS The behavior seems unpredictable, as sometimes with shapes just as complicated it works fine, I can&#39;t seem to tell what makes it fail.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div><div><div>&gt; On Tue, Apr 10, 2012 at 12:26 PM, David Gobbi &lt;<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Use the PickableOff() method (on the actor, not the data).<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Apr 10, 2012 at 1:17 PM, Jonathan Morra &lt;<a href="mailto:jonmorra@gmail.com" target="_blank">jonmorra@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; One more question along this same line.  Now that I have opaque vtkPolyData,<br>
&gt;&gt; &gt; I&#39;m noticing that my vtkPicker is no longer hitting the same data it was<br>
&gt;&gt; &gt; before, it&#39;s hitting the now opaque poly data.  This makes sense to me, but<br>
&gt;&gt; &gt; I don&#39;t want it to happen.  Is there a way to tell the vtkPicker to ignore<br>
&gt;&gt; &gt; some vtkPolyData (ie always pick the underlying data).<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Thanks<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div>