Thanks for the replies. Perhaps a screenshot would help clarify. <br><br>The first screenshot is CutAfterModification-vtkCutter.png.
The implicit function here is a polyplane, (function at a given point
evaluates to the signed distance to the plane). It the point is beyond
the "extent" of the plane, its returns an "outside" value.<br><div id=":1j7">
<br>- If one extends the function to infinity, as David suggests, one cuts through the entire dataset. This is not what I want.<br>-
If one returns any arbitrary value, say a large positve or negative
value, outside the extents of the plane, one ends up with artefacts
when contouring with vtkCutter as seen in the second screenshot.<br>
<br>To summarize:<br>- I agree, I does change the definition a bit, but one can't do something as simple as cut a dataset with finite plane.<br>-
Adding one boolean evaluation is negligible compared to the function
evaluation. It may even be faster, if one doesn't have to evaluate
points if the function isn't defined. <br>

<br>I did modify the code already, in my repository.. <br>Its the
modification to vtkCutter that I am proposing, to ignore contouring
cells that contain points with a certain value/attribute. There'd be no
modification to vtkImplicitFunction then.<br>
<br>I guess we'll do it another way then..  <br><br>Thanks<br>--<br><font color="#888888">karthik</font></div>(sorry for the repost.. my reply bounced with the image attachemtns)<br><br><div class="gmail_quote">On Mon, Feb 14, 2011 at 10:56 PM, Will Schroeder <span dir="ltr"><<a href="mailto:will.schroeder@kitware.com">will.schroeder@kitware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">An implicit function is f(x,y,z) = constant. If it doesn't fit that IMO it's not an implicit function. The beauty of these beasts is that they are simple, now you want to complexify the matter by checking validity on every point, it would likely slow everything down, not to mention require modifying a lot of code to do it right.<div>


<br></div><div>I think you need a new design not a new hack ;-)</div><div><br>W<br><br><div class="gmail_quote"><div><div></div><div class="h5">On Mon, Feb 14, 2011 at 12:04 PM, Karthik Krishnan <span dir="ltr"><<a href="mailto:karthik.krishnan@kitware.com" target="_blank">karthik.krishnan@kitware.com</a>></span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">Hello:<br><br>I need to cut a dataset with a polyplane. So I wrote a vtkPolyPlane class that derives from vtkImplicitFunction; so one could use it in combination with a vtkCutter. <br>


<br>It does not quite work, unless the polyplane is infinite in extent. What I need is a way for the implicit function to specify that it cannot be defined at a certain point. The hack I have now is for the Evaluate method to return VTK_DOUBLE_MAX and a modification to vtkCutter to avoid contouring any cells which contain a point where the evaluated function value is VTK_DOUBLE_MAX.<br>



<br>I propose <br>- Adding a IsDefined method to vtkImplicitFunction that returns true by default (subclasses may override it)<br>- Modifying vtkCutter to query IsDefined() on points in a cell before attempting to contour a cell.<br>



<br>Any thoughts.<br><br>Thanks<br>--<br><font color="#888888">karthik<br>
</font><br></div></div><div class="im">_______________________________________________<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>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtk-developers" target="_blank">http://www.vtk.org/mailman/listinfo/vtk-developers</a><br>
<br>
<br></div></blockquote></div><br><br clear="all"><br>-- <br>William J. Schroeder, PhD<br>Kitware, Inc.<br>28 Corporate Drive<br>Clifton Park, NY 12065<br><a href="mailto:will.schroeder@kitware.com" target="_blank">will.schroeder@kitware.com</a><br>


<a href="http://www.kitware.com" target="_blank">http://www.kitware.com</a><br>(518) 881-4902<br>
</div>
</blockquote></div><br>