[vtkusers] Re: vtkClipPolyData with vtkBox as implicit function: doesn't work
Theodore Sternberg
tdsternberg at lbl.gov
Thu Jan 27 15:50:03 EST 2005
OK, now it works better but still not quite as required. The clipped
region has rounded corners. The degree of rounding seems to depend on the
resolution of the polydata, which is understandable, but it seems that if
that's the way it works, there should be some "quanta" where the clipping
would be exact.
-----------------------------------------------------------------------------------
from vtkpython import *
# PolyData to clip:
plane = vtkPlaneSource()
plane.SetOrigin(0,0,0)
plane.SetPoint1(1,0,0)
plane.SetPoint2(0,1,0)
plane.SetResolution(9,9)
# Implicit function to clip against
implicit_box = vtkBox()
implicit_box.SetBounds( 1.0/9,8.0/9, 1.0/9,8.0/9, -3,3 ) # rounded corners!?
# Clipper
clipper = vtkClipPolyData()
clipper.SetClipFunction( implicit_box )
clipper.SetInput( plane.GetOutput() )
# Boilerplate rendering pipeline stuff
mapper = vtkPolyDataMapper()
mapper.SetInput( clipper.GetOutput() )
actor = vtkActor()
actor.SetMapper( mapper )
renWin = vtkRenderWindow()
iren = vtkRenderWindowInteractor()
iren.SetRenderWindow( renWin )
ren = vtkRenderer()
renWin.AddRenderer( ren )
ren.AddActor( actor )
iren.Initialize()
iren.Start()
-----------------------------------------------------------------------------------
Ted Sternberg
Lawrence Berkeley National Laboratory
More information about the vtkusers
mailing list