[vtkusers] How to create a cube with vtkPolyData

Jothy jothybasu at gmail.com
Tue May 18 14:52:01 EDT 2010


So, is there any way to create a hexahedra of shell type?

Thanks,

Jothy

On Tue, May 18, 2010 at 5:23 PM, Bill Lorensen <bill.lorensen at gmail.com>wrote:

> The hexahedra is a solid. The sphere and cube are "shells". When you
> cut the hexahedra you will get interior faces because it is solid.
> When you cut the sphere and cube you do not get interior faces because
> they are "shells".
>
> On Tue, May 18, 2010 at 11:48 AM, Jothy <jothybasu at gmail.com> wrote:
> > I have a beam passing through the vtkImageData.While I scroll through the
> > ImageData it should cut the beam and display it over the imagedata.
> Please
> > see the screenshot.Its simply a beam from the x-ray machine.
> >
> > I was able to cut spheresource and cube source and able to get contours
> with
> > out this diagonals. But when I try to create it with hexahedron it
> becomes
> > like this.
> >
> > Thanks,
> >
> > Jothy
> >
> >
> >
> > On Tue, May 18, 2010 at 3:56 PM, Bill Lorensen <bill.lorensen at gmail.com>
> > wrote:
> >>
> >> If you don't clip it, you will not see the interior.
> >>
> >> I am still confused about what you are trying to do.
> >>
> >>
> >> On Tue, May 18, 2010 at 10:41 AM, Jothy <jothybasu at gmail.com> wrote:
> >> > I have tried it earlier. It works fine when you display it as surface.
> >> > But I
> >> > want to display it as a wireframe , I mean only the outline.So that
> you
> >> > can
> >> > see the dose values and ROIs properly.
> >> >
> >> > (I wonder, there must be someone on the list from the planning system
> >> > developers, but they keep their mouth tight!).
> >> >
> >> > Thanks,
> >> >
> >> > Jothy
> >> >
> >> > On Tue, May 18, 2010 at 3:26 PM, Scott Johnson
> >> > <Scott.Johnson at neuwave.com>
> >> > wrote:
> >> >>
> >> >> Hello Jothy,
> >> >>
> >> >>
> >> >>
> >> >> It looks like the plane is being rendered as wireframe.  Try
> rendering
> >> >> it
> >> >> as a semi-transparent surface to see if it goes away.  I’m not sure
> how
> >> >> to
> >> >> get just the outline.
> >> >>
> >> >>
> >> >>
> >> >>                                 -- Scott
> >> >>
> >> >>
> >> >>
> >> >> From: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] On
> >> >> Behalf
> >> >> Of Jothy
> >> >> Sent: Tuesday, May 18, 2010 5:15 AM
> >> >> To: David Doria
> >> >> Cc: VTK
> >> >> Subject: Re: [vtkusers] How to create a cube with vtkPolyData
> >> >>
> >> >>
> >> >>
> >> >> Screenshot is here!
> >> >>
> >> >>
> >> >> On Tue, May 18, 2010 at 11:12 AM, Jothy <jothybasu at gmail.com> wrote:
> >> >>
> >> >> Hi David,
> >> >>
> >> >> I tried the vtkHexahedron example. But, when I try to cut this I get
> a
> >> >> line across the cut plane . see the screenshot and also the code.
> >> >>
> >> >> Could you please figure it out?
> >> >>
> >> >> from vtk import*
> >> >>
> >> >>
> >> >> #Setup the coordinates of eight points
> >> >> #(the two faces must be in counter clockwise order as viewd from the
> >> >> outside)
> >> >> P0 = [0.0, 0.0, 0.0];
> >> >> P1 = [1.0, 0.0, 0.0];
> >> >> P2 = [1.0, 1.0, 0.0];
> >> >> P3 = [0.0, 1.0, 0.0];
> >> >> P4 = [0.0, 0.0, 1.0];
> >> >> P5 = [1.0, 0.0, 1.0];
> >> >> P6 = [1.0, 1.0, 1.0];
> >> >> P7 = [0.0, 1.0, 1.0];
> >> >>
> >> >>
> >> >> #Create the points
> >> >> points = vtkPoints();
> >> >> points.InsertNextPoint(P0);
> >> >> points.InsertNextPoint(P1);
> >> >> points.InsertNextPoint(P2);
> >> >> points.InsertNextPoint(P3);
> >> >> points.InsertNextPoint(P4);
> >> >> points.InsertNextPoint(P5);
> >> >> points.InsertNextPoint(P6);
> >> >> points.InsertNextPoint(P7);
> >> >>
> >> >> #Create a hexahedron from the points
> >> >> hexa = vtkHexahedron();
> >> >> hexa.GetPointIds().SetId(0,0);
> >> >> hexa.GetPointIds().SetId(1,1);
> >> >> hexa.GetPointIds().SetId(2,2);
> >> >> hexa.GetPointIds().SetId(3,3);
> >> >> hexa.GetPointIds().SetId(4,4);
> >> >> hexa.GetPointIds().SetId(5,5);
> >> >> hexa.GetPointIds().SetId(6,6);
> >> >> hexa.GetPointIds().SetId(7,7);
> >> >>
> >> >> #Add the hexahedron to a cell array
> >> >> hexs = vtkCellArray();
> >> >> hexs.InsertNextCell(hexa);
> >> >>
> >> >> #Add the points and hexahedron to an unstructured grid
> >> >> uGrid =vtkUnstructuredGrid();
> >> >> uGrid.SetPoints(points);
> >> >> uGrid.InsertNextCell(hexa.GetCellType(), hexa.GetPointIds());
> >> >> aBeamMapper = vtkDataSetMapper()
> >> >> aBeamMapper.SetInput(uGrid)
> >> >> aBeamActor = vtkActor()
> >> >> aBeamActor.SetMapper(aBeamMapper)
> >> >> aBeamActor.AddPosition(0,0,0)
> >> >> aBeamActor.GetProperty().SetColor(1,1,0)
> >> >> aBeamActor.GetProperty().SetOpacity(0.60)
> >> >> aBeamActor.GetProperty().EdgeVisibilityOn()
> >> >> aBeamActor.GetProperty().SetEdgeColor(1,1,1)
> >> >> aBeamActor.GetProperty().SetLineWidth(1.5)
> >> >>
> >> >> #create a plane to cut,here it cuts in the XZ direction (xz
> >> >> normal=(1,0,0);XY =(0,0,1),YZ =(0,1,0)
> >> >> plane=vtkPlane()
> >> >> plane.SetOrigin(0.5,0,0)
> >> >> plane.SetNormal(1,0,0)
> >> >>
> >> >> #create cutter
> >> >> cutter=vtkCutter()
> >> >> cutter.SetCutFunction(plane)
> >> >> cutter.SetInput(aBeamActor.GetMapper().GetInput())
> >> >> cutter.Update()
> >> >> cutterMapper=vtkPolyDataMapper()
> >> >> cutterMapper.SetInputConnection( cutter.GetOutputPort())
> >> >>
> >> >> #create plane actor
> >> >> planeActor=vtkActor()
> >> >> planeActor.GetProperty().SetColor(1,0.5,0.5)
> >> >> planeActor.GetProperty().SetLineWidth(2)
> >> >> planeActor.SetMapper(cutterMapper)
> >> >>
> >> >> # Setup a renderer, render window, and interactor
> >> >> renderer = vtkRenderer()
> >> >> renderWindow = vtkRenderWindow()
> >> >> #renderWindow.SetWindowName("Test")
> >> >>
> >> >> renderWindow.AddRenderer(renderer);
> >> >> renderWindowInteractor = vtkRenderWindowInteractor()
> >> >> renderWindowInteractor.SetRenderWindow(renderWindow)
> >> >>
> >> >> #Add the actor to the scene
> >> >> renderer.AddActor(aBeamActor)
> >> >> renderer.AddActor(planeActor)
> >> >> renderer.SetBackground(0,0,0) # Background color white
> >> >>
> >> >> #Render and interact
> >> >> renderWindow.Render()
> >> >>
> >> >>
> >> >> I think it has be passed through a filter. But what it's that??
> >> >>
> >> >> Thanks,
> >> >>
> >> >> Jothy
> >> >>
> >> >>
> >> >> On Mon, May 17, 2010 at 10:08 PM, David Doria
> >> >> <daviddoria+vtk at gmail.com <daviddoria%2Bvtk at gmail.com>>
> >> >> wrote:
> >> >> > On Mon, May 17, 2010 at 5:03 PM, Jothy <jothybasu at gmail.com>
> wrote:
> >> >> >> Hi all,
> >> >> >>
> >> >> >> I want to create a hexahedron using vtkPolyData. I think there is
> no
> >> >> >> example in wiki. I created it with a vtkHexaHedron but when I cut
> it
> >> >> >> it produces a line across the cut section.I don't want this. I am
> >> >> >> not
> >> >> >> able to solve this problem for many months.I used it passing
> through
> >> >> >> vtkstripper, vtkTriangle. Finally found that only if the input is
> of
> >> >> >> vtkPolyData, cutter will not produce that line across the cut
> >> >> >> section.
> >> >> >> Can some with kind enough :), add an example of how to create cube
> >> >> >> or
> >> >> >> cone with vtkPoldata.
> >> >> >>
> >> >> >> Many thanks,
> >> >> >>
> >> >> >> Jothy
> >> >> >
> >> >> > I don't really understand your question. The title and your last
> >> >> > sentence talk about cubes and cones
> >> >> >
> >> >> > http://www.vtk.org/Wiki/VTK/Examples/GeometricObjects/Cube
> >> >> > http://www.vtk.org/Wiki/VTK/Examples/GeometricObjects/Display/Cone
> >> >> >
> >> >> > but the beginning talks about hexahedrons
> >> >> >
> >> >> > http://www.vtk.org/Wiki/VTK/Examples/GeometricObjects/Hexahedron
> >> >> >
> >> >> > Let us know if these links do not help.
> >> >> >
> >> >> > David
> >> >> >
> >> >>
> >> >>
> >> >
> >> > _______________________________________________
> >> > 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
> >> >
> >> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100518/23e2baf5/attachment.htm>


More information about the vtkusers mailing list