00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00033 #ifndef __vtkExtractSelection_h
00034 #define __vtkExtractSelection_h
00035
00036 #include "vtkExtractSelectionBase.h"
00037
00038 class vtkExtractSelectedBlock;
00039 class vtkExtractSelectedFrustum;
00040 class vtkExtractSelectedIds;
00041 class vtkExtractSelectedLocations;
00042 class vtkExtractSelectedThresholds;
00043 class vtkProbeSelectedLocations;
00044 class vtkSelection;
00045 class vtkSelectionNode;
00046
00047 class VTK_GRAPHICS_EXPORT vtkExtractSelection : public vtkExtractSelectionBase
00048 {
00049 public:
00050 static vtkExtractSelection *New();
00051 vtkTypeRevisionMacro(vtkExtractSelection, vtkExtractSelectionBase);
00052 void PrintSelf(ostream& os, vtkIndent indent);
00053
00055
00058 vtkSetMacro(ShowBounds,int);
00059 vtkGetMacro(ShowBounds,int);
00060 vtkBooleanMacro(ShowBounds,int);
00062
00064
00067 vtkSetMacro(UseProbeForLocations, int);
00068 vtkGetMacro(UseProbeForLocations, int);
00069 vtkBooleanMacro(UseProbeForLocations, int);
00071
00072 protected:
00073 vtkExtractSelection();
00074 ~vtkExtractSelection();
00075
00076 virtual int FillInputPortInformation(int port, vtkInformation* info);
00077
00078
00079 virtual int RequestDataObject(vtkInformation* request,
00080 vtkInformationVector** inputVector,
00081 vtkInformationVector* outputVector);
00082
00083
00084 virtual int RequestData(vtkInformation *,
00085 vtkInformationVector **,
00086 vtkInformationVector *);
00087
00088
00089 vtkDataObject* RequestDataInternal(
00090 unsigned int composite_index,
00091 vtkDataSet* input, vtkSelection* sel,
00092 vtkInformation* outInfo);
00093
00094
00095 vtkDataObject* RequestDataInternal(
00096 unsigned int composite_index,
00097 unsigned int level,
00098 unsigned int index,
00099 vtkDataSet* input, vtkSelection* sel,
00100 vtkInformation* outInfo);
00101
00102
00103
00104 vtkDataObject* RequestDataFromBlock(vtkDataObject* input,
00105 vtkSelectionNode* sel, vtkInformation* outInfo);
00106
00107 vtkExtractSelectedBlock* BlockFilter;
00108 vtkExtractSelectedIds* IdsFilter;
00109 vtkExtractSelectedFrustum* FrustumFilter;
00110 vtkExtractSelectedLocations* LocationsFilter;
00111 vtkExtractSelectedThresholds* ThresholdsFilter;
00112 vtkProbeSelectedLocations* ProbeFilter;
00113
00114 int UseProbeForLocations;
00115 int ShowBounds;
00116 private:
00117 vtkExtractSelection(const vtkExtractSelection&);
00118 void operator=(const vtkExtractSelection&);
00119 };
00120
00121 #endif