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

dox/Graphics/vtkButterflySubdivisionFilter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkButterflySubdivisionFilter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00051 #ifndef __vtkButterflySubdivisionFilter_h 00052 #define __vtkButterflySubdivisionFilter_h 00053 00054 #include "vtkInterpolatingSubdivisionFilter.h" 00055 00056 class vtkCellArray; 00057 class vtkIdList; 00058 class vtkIntArray; 00059 00060 class VTK_GRAPHICS_EXPORT vtkButterflySubdivisionFilter : public vtkInterpolatingSubdivisionFilter 00061 { 00062 public: 00064 00065 static vtkButterflySubdivisionFilter *New(); 00066 vtkTypeRevisionMacro(vtkButterflySubdivisionFilter,vtkInterpolatingSubdivisionFilter); 00068 00069 protected: 00070 vtkButterflySubdivisionFilter () {}; 00071 ~vtkButterflySubdivisionFilter () {}; 00072 00073 private: 00074 void GenerateSubdivisionPoints(vtkPolyData *inputDS, vtkIntArray *edgeData, 00075 vtkPoints *outputPts, vtkPointData *outputPD); 00076 void GenerateButterflyStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys, 00077 vtkIdList *stencilIds, float *weights); 00078 void GenerateLoopStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys, 00079 vtkIdList *stencilIds, float *weights); 00080 void GenerateBoundaryStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys, 00081 vtkIdList *stencilIds, float *weights); 00082 00083 private: 00084 vtkButterflySubdivisionFilter(const vtkButterflySubdivisionFilter&); // Not implemented. 00085 void operator=(const vtkButterflySubdivisionFilter&); // Not implemented. 00086 }; 00087 00088 #endif 00089 00090