def obb(opts,argv): poly = nv.readVTK(argv[0]) obb = vtk.vtkOBBTree() obb.SetMaxLevel(10) obb.SetNumberOfCellsPerNode(5) obb.AutomaticOn() sfilt = vtk.vtkSpatialRepresentationFilter() sfilt.SetSpatialRepresentation(obb) sfilt.SetInput(poly) sfilt.Update() nv.writeVTK(argv[1],sfilt.GetOutput())
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__( self, module_manager, vtk.vtkSpatialRepresentationFilter(), 'Processing.', ('vtkDataSet',), ('vtkPolyData',), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__(self, module_manager, vtk.vtkSpatialRepresentationFilter(), 'Processing.', ('vtkDataSet', ), ('vtkPolyData', ), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def obb(opts, argv): poly = nv.readVTK(argv[0]) obb = vtk.vtkOBBTree() obb.SetMaxLevel(10) obb.SetNumberOfCellsPerNode(5) obb.AutomaticOn() sfilt = vtk.vtkSpatialRepresentationFilter() sfilt.SetSpatialRepresentation(obb) sfilt.SetInput(poly) sfilt.Update() nv.writeVTK(argv[1], sfilt.GetOutput())
transPD.SetInputConnection(cylinder.GetOutputPort()) transPD.SetTransform(foo) dataMapper = vtk.vtkPolyDataMapper() dataMapper.SetInputConnection(transPD.GetOutputPort()) model = vtk.vtkActor() model.SetMapper(dataMapper) model.GetProperty().SetColor(1, 0, 0) obb = vtk.vtkOBBTree() obb.SetMaxLevel(10) obb.SetNumberOfCellsPerNode(5) obb.AutomaticOff() boxes = vtk.vtkSpatialRepresentationFilter() boxes.SetInputConnection(transPD.GetOutputPort()) boxes.SetSpatialRepresentation(obb) boxes.SetGenerateLeaves(1) boxes.Update() output = boxes.GetOutput().GetBlock(boxes.GetMaximumLevel() + 1) boxEdges = vtk.vtkExtractEdges() boxEdges.SetInputData(output) boxMapper = vtk.vtkPolyDataMapper() boxMapper.SetInputConnection(boxEdges.GetOutputPort()) boxMapper.SetResolveCoincidentTopology(1) boxActor = vtk.vtkActor() boxActor.SetMapper(boxMapper)
def testspatialRepAll(self): ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.SetMultiSamples(0) renWin.AddRenderer(ren) asource = vtk.vtkSTLReader() asource.SetFileName(VTK_DATA_ROOT + "/Data/42400-IDGH.stl") dataMapper = vtk.vtkPolyDataMapper() dataMapper.SetInputConnection(asource.GetOutputPort()) model = vtk.vtkActor() model.SetMapper(dataMapper) model.GetProperty().SetColor(1, 0, 0) model.VisibilityOn() locators = ["vtkPointLocator", "vtkCellLocator", "vtkOBBTree"] locator = list() boxes = list() boxMapper = list() boxActor = list() for idx, vtkLocatorType in enumerate(locators): eval('locator.append(vtk.' + vtkLocatorType + '())') locator[idx].AutomaticOff() locator[idx].SetMaxLevel(3) boxes.append(vtk.vtkSpatialRepresentationFilter()) boxes[idx].SetInputConnection(asource.GetOutputPort()) boxes[idx].SetSpatialRepresentation(locator[idx]) boxes[idx].SetGenerateLeaves(1) boxes[idx].Update() output = boxes[idx].GetOutput().GetBlock(boxes[idx].GetMaximumLevel() + 1) boxMapper.append(vtk.vtkPolyDataMapper()) boxMapper[idx].SetInputData(output) boxActor.append(vtk.vtkActor()) boxActor[idx].SetMapper(boxMapper[idx]) boxActor[idx].AddPosition((idx + 1) * 15, 0, 0) ren.AddActor(boxActor[idx]) ren.AddActor(model) ren.SetBackground(0.1, 0.2, 0.4) renWin.SetSize(400, 160) # render the image camera = vtk.vtkCamera() camera.SetPosition(148.579, 136.352, 214.961) camera.SetFocalPoint(151.889, 86.3178, 223.333) camera.SetViewAngle(30) camera.SetViewUp(0, 0, -1) camera.SetClippingRange(1, 100) ren.SetActiveCamera(camera) # render and interact with data iRen = vtk.vtkRenderWindowInteractor() iRen.SetRenderWindow(renWin); renWin.Render() img_file = "spatialRepAll.png" vtk.test.Testing.compareImage(iRen.GetRenderWindow(), vtk.test.Testing.getAbsImagePath(img_file), threshold=25) vtk.test.Testing.interact()