            selection_node = vtkSelectionNode()
            selection_node.SetFieldType(vtkSelectionNode.CELL)
            selection_node.SetContentType(vtkSelectionNode.INDICES)
            selection_node.SetSelectionList(ids)

            selection = vtkSelection()
            selection.AddNode(selection_node)

            extract_selection = vtkExtractSelection()
            extract_selection.SetInputData(0, self.data)
            extract_selection.SetInputData(1, selection)
--
    selection_node = vtkSelectionNode()
    selection_node.SetFieldType(vtkSelectionNode.POINT)
    selection_node.SetContentType(vtkSelectionNode.INDICES)
    selection_node.SetSelectionList(ids)

    selection = vtkSelection()
    selection.AddNode(selection_node)

    extract_selection = vtkExtractSelection()
    extract_selection.SetInputConnection(0, point_source.GetOutputPort())
    extract_selection.SetInputData(1, selection)
--
    selectionNode = vtkSelectionNode()
    selectionNode.SetFieldType(vtkSelectionNode.CELL)
    selectionNode.SetContentType(vtkSelectionNode.INDICES)
    selectionNode.SetSelectionList(ids)

    selection = vtkSelection()
    selection.AddNode(selectionNode)

    extractSelection = vtkExtractSelection()
    extractSelection.SetInputConnection(0, sphereSource.GetOutputPort())
    extractSelection.SetInputData(1, selection)
