00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkSelectionSource_h
00026 #define __vtkSelectionSource_h
00027
00028 #include "vtkSelectionAlgorithm.h"
00029
00030
00031 class vtkSelectionSourceInternals;
00032
00033
00034 class VTK_GRAPHICS_EXPORT vtkSelectionSource : public vtkSelectionAlgorithm
00035 {
00036 public:
00037 static vtkSelectionSource *New();
00038 vtkTypeRevisionMacro(vtkSelectionSource,vtkSelectionAlgorithm);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00042
00045 void AddID(vtkIdType piece, vtkIdType id);
00046 void AddStringID(vtkIdType piece, const char* id);
00048
00050 void AddLocation(double x, double y, double z);
00051
00053 void AddThreshold(double min, double max);
00054
00056 void SetFrustum(double *vertices);
00057
00059 void AddBlock(vtkIdType blockno);
00060
00062
00063 void RemoveAllIDs();
00064 void RemoveAllStringIDs();
00066
00068 void RemoveAllThresholds();
00069
00071 void RemoveAllLocations();
00072
00074 void RemoveAllBlocks();
00075
00077
00079 vtkSetMacro(ContentType, int);
00080 vtkGetMacro(ContentType, int);
00082
00084
00086 vtkSetMacro(FieldType, int);
00087 vtkGetMacro(FieldType, int);
00089
00091
00093 vtkSetMacro(ContainingCells, int);
00094 vtkGetMacro(ContainingCells, int);
00096
00098
00100 vtkSetMacro(Inverse, int);
00101 vtkGetMacro(Inverse, int);
00103
00105
00106 vtkSetStringMacro(ArrayName);
00107 vtkGetStringMacro(ArrayName);
00109
00111
00113 vtkSetMacro(ArrayComponent, int);
00114 vtkGetMacro(ArrayComponent, int);
00116
00118
00120 vtkSetMacro(CompositeIndex, int);
00121 vtkGetMacro(CompositeIndex, int);
00123
00125
00128 vtkSetMacro(HierarchicalLevel, int);
00129 vtkGetMacro(HierarchicalLevel, int);
00130 vtkSetMacro(HierarchicalIndex, int);
00131 vtkGetMacro(HierarchicalIndex, int);
00133 protected:
00134 vtkSelectionSource();
00135 ~vtkSelectionSource();
00136
00137 virtual int RequestInformation(vtkInformation* request,
00138 vtkInformationVector** inputVector,
00139 vtkInformationVector* outputVector);
00140
00141 virtual int RequestData(vtkInformation* request,
00142 vtkInformationVector** inputVector,
00143 vtkInformationVector* outputVector);
00144
00145 vtkSelectionSourceInternals* Internal;
00146
00147 int ContentType;
00148 int FieldType;
00149 int ContainingCells;
00150 int PreserveTopology;
00151 int Inverse;
00152 int CompositeIndex;
00153 int HierarchicalLevel;
00154 int HierarchicalIndex;
00155 char *ArrayName;
00156 int ArrayComponent;
00157
00158 private:
00159 vtkSelectionSource(const vtkSelectionSource&);
00160 void operator=(const vtkSelectionSource&);
00161 };
00162
00163 #endif