[vtkusers] Boolean operation for vtkPolyData

Goodwin Lawlor goodwin.lawlor at ucd.ie
Wed Mar 19 14:57:04 EDT 2008


Hi Stefan,

TestCollisionDetection1.cxx is on the web here:
http://vtkbioeng.cvs.sourceforge.net/vtkbioeng/vtkbioeng/Testing/Cxx/TestCollisionDetection1.cxx?view=markup

It uses vtkSelectPolyData to compute a signed distance function from the 
line of intersection (ie the loop). vtkAppendPolyData is used for the 
case where there are multiple closed loops doing the intersection.

Good luck!

Goodwin


Stefan wrote:
> Hi Marian,
> 
> thanks for the hint! Currently i try to add two vtkPolyData to 
> vtkImplicitDataSet's and use the vtkImplicitBoolean operation
> as described in the Modelling/Python/icecream.py example. If it doesn't 
> work i'll take a closer look at the vtkCollisionDetectionFilter 
> <http://www.bioengineering-research.com/vtk/vtkCollisionDetectionFilter.htm>. 
> 
> 
> best Regards,
> Stefan
> 
> Marian Panten schrieb:
>> Hi Stefan,
>>
>> have a look at the TestCollisionDetection1.cxx. You will see the 
>> filter can provide both, the intersection line and the resultion 
>> polydata of both sides. Just test a bit. For example for union 
>> operation you use vtkAppendPolyData to merge the two resultion polydata.
>>
>> see also
>> http://vtk.org/pipermail/vtkusers/2007-March/090247.html
>>
>> Marian
>>
>> On Wed, Mar 19, 2008 at 3:55 PM, Stefan <sickboy at 9elements.com 
>> <mailto:sickboy at 9elements.com>> wrote:
>>
>>     Hi Marian,
>>
>>     thanks for your suggestion, but finding out the intersection is
>>     just one small part
>>     of the boolean operations.
>>
>>
>>     Stefan
>>
>>
>>     Marian Panten schrieb:
>>>     Hi Stefan,
>>>
>>>     try
>>>
>>>     
>>> http://www.bioengineering-research.com/vtk/vtkCollisionDetectionFilter.htm 
>>>
>>>
>>>     this works fine! You have to apply the operations on the
>>>     resulting polydata.
>>>
>>>     Marian
>>>
>>>     On Wed, Mar 19, 2008 at 3:16 PM, Stefan <sickboy at 9elements.com
>>>     <mailto:sickboy at 9elements.com>> wrote:
>>>
>>>         I'm looking for a Boolean operation (UNION, INTERSECTION,
>>>         DIFFERENCE) to
>>>         apply on two vtkPolyData.
>>>         It should return a new vtkPolyData with the result of the
>>>         operation.
>>>
>>>         My current search results are:
>>>
>>>         - vtkPolyBoolean from the Slicer 2 cvs
>>>         - vtkImplicitPolyData from
>>>         http://www.science.uva.nl/~dshamoni/Boolean/
>>>         <http://www.science.uva.nl/%7Edshamoni/Boolean/>
>>>         - vtkBooleanStructuredPoints ( obsolete and as the name says
>>>         just for
>>>         structured points)
>>>         - vtkImplicitBoolean which doesn't handle PolyData ?!
>>>
>>>         But after a day of testing i still haven't found a method
>>>         which works :-/
>>>
>>>         Anybody done that before ? Any hints ?
>>>
>>>
>>>         Thanks in advance,
>>>         Stefan
>>>         _______________________________________________
>>>         This is the private VTK discussion list.
>>>         Please keep messages on-topic. Check the FAQ at:
>>>         http://www.vtk.org/Wiki/VTK_FAQ
>>>         Follow this link to subscribe/unsubscribe:
>>>         http://www.vtk.org/mailman/listinfo/vtkusers
>>>
>>>
>>
>>
> 
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at: 
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
> 




More information about the vtkusers mailing list