VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkLoopSubdivisionFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkLoopSubdivisionFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
48 #ifndef __vtkLoopSubdivisionFilter_h
49 #define __vtkLoopSubdivisionFilter_h
50 
51 #include "vtkFiltersModelingModule.h" // For export macro
53 
54 class vtkPolyData;
55 class vtkIntArray;
56 class vtkPoints;
57 class vtkIdList;
58 
59 class VTKFILTERSMODELING_EXPORT vtkLoopSubdivisionFilter : public vtkApproximatingSubdivisionFilter
60 {
61 public:
63 
64  static vtkLoopSubdivisionFilter *New();
67 
68 protected:
71 
72  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
73 
74  void GenerateSubdivisionPoints (vtkPolyData *inputDS, vtkIntArray *edgeData,
75  vtkPoints *outputPts,
76  vtkPointData *outputPD);
77  void GenerateEvenStencil (vtkIdType p1, vtkPolyData *polys,
78  vtkIdList *stencilIds, double *weights);
79  void GenerateOddStencil (vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
80  vtkIdList *stencilIds, double *weights);
81 
82  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
83 
84 private:
85  vtkLoopSubdivisionFilter(const vtkLoopSubdivisionFilter&); // Not implemented.
86  void operator=(const vtkLoopSubdivisionFilter&); // Not implemented.
87 };
88 
89 #endif
90 // VTK-HeaderTest-Exclude: vtkLoopSubdivisionFilter.h
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:82
static vtkPolyDataAlgorithm * New()
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
generate a subdivision surface using an Approximating Scheme
virtual void GenerateSubdivisionPoints(vtkPolyData *inputDS, vtkIntArray *edgeData, vtkPoints *outputPts, vtkPointData *outputPD)=0
generate a subdivision surface using the Loop Scheme
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)