[vtkusers] vtkTubeFilter doesn't create a closed loop
David Gobbi
david.gobbi at gmail.com
Tue Jul 19 10:05:38 EDT 2016
That's a good point. If the first segment and the last segment of the loop
are in exactly the same direction, then the "ends" of the generated tube
should coincide with each other exactly.
On Tue, Jul 19, 2016 at 7:46 AM, Andras Lasso <lasso at queensu.ca> wrote:
> If start and end points of the tube are the same then
> http://www.vtk.org/doc/nightly/html/classvtkCleanPolyData.html will merge
> them.
>
>
>
> Andras
>
>
>
> *From:* vtkusers [mailto:vtkusers-bounces at vtk.org] *On Behalf Of *Maximilian
> Wormser
> *Sent:* July 19, 2016 9:09
> *To:* 'David Gobbi' <david.gobbi at gmail.com>
> *Cc:* 'VTK Users' <vtkusers at vtk.org>
> *Subject:* Re: [vtkusers] vtkTubeFilter doesn't create a closed loop
>
>
>
> Oh what a shame :( do you know where the best place is to submit this as a
> feature request?
>
>
>
> *Von:* David Gobbi [mailto:david.gobbi at gmail.com <david.gobbi at gmail.com>]
> *Gesendet:* Dienstag, 19. Juli 2016 14:58
> *An:* Maximilian Wormser <max.wormser at gmx.de>
> *Cc:* VTK Users <vtkusers at vtk.org>
> *Betreff:* Re: [vtkusers] vtkTubeFilter doesn't create a closed loop
>
>
>
> Hi Maximilian,
>
>
>
> I did a quick read-through of the code for vtkTubeFilter, and it doesn't
> check to see if the first and last points are the same point. So unless
> someone provides a fix, you might be out of luck.
>
>
>
> - David
>
>
>
> On Tue, Jul 19, 2016 at 4:38 AM, Maximilian Wormser <max.wormser at gmx.de>
> wrote:
>
> Good idea, but SetCappingOff or SetCappingOn do not change the underlying
> problem.
>
>
>
> *Von:* lihouxing [mailto:lihouxing at yeah.net]
> *Gesendet:* Dienstag, 19. Juli 2016 11:02
> *An:* max.wormser at gmx.de; vtkusers at vtk.org
> *Betreff:* Re:[vtkusers] vtkTubeFilter doesn't create a closed loop
>
>
>
> maybe you should set "capping off"
>
>
>
>
>
>
>
> 发自我的小米手机
>
> 在 Maximilian Wormser <max.wormser at gmx.de>,2016年7月19日 下午3:51写道:
>
> Hey all,
>
>
>
> I want to create closed loops with vtkTubeFilter, but at the point where
> the first and the last point meet there is always a misconnection.
> vtkStripper and vtkCleanPolyData do not help in this case. I already posted
> my problem to stackoverflow, but without any solutions so far. Here is a
> link to my submission:
> http://stackoverflow.com/questions/38266711/creating-a-closed-loop-with-vtktubefilter
>
>
>
> Here’s a minimal working example to reproduce the behavior:
>
>
>
> import vtk
>
>
>
>
>
> def rendering(mapper):
>
> """Takes mapper and handles the rendering."""
>
> actor = vtk.vtkActor()
>
> actor.SetMapper(mapper)
>
>
>
> # Create a renderer, render window, and interactor
>
> renderer = vtk.vtkRenderer()
>
> renderWindow = vtk.vtkRenderWindow()
>
> renderWindow.AddRenderer(renderer)
>
> renderWindowInteractor = vtk.vtkRenderWindowInteractor()
>
> renderWindowInteractor.SetRenderWindow(renderWindow)
>
> # Add the actors to the scene
>
> renderer.AddActor(actor)
>
> # Render and interact
>
> renderWindow.Render()
>
> renderWindowInteractor.Start()
>
> return
>
>
>
> pts = vtk.vtkPoints()
>
> pts.SetNumberOfPoints(4)
>
> pts.SetPoint(0, 0.5, 0, 0)
>
> pts.SetPoint(1, 1, 0.5, 0)
>
> pts.SetPoint(2, 0.5, 1, 0)
>
> pts.SetPoint(3, 0, 0.5, 0)
>
>
>
> lines = vtk.vtkCellArray()
>
> lines.InsertNextCell(5)
>
> lines.InsertCellPoint(0)
>
> lines.InsertCellPoint(1)
>
> lines.InsertCellPoint(2)
>
> lines.InsertCellPoint(3)
>
> lines.InsertCellPoint(0)
>
>
>
> poly = vtk.vtkPolyData()
>
> poly.SetPoints(pts)
>
> poly.SetLines(lines)
>
>
>
> tubes = vtk.vtkTubeFilter()
>
> tubes.SetInputData(poly)
>
> tubes.CappingOn()
>
> tubes.SidesShareVerticesOff()
>
> tubes.SetNumberOfSides(4)
>
> tubes.SetRadius(0.1)
>
> tubes.Update()
>
>
>
> mapper = vtk.vtkPolyDataMapper()
>
> mapper.SetInputData(tubes.GetOutput())
>
> rendering(mapper)
>
>
>
> Thanks in advance for any help!
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160719/0d596fe3/attachment-0001.html>
More information about the vtkusers
mailing list