def thresholdCells(polyData, arrayName, thresholdRange): assert(polyData.GetCellData().GetArray(arrayName)) f = vtk.vtkThreshold() # f.SetAttributeModeToUseCellData() f.SetInput(polyData) f.ThresholdBetween(thresholdRange[0], thresholdRange[1]) f.SetInputArrayToProcess(0,0,0, vtk.vtkDataObject.FIELD_ASSOCIATION_CELLS, arrayName) f.Update() g = vtk.vtkGeometryFilter() g.SetInput(f.GetOutput()) g.Update() return shallowCopy(g.GetOutput())
def computeDelaunay3D(polyData): f = vtk.vtkDelaunay3D() f.SetInput(polyData) f.SetOffset(100.0) f.Update() surface = vtk.vtkGeometryFilter() surface.SetInput(f.GetOutput()) surface.Update() clean = vtk.vtkCleanPolyData() clean.SetInput(surface.GetOutput()) clean.Update() return shallowCopy(clean.GetOutput())
def computeDelaunay3D(polyData): f = vtk.vtkDelaunay3D() f.SetInputData(polyData) f.SetOffset(100.0) f.Update() surface = vtk.vtkGeometryFilter() surface.SetInputData(f.GetOutput()) surface.Update() clean = vtk.vtkCleanPolyData() clean.SetInputData(surface.GetOutput()) clean.Update() return shallowCopy(clean.GetOutput())
def thresholdCells(polyData, arrayName, thresholdRange, arrayType="cells"): assert arrayType in ("points", "cells") f = vtk.vtkThreshold() f.SetInputData(polyData) f.ThresholdBetween(thresholdRange[0], thresholdRange[1]) if arrayType == "cells": assert polyData.GetCellData().GetArray(arrayName) f.SetInputArrayToProcess(0, 0, 0, vtk.vtkDataObject.FIELD_ASSOCIATION_CELLS, arrayName) else: assert polyData.GetPointData().GetArray(arrayName) f.SetInputArrayToProcess(0, 0, 0, vtk.vtkDataObject.FIELD_ASSOCIATION_POINTS, arrayName) f.Update() g = vtk.vtkGeometryFilter() g.SetInputConnection(f.GetOutputPort()) g.Update() return shallowCopy(g.GetOutput())