00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00022 #ifndef __vtkSelectionSource_h
00023 #define __vtkSelectionSource_h
00024
00025 #include "vtkSelectionAlgorithm.h"
00026
00027
00028 class vtkSelectionSourceInternals;
00029
00030
00031 class VTK_GRAPHICS_EXPORT vtkSelectionSource : public vtkSelectionAlgorithm
00032 {
00033 public:
00034 static vtkSelectionSource *New();
00035 vtkTypeRevisionMacro(vtkSelectionSource,vtkSelectionAlgorithm);
00036 void PrintSelf(ostream& os, vtkIndent indent);
00037
00039
00042 void AddID(vtkIdType piece, vtkIdType id);
00043 void AddStringID(vtkIdType piece, const char* id);
00045
00047 void AddLocation(double x, double y, double z);
00048
00050 void AddThreshold(double min, double max);
00051
00053 void SetFrustum(double *vertices);
00054
00056 void AddBlock(vtkIdType blockno);
00057
00059
00060 void RemoveAllIDs();
00061 void RemoveAllStringIDs();
00063
00065 void RemoveAllThresholds();
00066
00068 void RemoveAllLocations();
00069
00071 void RemoveAllBlocks();
00072
00074
00076 vtkSetMacro(ContentType, int);
00077 vtkGetMacro(ContentType, int);
00079
00081
00083 vtkSetMacro(FieldType, int);
00084 vtkGetMacro(FieldType, int);
00086
00088
00090 vtkSetMacro(ContainingCells, int);
00091 vtkGetMacro(ContainingCells, int);
00093
00095
00097 vtkSetMacro(Inverse, int);
00098 vtkGetMacro(Inverse, int);
00100
00102
00103 vtkSetStringMacro(ArrayName);
00104 vtkGetStringMacro(ArrayName);
00106
00108
00110 vtkSetMacro(CompositeIndex, int);
00111 vtkGetMacro(CompositeIndex, int);
00113
00115
00118 vtkSetMacro(HierarchicalLevel, int);
00119 vtkGetMacro(HierarchicalLevel, int);
00120 vtkSetMacro(HierarchicalIndex, int);
00121 vtkGetMacro(HierarchicalIndex, int);
00123 protected:
00124 vtkSelectionSource();
00125 ~vtkSelectionSource();
00126
00127 virtual int RequestInformation(vtkInformation* request,
00128 vtkInformationVector** inputVector,
00129 vtkInformationVector* outputVector);
00130
00131 virtual int RequestData(vtkInformation* request,
00132 vtkInformationVector** inputVector,
00133 vtkInformationVector* outputVector);
00134
00135 vtkSelectionSourceInternals* Internal;
00136
00137 int ContentType;
00138 int FieldType;
00139 int ContainingCells;
00140 int PreserveTopology;
00141 int Inverse;
00142 int CompositeIndex;
00143 int HierarchicalLevel;
00144 int HierarchicalIndex;
00145 char *ArrayName;
00146
00147 private:
00148 vtkSelectionSource(const vtkSelectionSource&);
00149 void operator=(const vtkSelectionSource&);
00150 };
00151
00152 #endif