VTK
dox/Filters/Sources/vtkSelectionSource.h
Go to the documentation of this file.
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