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