[vtkusers] PolyData Operations VTK 5

Paulo Henrique Junqueira Amorim paulojamorim at gmail.com
Mon May 5 20:13:50 EDT 2008


Hi,

Anyone have any ideas?

Regards,
Paulo


2008/5/2 Paulo Henrique Junqueira Amorim <paulojamorim at gmail.com>:

> Hi Mathieu,
>
> Thank but the vtkImplicitPolyData only works in vtk 4.2, my project uses
> vtk 5.1 and wrapper to Python.
>
> I tried to convert PolyData implicit function and then use the
> vtkImplicitBoolean but the output of vtkImplicitBoolean is null,  I am
> exported to stl and export null, I am creted Actor and Add renderer, but the
> output of the renderer is black. See below code.
>
> Best Regards,
> Paulo Amorim
>
>
> The code convert PolyData in Implicit Function:
>
> from vtk import *
>
> #To test PolyData Boolean
> Cylinder = vtkCylinderSource()
> Cylinder.SetHeight(35)
> Cylinder.SetRadius(6)
>
> Cube = vtkCubeSource()
> Cube.SetXLength(100)
> Cube.SetYLength(10)
> Cube.SetZLength(10)
>
>
>
> # transforming polyData of the Cylinder to an implicitFunction
> poly_Cylinder = vtkPolyData()
> poly_Cylinder.SetPoints(Cylinder.GetOutput().GetPoints())
>
> tri_Cylinder = vtkTriangleFilter()
> tri_Cylinder.SetInput(poly_Cylinder)
>
> implicit_Cylinder = vtkImplicitModeller()
> implicit_Cylinder.SetInputConnection(tri_Cylinder.GetOutputPort())
>
> dataset_Cylinder = vtkImplicitDataSet()
> dataset_Cylinder.SetDataSet(implicit_Cylinder.GetOutput())
>
>
>
> # ----   transforming polyData of the Cube to an implicitFunction
> -----------
> poly_Cube = vtkPolyData()
> poly_Cube.SetPoints(Cube.GetOutput().GetPoints())
>
> tri_Cube = vtkTriangleFilter()
> tri_Cube.SetInput(poly_Cube)
>
> implicit_Cube = vtkImplicitModeller()
> implicit_Cube.SetInputConnection(tri_Cube.GetOutputPort())
>
> dataset_Cube = vtkImplicitDataSet()
> dataset_Cube.SetDataSet(implicit_Cube.GetOutput())
>
>
> #Boolean Difference two implicit funcion (cylinder and cube)
>
> implict_Boolean = vtkImplicitBoolean()
> implict_Boolean.SetOperationTypeToDifference()
>
> implict_Boolean.AddFunction(dataset_Cube)
> implict_Boolean.AddFunction(dataset_Cylinder)
>
>
> Sample = vtkSampleFunction()
> Sample.SetImplicitFunction(implict_Boolean)
>
> Surface = vtkContourFilter()
> Surface.SetInputConnection(Sample.GetOutputPort())
>
>
> #Export to STL
> writerBinary = vtkSTLWriter()
> writerBinary.SetFileName("c:\\exported.stl")
> writerBinary.SetInput(Surface.GetOutput())
> writerBinary.SetFileType(2)
> writerBinary.Write()
>
>
>
> Mapper = vtkPolyDataMapper()
> Mapper.SetInput(Surface.GetOutput())
> Mapper.ScalarVisibilityOn()
>
> Actor = vtkActor()
> Actor.SetMapper(Mapper)
> Actor.SetPosition(0,0,0)
>
>
> ren = vtkRenderer()
> ren.AddActor(Actor)
>
> renWin = vtkRenderWindow()
> renWin.AddRenderer(ren)
>
> iren = vtkRenderWindowInteractor()
> iren.SetRenderWindow(renWin)
>
> renWin.Render()
>
>
>
>
> 2008/4/28 Mathieu Malaterre <mathieu.malaterre at gmail.com>:
>
> Hi Paulo,
> >
> >  I believe this question has been raised in the vtkusers mailing list
> > before, how about:
> >
> > http://www.vtk.org/pipermail/vtkusers/2007-April/090730.html
> >
> > HTH
> > -Mathieu
> >
> > On Sun, Apr 27, 2008 at 3:44 AM, Paulo Henrique Junqueira Amorim
> > <paulojamorim at gmail.com> wrote:
> > > Hi All,
> > >
> > > I am researching how to make operation of intersseção and subtraction
> > of
> > > PolyData with the vtk 5. But I do not think any refence.
> > >
> > > That class could use?
> > >
> > >
> > > Best Regards,
> > > Paulo
> > >
> > >
> > > _______________________________________________
> > >  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
> > >
> > >
> >
> >
> >
> > --
> > Mathieu
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20080505/47feb2d6/attachment.htm>


More information about the vtkusers mailing list