Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Graphics/vtkInterpolatingSubdivisionFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00045 #ifndef __vtkInterpolatingSubdivisionFilter_h
00046 #define __vtkInterpolatingSubdivisionFilter_h
00047
00048 #include "vtkPolyDataToPolyDataFilter.h"
00049
00050 class vtkCellArray;
00051 class vtkCellData;
00052 class vtkIdList;
00053 class vtkIntArray;
00054 class vtkPointData;
00055 class vtkPoints;
00056 class vtkPolyData;
00057
00058 class VTK_GRAPHICS_EXPORT vtkInterpolatingSubdivisionFilter : public vtkPolyDataToPolyDataFilter
00059 {
00060 public:
00061 vtkTypeRevisionMacro(vtkInterpolatingSubdivisionFilter,vtkPolyDataToPolyDataFilter);
00062 void PrintSelf(ostream& os, vtkIndent indent);
00063
00065
00066 vtkSetMacro(NumberOfSubdivisions,int);
00067 vtkGetMacro(NumberOfSubdivisions,int);
00069
00070 protected:
00071 vtkInterpolatingSubdivisionFilter();
00072 ~vtkInterpolatingSubdivisionFilter() {};
00073
00074 void Execute();
00075 virtual void GenerateSubdivisionPoints (vtkPolyData *inputDS, vtkIntArray *edgeData, vtkPoints *outputPts, vtkPointData *outputPD) = 0;
00076 void GenerateSubdivisionCells (vtkPolyData *inputDS, vtkIntArray *edgeData, vtkCellArray *outputPolys, vtkCellData *outputCD);
00077 int FindEdge (vtkPolyData *mesh, vtkIdType cellId, vtkIdType p1,
00078 vtkIdType p2, vtkIntArray *edgeData, vtkIdList *cellIds);
00079 vtkIdType InterpolatePosition (vtkPoints *inputPts, vtkPoints *outputPts,
00080 vtkIdList *stencil, float *weights);
00081 int NumberOfSubdivisions;
00082
00083 private:
00084 vtkInterpolatingSubdivisionFilter(const vtkInterpolatingSubdivisionFilter&);
00085 void operator=(const vtkInterpolatingSubdivisionFilter&);
00086 };
00087
00088 #endif
00089
00090