vtkPVExtractSelection.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
3 // SPDX-License-Identifier: BSD-3-Clause
32 #ifndef vtkPVExtractSelection_h
33 #define vtkPVExtractSelection_h
34 
35 #include "vtkExtractSelection.h"
36 #include "vtkPVVTKExtensionsExtractionModule.h" //needed for exports
37 
38 class vtkSelectionNode;
39 
40 class VTKPVVTKEXTENSIONSEXTRACTION_EXPORT vtkPVExtractSelection : public vtkExtractSelection
41 {
42 public:
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
46  static const int OUTPUT_PORT_EXTRACTED_DATASET = 0;
47  static const int OUTPUT_PORT_SELECTION_IDS = 1;
48  static const int OUTPUT_PORT_SELECTION_ORIGINAL = 2;
49 
53  static vtkPVExtractSelection* New();
54 
58  void RemoveAllSelectionsInputs() { this->SetInputConnection(1, nullptr); }
59 
60 protected:
62  ~vtkPVExtractSelection() override;
63 
64  // sets up empty output dataset
65  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
66  vtkInformationVector* outputVector) override;
67 
68  // runs the algorithm and fills the output with results
70 
71  int FillOutputPortInformation(int port, vtkInformation* info) override;
72 
73  vtkSelectionNode* LocateSelection(unsigned int level, unsigned int index, vtkSelection* sel);
74  vtkSelectionNode* LocateSelection(unsigned int composite_index, vtkSelection* sel);
75 
81  vtkSmartPointer<vtkSelector> NewSelectionOperator(
83 
84 private:
86  void operator=(const vtkPVExtractSelection&) = delete;
87 
88  class vtkSelectionNodeVector;
90  vtkSelectionNodeVector& outputs, vtkDataObject* dataObjectOutput, vtkSelectionNode* sel);
91 
92  // Returns the combined content type for the selection.
93  int GetContentType(vtkSelection* sel);
94 };
95 
96 #endif
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkExtractSelection::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkSelectionNode
vtkExtractSelection::RequestDataInternal
vtkDataObject * RequestDataInternal(unsigned int composite_index, vtkDataObject *non_composite_input, vtkSelection *sel, vtkInformation *outInfo)
vtkInformationVector
vtkExtractSelection
vtkPVExtractSelection::RemoveAllSelectionsInputs
void RemoveAllSelectionsInputs()
Removes all inputs from input port 1.
Definition: vtkPVExtractSelection.h:58
vtkSmartPointer
vtkSelection
vtkExtractSelection::RequestDataObject
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkSelectionNode::SelectionContent
SelectionContent
vtkPVExtractSelection
Adds a two more output ports to vtkExtractSelection, the second port contains an id selection and the...
Definition: vtkPVExtractSelection.h:40
vtkExtractSelection::New
static vtkExtractSelection * New()
vtkIndent
vtkExtractSelection::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkExtractSelection.h
vtkDataObjectAlgorithm::FillOutputPortInformation
virtual int FillOutputPortInformation(int port, vtkInformation *info)
vtkAlgorithm::SetInputConnection
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
vtkInformation
vtkDataObject