VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkExtractSelectedThresholds.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 =========================================================================*/ 00033 #ifndef __vtkExtractSelectedThresholds_h 00034 #define __vtkExtractSelectedThresholds_h 00035 00036 #include "vtkExtractSelectionBase.h" 00037 00038 class vtkDataArray; 00039 class vtkSelection; 00040 class vtkSelectionNode; 00041 00042 class VTK_GRAPHICS_EXPORT vtkExtractSelectedThresholds : public vtkExtractSelectionBase 00043 { 00044 public: 00045 vtkTypeMacro(vtkExtractSelectedThresholds, vtkExtractSelectionBase); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00049 static vtkExtractSelectedThresholds *New(); 00050 00052 00056 static int EvaluateValue(vtkDataArray *scalars, 00057 vtkIdType id, vtkDataArray *lims) 00058 { 00059 return vtkExtractSelectedThresholds::EvaluateValue(scalars, 0, id, lims); 00060 } 00062 00064 00068 static int EvaluateValue(vtkDataArray *array, 00069 int array_component_no, 00070 vtkIdType id, vtkDataArray *lims); 00072 00074 00080 static int EvaluateValue(vtkDataArray *scalars, vtkIdType id, 00081 vtkDataArray *lims, int *AboveCount, int *BelowCount, int *InsideCount) 00082 { 00083 return vtkExtractSelectedThresholds::EvaluateValue(scalars, 0, 00084 id, lims, AboveCount, BelowCount, InsideCount); 00085 } 00087 00089 00093 static int EvaluateValue(vtkDataArray *scalars, 00094 int array_component_no, 00095 vtkIdType id, 00096 vtkDataArray *lims, int *AboveCount, int *BelowCount, int *InsideCount); 00098 00099 protected: 00100 vtkExtractSelectedThresholds(); 00101 ~vtkExtractSelectedThresholds(); 00102 00103 // Usual data generation method 00104 int RequestData(vtkInformation *, 00105 vtkInformationVector **, 00106 vtkInformationVector *); 00107 00108 int ExtractCells(vtkSelectionNode *sel, vtkDataSet *input, 00109 vtkDataSet *output, 00110 int usePointScalars); 00111 int ExtractPoints(vtkSelectionNode *sel, vtkDataSet *input, 00112 vtkDataSet *output); 00113 00114 private: 00115 vtkExtractSelectedThresholds(const vtkExtractSelectedThresholds&); // Not implemented. 00116 void operator=(const vtkExtractSelectedThresholds&); // Not implemented. 00117 }; 00118 00119 #endif