vtkLoopSubdivisionFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00060 #ifndef __vtkLoopSubdivisionFilter_h
00061 #define __vtkLoopSubdivisionFilter_h
00062
00063 #include "vtkApproximatingSubdivisionFilter.h"
00064
00065 class vtkPolyData;
00066 class vtkIntArray;
00067 class vtkPoints;
00068 class vtkIdList;
00069
00070 class VTK_GRAPHICS_EXPORT vtkLoopSubdivisionFilter : public vtkApproximatingSubdivisionFilter
00071 {
00072 public:
00074
00075 static vtkLoopSubdivisionFilter *New();
00076 vtkTypeRevisionMacro(vtkLoopSubdivisionFilter,vtkApproximatingSubdivisionFilter);
00078
00079 protected:
00080 vtkLoopSubdivisionFilter () {};
00081 ~vtkLoopSubdivisionFilter () {};
00082
00083 virtual void Execute();
00084
00085 void GenerateSubdivisionPoints (vtkPolyData *inputDS, vtkIntArray *edgeData,
00086 vtkPoints *outputPts,
00087 vtkPointData *outputPD);
00088 void GenerateEvenStencil (vtkIdType p1, vtkPolyData *polys,
00089 vtkIdList *stencilIds, double *weights);
00090 void GenerateOddStencil (vtkIdType p1, vtkIdType p2, vtkPolyData *polys,
00091 vtkIdList *stencilIds, double *weights);
00092
00093 void ComputeInputUpdateExtents(vtkDataObject *output);
00094 private:
00095 vtkLoopSubdivisionFilter(const vtkLoopSubdivisionFilter&);
00096 void operator=(const vtkLoopSubdivisionFilter&);
00097 };
00098
00099 #endif
00100
00101