VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkScalarTree.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 =========================================================================*/ 00034 #ifndef __vtkScalarTree_h 00035 #define __vtkScalarTree_h 00036 00037 #include "vtkCommonExecutionModelModule.h" // For export macro 00038 #include "vtkObject.h" 00039 00040 class vtkCell; 00041 class vtkDataArray; 00042 class vtkDataSet; 00043 class vtkIdList; 00044 class vtkTimeStamp; 00045 00046 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkScalarTree : public vtkObject 00047 { 00048 public: 00049 vtkTypeMacro(vtkScalarTree,vtkObject); 00050 void PrintSelf(ostream& os, vtkIndent indent); 00051 00053 00054 virtual void SetDataSet(vtkDataSet*); 00055 vtkGetObjectMacro(DataSet,vtkDataSet); 00057 00061 virtual void BuildTree() = 0; 00062 00064 virtual void Initialize() = 0; 00065 00068 virtual void InitTraversal(double scalarValue) = 0; 00069 00071 00075 virtual vtkCell *GetNextCell(vtkIdType &cellId, vtkIdList* &ptIds, 00076 vtkDataArray *cellScalars) = 0; 00078 00079 protected: 00080 vtkScalarTree(); 00081 ~vtkScalarTree(); 00082 00083 vtkDataSet *DataSet; //the dataset over which the scalar tree is built 00084 vtkDataArray *Scalars; //the scalars of the DataSet 00085 00086 vtkTimeStamp BuildTime; //time at which tree was built 00087 double ScalarValue; //current scalar value for traversal 00088 00089 private: 00090 vtkScalarTree(const vtkScalarTree&); // Not implemented. 00091 void operator=(const vtkScalarTree&); // Not implemented. 00092 }; 00093 00094 #endif 00095 00096