VTK
dox/Graphics/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 "vtkHyperOctreePointsGrabber.h"
00028 
00029 class vtkHyperOctreeIdSet; // Pimpl idiom
00030 class vtkPolygon;
00031 class vtkOrderedTriangulator;
00032 
00033 
00034 class VTK_GRAPHICS_EXPORT vtkHyperOctreeClipCutPointsGrabber : public vtkHyperOctreePointsGrabber
00035 {
00036 public:
00037   static vtkHyperOctreeClipCutPointsGrabber *New();
00038   
00039   vtkTypeMacro(vtkHyperOctreeClipCutPointsGrabber,vtkHyperOctreePointsGrabber);
00040   
00041   void PrintSelf(ostream& os, vtkIndent indent);
00042   
00045   virtual void SetDimension(int dim);
00046   
00052   virtual void InitPointInsertion();
00053   
00055 
00058   virtual void InsertPoint(vtkIdType ptId,
00059                            double pt[3],
00060                            double pcoords[3],
00061                            int ijk[3]);
00063   
00065 
00066   virtual void InsertPointWithMerge(vtkIdType ptId,
00067                                     double pt[3],
00068                                     double pcoords[3],
00069                                     int ijk[3]);
00071   
00073 
00074   virtual void InsertPoint2D(double pt[3],
00075                              int ijk[3]);
00077   
00079   vtkOrderedTriangulator *GetTriangulator();
00080   
00082   vtkPolygon *GetPolygon();
00083   
00084   
00085 protected:
00086   // Constructor with default bounds (0,1, 0,1, 0,1).
00087   vtkHyperOctreeClipCutPointsGrabber();
00088   ~vtkHyperOctreeClipCutPointsGrabber();
00089   
00090   vtkOrderedTriangulator *Triangulator;
00091   vtkPolygon *Polygon;
00092   vtkHyperOctreeIdSet *IdSet;
00093   
00094 private:
00095   vtkHyperOctreeClipCutPointsGrabber(const vtkHyperOctreeClipCutPointsGrabber&);  // Not implemented.
00096   void operator=(const vtkHyperOctreeClipCutPointsGrabber&);    // Not implemented.
00097 };
00098 
00099 #endif