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
00044 void AddID(vtkIdType piece, vtkIdType 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 void RemoveAllIDs();
00060
00062 void RemoveAllThresholds();
00063
00065 void RemoveAllLocations();
00066
00068 void RemoveAllBlocks();
00069
00071
00073 vtkSetMacro(ContentType, int);
00074 vtkGetMacro(ContentType, int);
00076
00078
00080 vtkSetMacro(FieldType, int);
00081 vtkGetMacro(FieldType, int);
00083
00085
00087 vtkSetMacro(ContainingCells, int);
00088 vtkGetMacro(ContainingCells, int);
00090
00092
00094 vtkSetMacro(Inverse, int);
00095 vtkGetMacro(Inverse, int);
00097
00099
00100 vtkSetStringMacro(ArrayName);
00101 vtkGetStringMacro(ArrayName);
00103
00105
00107 vtkSetMacro(CompositeIndex, int);
00108 vtkGetMacro(CompositeIndex, int);
00110
00112
00115 vtkSetMacro(HierarchicalLevel, int);
00116 vtkGetMacro(HierarchicalLevel, int);
00117 vtkSetMacro(HierarchicalIndex, int);
00118 vtkGetMacro(HierarchicalIndex, int);
00120 protected:
00121 vtkSelectionSource();
00122 ~vtkSelectionSource();
00123
00124 virtual int RequestInformation(vtkInformation* request,
00125 vtkInformationVector** inputVector,
00126 vtkInformationVector* outputVector);
00127
00128 virtual int RequestData(vtkInformation* request,
00129 vtkInformationVector** inputVector,
00130 vtkInformationVector* outputVector);
00131
00132 vtkSelectionSourceInternals* Internal;
00133
00134 int ContentType;
00135 int FieldType;
00136 int ContainingCells;
00137 int PreserveTopology;
00138 int Inverse;
00139 int CompositeIndex;
00140 int HierarchicalLevel;
00141 int HierarchicalIndex;
00142 char *ArrayName;
00143
00144 private:
00145 vtkSelectionSource(const vtkSelectionSource&);
00146 void operator=(const vtkSelectionSource&);
00147 };
00148
00149 #endif