vtkPVExtractSelection.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPVExtractSelection.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
43 #ifndef vtkPVExtractSelection_h
44 #define vtkPVExtractSelection_h
45 
46 #include "vtkExtractSelection.h"
47 #include "vtkPVVTKExtensionsExtractionModule.h" //needed for exports
48 
49 class vtkSelectionNode;
50 
52 {
53 public:
55  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
57  static const int OUTPUT_PORT_EXTRACTED_DATASET = 0;
58  static const int OUTPUT_PORT_SELECTION_IDS = 1;
59  static const int OUTPUT_PORT_SELECTION_ORIGINAL = 2;
60 
64  static vtkPVExtractSelection* New();
65 
70 
71 protected:
73  ~vtkPVExtractSelection() override;
74 
75  // sets up empty output dataset
76  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
77  vtkInformationVector* outputVector) override;
78 
79  // runs the algorithm and fills the output with results
81 
83 
84  vtkSelectionNode* LocateSelection(unsigned int level, unsigned int index, vtkSelection* sel);
85  vtkSelectionNode* LocateSelection(unsigned int composite_index, vtkSelection* sel);
86 
92  vtkSmartPointer<vtkSelector> NewSelectionOperator(
94 
95 private:
97  void operator=(const vtkPVExtractSelection&) = delete;
98 
99  class vtkSelectionNodeVector;
100  void RequestDataInternal(
101  vtkSelectionNodeVector& outputs, vtkDataObject* dataObjectOutput, vtkSelectionNode* sel);
102 
103  // Returns the combined content type for the selection.
104  int GetContentType(vtkSelection* sel);
105 };
106 
107 #endif
type
#define VTKPVVTKEXTENSIONSEXTRACTION_EXPORT
level
info
static vtkExtractSelection * New()
void PrintSelf(ostream &os, vtkIndent indent)
void RemoveAllSelectionsInputs()
Removes all inputs from input port 1.
vtkDataObject * RequestDataInternal(unsigned int composite_index, vtkDataObject *non_composite_input, vtkSelection *sel, vtkInformation *outInfo)
Adds a two more output ports to vtkExtractSelection, the second port contains an id selection and the...
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
port
index
void operator=(const vtkObjectBase &)
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillOutputPortInformation(int port, vtkInformation *info)
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)