VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkKdTreeSelector.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 =========================================================================*/ 00015 /*---------------------------------------------------------------------------- 00016 Copyright (c) Sandia Corporation 00017 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00018 ----------------------------------------------------------------------------*/ 00030 #ifndef __vtkKdTreeSelector_h 00031 #define __vtkKdTreeSelector_h 00032 00033 #include "vtkFiltersSelectionModule.h" // For export macro 00034 #include "vtkSelectionAlgorithm.h" 00035 00036 class vtkKdTree; 00037 00038 class VTKFILTERSSELECTION_EXPORT vtkKdTreeSelector : public vtkSelectionAlgorithm 00039 { 00040 public: 00041 static vtkKdTreeSelector* New(); 00042 vtkTypeMacro(vtkKdTreeSelector, vtkSelectionAlgorithm); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 00049 void SetKdTree(vtkKdTree* tree); 00050 vtkGetObjectMacro(KdTree, vtkKdTree); 00052 00054 00057 vtkSetVector6Macro(SelectionBounds, double); 00058 vtkGetVector6Macro(SelectionBounds, double); 00060 00062 00065 vtkSetStringMacro(SelectionFieldName); 00066 vtkGetStringMacro(SelectionFieldName); 00068 00070 00075 vtkSetMacro(SelectionAttribute, int); 00076 vtkGetMacro(SelectionAttribute, int); 00078 00080 00083 vtkSetMacro(SingleSelection, bool); 00084 vtkGetMacro(SingleSelection, bool); 00085 vtkBooleanMacro(SingleSelection, bool); 00087 00089 00092 vtkSetMacro(SingleSelectionThreshold, double); 00093 vtkGetMacro(SingleSelectionThreshold, double); 00095 00096 unsigned long GetMTime(); 00097 00098 protected: 00099 vtkKdTreeSelector(); 00100 ~vtkKdTreeSelector(); 00101 00102 vtkKdTree* KdTree; 00103 double SelectionBounds[6]; 00104 char* SelectionFieldName; 00105 bool BuildKdTreeFromInput; 00106 bool SingleSelection; 00107 double SingleSelectionThreshold; 00108 int SelectionAttribute; 00109 00110 virtual int FillInputPortInformation( 00111 int port, vtkInformation* info); 00112 00113 int RequestData( 00114 vtkInformation*, 00115 vtkInformationVector**, 00116 vtkInformationVector*); 00117 00118 private: 00119 vtkKdTreeSelector(const vtkKdTreeSelector&); // Not implemented 00120 void operator=(const vtkKdTreeSelector&); // Not implemented 00121 }; 00122 00123 #endif