VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkSelectionSource.h,v $ 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 =========================================================================*/ 00022 #ifndef __vtkSelectionSource_h 00023 #define __vtkSelectionSource_h 00024 00025 #include "vtkSelectionAlgorithm.h" 00026 00027 //BTX 00028 class vtkSelectionSourceInternals; 00029 //ETX 00030 00031 class VTK_GRAPHICS_EXPORT vtkSelectionSource : public vtkSelectionAlgorithm 00032 { 00033 public: 00034 static vtkSelectionSource *New(); 00035 vtkTypeRevisionMacro(vtkSelectionSource,vtkSelectionAlgorithm); 00036 void PrintSelf(ostream& os, vtkIndent indent); 00037 00039 00042 void AddID(vtkIdType piece, vtkIdType id); 00043 void AddStringID(vtkIdType piece, const char* id); 00045 00047 void AddLocation(double x, double y, double z); 00048 00050 void AddThreshold(double min, double max); 00051 00053 void SetFrustum(double *vertices); 00054 00056 void AddBlock(vtkIdType blockno); 00057 00059 00060 void RemoveAllIDs(); 00061 void RemoveAllStringIDs(); 00063 00065 void RemoveAllThresholds(); 00066 00068 void RemoveAllLocations(); 00069 00071 void RemoveAllBlocks(); 00072 00074 00076 vtkSetMacro(ContentType, int); 00077 vtkGetMacro(ContentType, int); 00079 00081 00083 vtkSetMacro(FieldType, int); 00084 vtkGetMacro(FieldType, int); 00086 00088 00090 vtkSetMacro(ContainingCells, int); 00091 vtkGetMacro(ContainingCells, int); 00093 00095 00097 vtkSetMacro(Inverse, int); 00098 vtkGetMacro(Inverse, int); 00100 00102 00103 vtkSetStringMacro(ArrayName); 00104 vtkGetStringMacro(ArrayName); 00106 00108 00110 vtkSetMacro(CompositeIndex, int); 00111 vtkGetMacro(CompositeIndex, int); 00113 00115 00118 vtkSetMacro(HierarchicalLevel, int); 00119 vtkGetMacro(HierarchicalLevel, int); 00120 vtkSetMacro(HierarchicalIndex, int); 00121 vtkGetMacro(HierarchicalIndex, int); 00123 protected: 00124 vtkSelectionSource(); 00125 ~vtkSelectionSource(); 00126 00127 virtual int RequestInformation(vtkInformation* request, 00128 vtkInformationVector** inputVector, 00129 vtkInformationVector* outputVector); 00130 00131 virtual int RequestData(vtkInformation* request, 00132 vtkInformationVector** inputVector, 00133 vtkInformationVector* outputVector); 00134 00135 vtkSelectionSourceInternals* Internal; 00136 00137 int ContentType; 00138 int FieldType; 00139 int ContainingCells; 00140 int PreserveTopology; 00141 int Inverse; 00142 int CompositeIndex; 00143 int HierarchicalLevel; 00144 int HierarchicalIndex; 00145 char *ArrayName; 00146 00147 private: 00148 vtkSelectionSource(const vtkSelectionSource&); // Not implemented. 00149 void operator=(const vtkSelectionSource&); // Not implemented. 00150 }; 00151 00152 #endif