VTK
vtkExtractSelection.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExtractSelection.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 =========================================================================*/
33 #ifndef __vtkExtractSelection_h
34 #define __vtkExtractSelection_h
35 
36 #include "vtkFiltersExtractionModule.h" // For export macro
38 
46 class vtkSelection;
47 class vtkSelectionNode;
48 
49 class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelection : public vtkExtractSelectionBase
50 {
51 public:
52  static vtkExtractSelection *New();
54  void PrintSelf(ostream& os, vtkIndent indent);
55 
57 
60  vtkSetMacro(ShowBounds,int);
61  vtkGetMacro(ShowBounds,int);
62  vtkBooleanMacro(ShowBounds,int);
64 
66 
69  vtkSetMacro(UseProbeForLocations, int);
70  vtkGetMacro(UseProbeForLocations, int);
71  vtkBooleanMacro(UseProbeForLocations, int);
73 
74 protected:
77 
79 
80  //sets up empty output dataset
81  virtual int RequestDataObject(vtkInformation* request,
82  vtkInformationVector** inputVector,
83  vtkInformationVector* outputVector);
84 
85  // runs the algorithm and fills the output with results
86  virtual int RequestData(vtkInformation *,
89 
90  // used for composite, non-hierarhical input.
91  vtkDataObject* RequestDataInternal(
92  unsigned int composite_index,
93  vtkDataObject* non_composite_input, vtkSelection* sel,
94  vtkInformation* outInfo);
95 
96  // Used for hierarchical input.
97  vtkDataObject* RequestDataInternal(
98  unsigned int composite_index,
99  unsigned int level,
100  unsigned int index,
101  vtkDataObject* non_composite_input, vtkSelection* sel,
102  vtkInformation* outInfo);
103 
104 
105  // called for non-composite input or for a block in a composite dataset.
106  vtkDataObject* RequestDataFromBlock(vtkDataObject* input,
107  vtkSelectionNode* sel, vtkInformation* outInfo);
108 
116 
119 private:
120  vtkExtractSelection(const vtkExtractSelection&); // Not implemented.
121  void operator=(const vtkExtractSelection&); // Not implemented.
122 };
123 
124 #endif