[vtkusers] Intersection of two iso surfaces

Bill Lorensen bill.lorensen at gmail.com
Fri Dec 2 11:35:55 EST 2011


The code from that paper is currently under review in gerrit:
http://review.source.kitware.com/#change,3414

It will soon be integrated into VTK.


On Fri, Dec 2, 2011 at 9:22 AM, Darshan Pai <darshanpai at gmail.com> wrote:
> There is an Insight Journal submission titled "Boolean Operations on
> Surfaces in VTK without external libraries"
>
> It describes a technique where you calculate the signed distance between two
> meshes which is then input to an OBBtree
> and it provides all the intersection lines. Maybe that can help you .
>
> Regards
> Darshan
>
> On Fri, Dec 2, 2011 at 8:13 AM, Bill Lorensen <bill.lorensen at gmail.com>
> wrote:
>>
>> Since the second function is expensive, you will need to do your own
>> "probing".
>>
>> Something like:
>>
>> for each point in the extracted isosurface, evaluate the second
>> function and store the result in the pointdata of the extracted
>> isosurface.
>>
>> Bill
>>
>> On Fri, Dec 2, 2011 at 1:46 AM, Luke <hazelnusse at gmail.com> wrote:
>> > Bill,
>> >  I got caught up in some other work and am returning back to this.  I
>> > have a couple of questions about to use vtkProbeFilter as you suggest.
>> >
>> >> 1) As you stated, compute the isosurface of the first function.
>> >
>> > Ok, so something like this:
>> >
>> >  vtkContourFilter *contours = vtkContourFilter::New();
>> >  contours->SetInput(sample->GetOutput());
>> >  contours->GenerateValues(1, 0.0, 0.0);
>> >
>> > where sample is the sampling of my first function (the computationally
>> > inexpensive one).
>> >
>> >> 2) Probe the second function with the first function polydata using
>> >> vtkProbeFilter.
>> >
>> > I'm a bit confused by the vtkProbeFilter documentation, but I think
>> > you are suggesting that I connect the output of the vtkContourFilter
>> > to the input of the vtkProbeFilter, correct?  So like this:
>> >
>> >  vtkProbeFilter *probe = vtkProbeFilter::New();
>> >  probe->SetInputConnection(1, contours->GetOutputPort());
>> >
>> > What I'm not sure now is how to set my second function as the Source
>> > of the vtkProbeFilter.  Do I need to use vtkSampleFunction to sample
>> > the second function in the same way that the first is sampled?  If so,
>> > won't this result in the second function (the computationally
>> > expensive one) being evaluated over the whole 3d volume that is
>> > specified by vtkSampleFunction::SetModelBounds()?  In
>> > ProbingWithPlaneWidget.py, the input is the plane and the source comes
>> > from a data set loaded from file.
>> >
>> >> 3) Run contour filter on the output of 2).
>> >
>> > Once I get 2), I think I know what to do here, but I'm stuck on how to
>> > do 2) :)
>> >
>> > Thanks for the help,
>> > ~Luke
>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>
>



-- 
Unpaid intern in BillsBasement at noware dot com



More information about the vtkusers mailing list