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
00046 class VTK_GRAPHICS_EXPORT vtkExtractSelection : public vtkExtractSelectionBase
00047 {
00048 public:
00049 static vtkExtractSelection *New();
00050 vtkTypeRevisionMacro(vtkExtractSelection, vtkExtractSelectionBase);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054
00057 vtkSetMacro(ShowBounds,int);
00058 vtkGetMacro(ShowBounds,int);
00059 vtkBooleanMacro(ShowBounds,int);
00061
00063
00066 vtkSetMacro(UseProbeForLocations, int);
00067 vtkGetMacro(UseProbeForLocations, int);
00068 vtkBooleanMacro(UseProbeForLocations, int);
00070
00071 protected:
00072 vtkExtractSelection();
00073 ~vtkExtractSelection();
00074
00075 virtual int FillInputPortInformation(int port, vtkInformation* info);
00076
00077
00078 virtual int RequestDataObject(vtkInformation* request,
00079 vtkInformationVector** inputVector,
00080 vtkInformationVector* outputVector);
00081
00082
00083 virtual int RequestData(vtkInformation *,
00084 vtkInformationVector **,
00085 vtkInformationVector *);
00086
00087
00088 vtkDataObject* RequestDataInternal(
00089 unsigned int composite_index,
00090 vtkDataSet* input, vtkSelection* sel,
00091 vtkInformation* outInfo);
00092
00093
00094 vtkDataObject* RequestDataInternal(
00095 unsigned int composite_index,
00096 unsigned int level,
00097 unsigned int index,
00098 vtkDataSet* input, vtkSelection* sel,
00099 vtkInformation* outInfo);
00100
00101
00102
00103 vtkDataObject* RequestDataFromBlock(vtkDataObject* input,
00104 vtkSelection* sel, vtkInformation* outInfo);
00105
00106 vtkExtractSelectedBlock* BlockFilter;
00107 vtkExtractSelectedIds* IdsFilter;
00108 vtkExtractSelectedFrustum* FrustumFilter;
00109 vtkExtractSelectedLocations* LocationsFilter;
00110 vtkExtractSelectedThresholds* ThresholdsFilter;
00111 vtkProbeSelectedLocations* ProbeFilter;
00112
00113 int UseProbeForLocations;
00114 int ShowBounds;
00115 private:
00116 vtkExtractSelection(const vtkExtractSelection&);
00117 void operator=(const vtkExtractSelection&);
00118 };
00119
00120 #endif