VTK
dox/Filters/HyperTree/vtkHyperOctreeClipCutPointsGrabber.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkHyperOctreeClipCutPointsGrabber.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 =========================================================================*/
00024 #ifndef __vtkHyperOctreeClipCutPointsGrabber_h
00025 #define __vtkHyperOctreeClipCutPointsGrabber_h
00026 
00027 #include "vtkFiltersHyperTreeModule.h" // For export macro
00028 #include "vtkHyperOctreePointsGrabber.h"
00029 
00030 class vtkHyperOctreeIdSet; // Pimpl idiom
00031 class vtkPolygon;
00032 class vtkOrderedTriangulator;
00033 
00034 
00035 class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeClipCutPointsGrabber : public vtkHyperOctreePointsGrabber
00036 {
00037 public:
00038   static vtkHyperOctreeClipCutPointsGrabber *New();
00039 
00040   vtkTypeMacro(vtkHyperOctreeClipCutPointsGrabber,vtkHyperOctreePointsGrabber);
00041 
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043 
00046   virtual void SetDimension(int dim);
00047 
00053   virtual void InitPointInsertion();
00054 
00056 
00059   virtual void InsertPoint(vtkIdType ptId,
00060                            double pt[3],
00061                            double pcoords[3],
00062                            int ijk[3]);
00064 
00066 
00067   virtual void InsertPointWithMerge(vtkIdType ptId,
00068                                     double pt[3],
00069                                     double pcoords[3],
00070                                     int ijk[3]);
00072 
00074 
00075   virtual void InsertPoint2D(double pt[3],
00076                              int ijk[3]);
00078 
00080   vtkOrderedTriangulator *GetTriangulator();
00081 
00083   vtkPolygon *GetPolygon();
00084 
00085 
00086 protected:
00087   // Constructor with default bounds (0,1, 0,1, 0,1).
00088   vtkHyperOctreeClipCutPointsGrabber();
00089   ~vtkHyperOctreeClipCutPointsGrabber();
00090 
00091   vtkOrderedTriangulator *Triangulator;
00092   vtkPolygon *Polygon;
00093   vtkHyperOctreeIdSet *IdSet;
00094 
00095 private:
00096   vtkHyperOctreeClipCutPointsGrabber(const vtkHyperOctreeClipCutPointsGrabber&);  // Not implemented.
00097   void operator=(const vtkHyperOctreeClipCutPointsGrabber&);    // Not implemented.
00098 };
00099 
00100 #endif