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 00152 virtual int RequestData(vtkInformation* request, 00153 vtkInformationVector** inputVector, 00154 vtkInformationVector* outputVector); 00155 00156 vtkSelectionSourceInternals* Internal; 00157 00158 int ContentType; 00159 int FieldType; 00160 int ContainingCells; 00161 int PreserveTopology; 00162 int Inverse; 00163 int CompositeIndex; 00164 int HierarchicalLevel; 00165 int HierarchicalIndex; 00166 char *ArrayName; 00167 int ArrayComponent; 00168 char *QueryString; 00169 00170 private: 00171 vtkSelectionSource(const vtkSelectionSource&); // Not implemented. 00172 void operator=(const vtkSelectionSource&); // Not implemented. 00173 }; 00174 00175 #endif