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

# 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 =========================================================================*/
    00062 #ifndef __vtkButterflySubdivisionFilter_h
    00063 #define __vtkButterflySubdivisionFilter_h
    00064
    00065 #include "vtkInterpolatingSubdivisionFilter.h"
    00066
    00067 class vtkCellArray;
    00068 class vtkIdList;
    00069 class vtkIntArray;
    00070
    00071 class VTK_GRAPHICS_EXPORT vtkButterflySubdivisionFilter : public vtkInterpolatingSubdivisionFilter
    00072 {
    00073 public:
    00075
    00076   static vtkButterflySubdivisionFilter *New();
    00077   vtkTypeRevisionMacro(vtkButterflySubdivisionFilter,vtkInterpolatingSubdivisionFilter);
    00079
    00080 protected:
    00081   vtkButterflySubdivisionFilter () {};
    00082   ~vtkButterflySubdivisionFilter () {};
    00083
    00084 private:
    00085   void GenerateSubdivisionPoints(vtkPolyData *inputDS, vtkIntArray *edgeData,
    00086                                  vtkPoints *outputPts, vtkPointData *outputPD);
    00087   void GenerateButterflyStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
    00088                                 vtkIdList *stencilIds, float *weights);
    00089   void GenerateLoopStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
    00090                            vtkIdList *stencilIds, float *weights);
    00091   void GenerateBoundaryStencil(vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
    00092                                vtkIdList *stencilIds, float *weights);
    00093
    00094 private:
    00095   vtkButterflySubdivisionFilter(const vtkButterflySubdivisionFilter&);  // Not implemented.
    00096   void operator=(const vtkButterflySubdivisionFilter&);  // Not implemented.
    00097 };
    00098
    00099 #endif
    00100
    00101