Hi,
I wanted to know whether it is possible to extrude the output from vtkDelaunay2D. I am trying to create a solid whose cross section is a semi-ellipse. I first created a polyData containing an arc attached to a line but when I extrude this I don’t get the faces of the cylinder. So I filled in my polyData with a Delaunay2D but when I try to extrude the GetOutput of this algorithm, it says there is nothing to extrude.
Here is my code:
angle = 0
majorAxis = 90
minorAxis = 50
xCenter = 0.0
yCenter = 0.0
maxAngle = 180.0
points = vtk.vtkPoints()
idx = 0
while angle <= 2.0 * vtk.vtkMath.Pi() * maxAngle / 360.0 + (vtk.vtkMath.Pi() / 100.0):
points.InsertNextPoint(majorAxis * math.cos(angle) + centerX,
minorAxis * math.sin(angle) + centerY,
0.0)
angle = angle + (vtk.vtkMath.Pi() / 60.0)
idx += 1
points.InsertNextPoint(r1 + xCenter, yCenter, 0.0)
idx += 1
line = vtk.vtkPolyLine()
line.GetPointIds().SetNumberOfIds(idx)
for i in range(0, idx):
line.GetPointIds().SetId(i, i)
lines = vtk.vtkCellArray()
lines.InsertNextCell(line)
polyData = vtk.vtkPolyData()
polyData.SetPoints(points)
polyData.SetLines(lines)
delny = vtk.vtkDelaunay2D()
delny.SetInputData(polyData)
delny.SetSourceData(polyData)
extruder = vtk.vtkLinearExtrusionFilter()
extruder.SetInputData(delny.GetOutput())
extruder.SetVector( 0, 0, 80 )
extruder.SetExtrusionTypeToNormalExtrusion()
extruder.Update()