Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkButterflySubdivisionFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkButterflySubdivisionFilter.h,v $
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 =========================================================================*/
00058 #ifndef __vtkButterflySubdivisionFilter_h
00059 #define __vtkButterflySubdivisionFilter_h
00060 
00061 #include "vtkInterpolatingSubdivisionFilter.h"
00062 
00063 class vtkCellArray;
00064 class vtkIdList;
00065 class vtkIntArray;
00066 
00067 class VTK_GRAPHICS_EXPORT vtkButterflySubdivisionFilter : public vtkInterpolatingSubdivisionFilter
00068 {
00069 public:
00071 
00072   static vtkButterflySubdivisionFilter *New();
00073   vtkTypeRevisionMacro(vtkButterflySubdivisionFilter,vtkInterpolatingSubdivisionFilter);
00075 
00076 protected:
00077   vtkButterflySubdivisionFilter () {};
00078   ~vtkButterflySubdivisionFilter () {};
00079 
00080 private:
00081   void GenerateSubdivisionPoints(vtkPolyData *inputDS, vtkIntArray *edgeData,
00082                                  vtkPoints *outputPts, vtkPointData *outputPD);
00083   void GenerateButterflyStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
00084                                 vtkIdList *stencilIds, double *weights);
00085   void GenerateLoopStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
00086                            vtkIdList *stencilIds, double *weights);
00087   void GenerateBoundaryStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
00088                                vtkIdList *stencilIds, double *weights);
00089 
00090 private:
00091   vtkButterflySubdivisionFilter(const vtkButterflySubdivisionFilter&);  // Not implemented.
00092   void operator=(const vtkButterflySubdivisionFilter&);  // Not implemented.
00093 };
00094 
00095 #endif
00096 
00097