VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSelectionSource.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00028 #ifndef vtkSelectionSource_h 00029 #define vtkSelectionSource_h 00030 00031 #include "vtkFiltersSourcesModule.h" // For export macro 00032 #include "vtkSelectionAlgorithm.h" 00033 00034 //BTX 00035 class vtkSelectionSourceInternals; 00036 //ETX 00037 00038 class VTKFILTERSSOURCES_EXPORT vtkSelectionSource : public vtkSelectionAlgorithm 00039 { 00040 public: 00041 static vtkSelectionSource *New(); 00042 vtkTypeMacro(vtkSelectionSource,vtkSelectionAlgorithm); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 00049 void AddID(vtkIdType piece, vtkIdType id); 00050 void AddStringID(vtkIdType piece, const char* id); 00052 00054 void AddLocation(double x, double y, double z); 00055 00057 void AddThreshold(double min, double max); 00058 00060 void SetFrustum(double *vertices); 00061 00063 void AddBlock(vtkIdType blockno); 00064 00066 00067 void RemoveAllIDs(); 00068 void RemoveAllStringIDs(); 00070 00072 void RemoveAllThresholds(); 00073 00075 void RemoveAllLocations(); 00076 00078 void RemoveAllBlocks(); 00079 00081 00083 vtkSetMacro(ContentType, int); 00084 vtkGetMacro(ContentType, int); 00086 00088 00090 vtkSetMacro(FieldType, int); 00091 vtkGetMacro(FieldType, int); 00093 00095 00097 vtkSetMacro(ContainingCells, int); 00098 vtkGetMacro(ContainingCells, int); 00100 00102 00104 vtkSetMacro(Inverse, int); 00105 vtkGetMacro(Inverse, int); 00107 00109 00110 vtkSetStringMacro(ArrayName); 00111 vtkGetStringMacro(ArrayName); 00113 00115 00117 vtkSetMacro(ArrayComponent, int); 00118 vtkGetMacro(ArrayComponent, int); 00120 00122 00124 vtkSetMacro(CompositeIndex, int); 00125 vtkGetMacro(CompositeIndex, int); 00127 00129 00132 vtkSetMacro(HierarchicalLevel, int); 00133 vtkGetMacro(HierarchicalLevel, int); 00134 vtkSetMacro(HierarchicalIndex, int); 00135 vtkGetMacro(HierarchicalIndex, int); 00137 00139 00140 vtkSetStringMacro(QueryString); 00141 vtkGetStringMacro(QueryString); 00143 00144 protected: 00145 vtkSelectionSource(); 00146 ~vtkSelectionSource(); 00147 00148 virtual int RequestInformation(vtkInformation* request, 00149 vtkInformationVector** inputVector, 00150 vtkInformationVector* outputVector); 00151 virtual int RequestData(vtkInformation* request, 00152 vtkInformationVector** inputVector, 00153 vtkInformationVector* outputVector); 00154 00155 vtkSelectionSourceInternals* Internal; 00156 00157 int ContentType; 00158 int FieldType; 00159 int ContainingCells; 00160 int PreserveTopology; 00161 int Inverse; 00162 int CompositeIndex; 00163 int HierarchicalLevel; 00164 int HierarchicalIndex; 00165 char *ArrayName; 00166 int ArrayComponent; 00167 char *QueryString; 00168 00169 private: 00170 vtkSelectionSource(const vtkSelectionSource&); // Not implemented. 00171 void operator=(const vtkSelectionSource&); // Not implemented. 00172 }; 00173 00174 #endif