VTK
dox/Common/DataModel/vtkHyperOctreePointsGrabber.h
Go to the documentation of this file.
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 "vtkCommonDataModelModule.h" // For export macro
00032 #include "vtkObject.h"
00033 
00034 class VTKCOMMONDATAMODEL_EXPORT vtkHyperOctreePointsGrabber : public vtkObject
00035 {
00036 public:
00037   vtkTypeMacro(vtkHyperOctreePointsGrabber,vtkObject);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00042   int GetDimension();
00043 
00046   virtual void SetDimension(int dim)=0;
00047 
00053   virtual void InitPointInsertion()=0;
00054 
00055 
00057 
00060   virtual void InsertPoint(vtkIdType ptId,
00061                            double pt[3],
00062                            double pcoords[3],
00063                            int ijk[3])=0;
00065 
00067 
00068   virtual void InsertPointWithMerge(vtkIdType ptId,
00069                                     double pt[3],
00070                                     double pcoords[3],
00071                                     int ijk[3])=0;
00073 
00075 
00076   virtual void InsertPoint2D(double pt[3],
00077                              int ijk[3])=0;
00079 
00080 protected:
00081   // Constructor with default bounds (0,1, 0,1, 0,1).
00082   vtkHyperOctreePointsGrabber();
00083   virtual ~vtkHyperOctreePointsGrabber();
00084 
00085   int Dimension;
00086 
00087 private:
00088   vtkHyperOctreePointsGrabber(const vtkHyperOctreePointsGrabber&);  // Not implemented.
00089   void operator=(const vtkHyperOctreePointsGrabber&);    // Not implemented.
00090 };
00091 
00092 #endif