VTK
dox/Graphics/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 "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