00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkHyperOctreePointsGrabber.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 __vtkHyperOctreePointsGrabber_h 00029 #define __vtkHyperOctreePointsGrabber_h 00030 00031 #include "vtkObject.h" 00032 00033 class VTK_FILTERING_EXPORT vtkHyperOctreePointsGrabber : public vtkObject 00034 { 00035 public: 00036 vtkTypeMacro(vtkHyperOctreePointsGrabber,vtkObject); 00037 void PrintSelf(ostream& os, vtkIndent indent); 00038 00041 int GetDimension(); 00042 00045 virtual void SetDimension(int dim)=0; 00046 00052 virtual void InitPointInsertion()=0; 00053 00054 00056 00059 virtual void InsertPoint(vtkIdType ptId, 00060 double pt[3], 00061 double pcoords[3], 00062 int ijk[3])=0; 00064 00066 00067 virtual void InsertPointWithMerge(vtkIdType ptId, 00068 double pt[3], 00069 double pcoords[3], 00070 int ijk[3])=0; 00072 00074 00075 virtual void InsertPoint2D(double pt[3], 00076 int ijk[3])=0; 00078 00079 protected: 00080 // Constructor with default bounds (0,1, 0,1, 0,1). 00081 vtkHyperOctreePointsGrabber(); 00082 virtual ~vtkHyperOctreePointsGrabber(); 00083 00084 int Dimension; 00085 00086 private: 00087 vtkHyperOctreePointsGrabber(const vtkHyperOctreePointsGrabber&); // Not implemented. 00088 void operator=(const vtkHyperOctreePointsGrabber&); // Not implemented. 00089 }; 00090 00091 #endif