dox/Graphics/vtkInterpolatingSubdivisionFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00029
#ifndef __vtkInterpolatingSubdivisionFilter_h
00030
#define __vtkInterpolatingSubdivisionFilter_h
00031
00032
#include "vtkPolyDataToPolyDataFilter.h"
00033
00034
class vtkCellArray;
00035
class vtkCellData;
00036
class vtkIdList;
00037
class vtkIntArray;
00038
class vtkPointData;
00039
class vtkPoints;
00040
class vtkPolyData;
00041
00042 class VTK_GRAPHICS_EXPORT vtkInterpolatingSubdivisionFilter :
public vtkPolyDataToPolyDataFilter
00043 {
00044
public:
00045 vtkTypeRevisionMacro(vtkInterpolatingSubdivisionFilter,
vtkPolyDataToPolyDataFilter);
00046
void PrintSelf(ostream& os,
vtkIndent indent);
00047
00049
00050 vtkSetMacro(NumberOfSubdivisions,
int);
00051 vtkGetMacro(NumberOfSubdivisions,
int);
00053
00054
protected:
00055 vtkInterpolatingSubdivisionFilter();
00056 ~vtkInterpolatingSubdivisionFilter() {};
00057
00058
void Execute();
00059
virtual void GenerateSubdivisionPoints (
vtkPolyData *inputDS,
vtkIntArray *edgeData,
vtkPoints *outputPts,
vtkPointData *outputPD) = 0;
00060
void GenerateSubdivisionCells (
vtkPolyData *inputDS,
vtkIntArray *edgeData,
vtkCellArray *outputPolys,
vtkCellData *outputCD);
00061
int FindEdge (
vtkPolyData *mesh,
vtkIdType cellId,
vtkIdType p1,
00062
vtkIdType p2,
vtkIntArray *edgeData,
vtkIdList *cellIds);
00063
vtkIdType InterpolatePosition (
vtkPoints *inputPts,
vtkPoints *outputPts,
00064
vtkIdList *stencil,
double *weights);
00065 int NumberOfSubdivisions;
00066
00067
private:
00068 vtkInterpolatingSubdivisionFilter(
const vtkInterpolatingSubdivisionFilter&);
00069
void operator=(
const vtkInterpolatingSubdivisionFilter&);
00070 };
00071
00072
#endif
00073
00074