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 "vtkSelectionAlgorithm.h" 00032 00033 //BTX 00034 class vtkSelectionSourceInternals; 00035 //ETX 00036 00037 class VTK_GRAPHICS_EXPORT vtkSelectionSource : public vtkSelectionAlgorithm 00038 { 00039 public: 00040 static vtkSelectionSource *New(); 00041 vtkTypeMacro(vtkSelectionSource,vtkSelectionAlgorithm); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00045 00048 void AddID(vtkIdType piece, vtkIdType id); 00049 void AddStringID(vtkIdType piece, const char* id); 00051 00053 void AddLocation(double x, double y, double z); 00054 00056 void AddThreshold(double min, double max); 00057 00059 void SetFrustum(double *vertices); 00060 00062 void AddBlock(vtkIdType blockno); 00063 00065 00066 void RemoveAllIDs(); 00067 void RemoveAllStringIDs(); 00069 00071 void RemoveAllThresholds(); 00072 00074 void RemoveAllLocations(); 00075 00077 void RemoveAllBlocks(); 00078 00080 00082 vtkSetMacro(ContentType, int); 00083 vtkGetMacro(ContentType, int); 00085 00087 00089 vtkSetMacro(FieldType, int); 00090 vtkGetMacro(FieldType, int); 00092 00094 00096 vtkSetMacro(ContainingCells, int); 00097 vtkGetMacro(ContainingCells, int); 00099 00101 00103 vtkSetMacro(Inverse, int); 00104 vtkGetMacro(Inverse, int); 00106 00108 00109 vtkSetStringMacro(ArrayName); 00110 vtkGetStringMacro(ArrayName); 00112 00114 00116 vtkSetMacro(ArrayComponent, int); 00117 vtkGetMacro(ArrayComponent, int); 00119 00121 00123 vtkSetMacro(CompositeIndex, int); 00124 vtkGetMacro(CompositeIndex, int); 00126 00128 00131 vtkSetMacro(HierarchicalLevel, int); 00132 vtkGetMacro(HierarchicalLevel, int); 00133 vtkSetMacro(HierarchicalIndex, int); 00134 vtkGetMacro(HierarchicalIndex, int); 00136 00138 00139 vtkSetStringMacro(QueryString); 00140 vtkGetStringMacro(QueryString); 00142 00143 protected: 00144 vtkSelectionSource(); 00145 ~vtkSelectionSource(); 00146 00147 virtual int RequestInformation(vtkInformation* request, 00148 vtkInformationVector** inputVector, 00149 vtkInformationVector* outputVector); 00150 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