00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkSelectionSource_h
00029 #define __vtkSelectionSource_h
00030
00031 #include "vtkSelectionAlgorithm.h"
00032
00033
00034 class vtkSelectionSourceInternals;
00035
00036
00037 class VTK_GRAPHICS_EXPORT vtkSelectionSource : public vtkSelectionAlgorithm
00038 {
00039 public:
00040 static vtkSelectionSource *New();
00041 vtkTypeMacro(vtkSelectionSource,vtkSelectionAlgorithm);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00045
00048 void AddID(vtkIdType piece, vtkIdType id);
00049 void AddStringID(vtkIdType piece, const char* id);
00051
00053 void AddLocation(double x, double y, double z);
00054
00056 void AddThreshold(double min, double max);
00057
00059 void SetFrustum(double *vertices);
00060
00062 void AddBlock(vtkIdType blockno);
00063
00065
00066 void RemoveAllIDs();
00067 void RemoveAllStringIDs();
00069
00071 void RemoveAllThresholds();
00072
00074 void RemoveAllLocations();
00075
00077 void RemoveAllBlocks();
00078
00080
00082 vtkSetMacro(ContentType, int);
00083 vtkGetMacro(ContentType, int);
00085
00087
00089 vtkSetMacro(FieldType, int);
00090 vtkGetMacro(FieldType, int);
00092
00094
00096 vtkSetMacro(ContainingCells, int);
00097 vtkGetMacro(ContainingCells, int);
00099
00101
00103 vtkSetMacro(Inverse, int);
00104 vtkGetMacro(Inverse, int);
00106
00108
00109 vtkSetStringMacro(ArrayName);
00110 vtkGetStringMacro(ArrayName);
00112
00114
00116 vtkSetMacro(ArrayComponent, int);
00117 vtkGetMacro(ArrayComponent, int);
00119
00121
00123 vtkSetMacro(CompositeIndex, int);
00124 vtkGetMacro(CompositeIndex, int);
00126
00128
00131 vtkSetMacro(HierarchicalLevel, int);
00132 vtkGetMacro(HierarchicalLevel, int);
00133 vtkSetMacro(HierarchicalIndex, int);
00134 vtkGetMacro(HierarchicalIndex, int);
00136 protected:
00137 vtkSelectionSource();
00138 ~vtkSelectionSource();
00139
00140 virtual int RequestInformation(vtkInformation* request,
00141 vtkInformationVector** inputVector,
00142 vtkInformationVector* outputVector);
00143
00144 virtual int RequestData(vtkInformation* request,
00145 vtkInformationVector** inputVector,
00146 vtkInformationVector* outputVector);
00147
00148 vtkSelectionSourceInternals* Internal;
00149
00150 int ContentType;
00151 int FieldType;
00152 int ContainingCells;
00153 int PreserveTopology;
00154 int Inverse;
00155 int CompositeIndex;
00156 int HierarchicalLevel;
00157 int HierarchicalIndex;
00158 char *ArrayName;
00159 int ArrayComponent;
00160
00161 private:
00162 vtkSelectionSource(const vtkSelectionSource&);
00163 void operator=(const vtkSelectionSource&);
00164 };
00165
00166 #endif