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 protected: 00137 vtkSelectionSource(); 00138 ~vtkSelectionSource(); 00139 00140 virtual int RequestInformation(vtkInformation* request, 00141 vtkInformationVector** inputVector, 00142 vtkInformationVector* outputVector); 00143 00144 virtual int RequestData(vtkInformation* request, 00145 vtkInformationVector** inputVector, 00146 vtkInformationVector* outputVector); 00147 00148 vtkSelectionSourceInternals* Internal; 00149 00150 int ContentType; 00151 int FieldType; 00152 int ContainingCells; 00153 int PreserveTopology; 00154 int Inverse; 00155 int CompositeIndex; 00156 int HierarchicalLevel; 00157 int HierarchicalIndex; 00158 char *ArrayName; 00159 int ArrayComponent; 00160 00161 private: 00162 vtkSelectionSource(const vtkSelectionSource&); // Not implemented. 00163 void operator=(const vtkSelectionSource&); // Not implemented. 00164 }; 00165 00166 #endif