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
00015
00033
#ifndef __vtkInterpolatingSubdivisionFilter_h
00034
#define __vtkInterpolatingSubdivisionFilter_h
00035
00036
#include "vtkPolyDataToPolyDataFilter.h"
00037
00038
class vtkCellArray;
00039
class vtkCellData;
00040
class vtkIdList;
00041
class vtkIntArray;
00042
class vtkPointData;
00043
class vtkPoints;
00044
class vtkPolyData;
00045
00046 class VTK_GRAPHICS_EXPORT vtkInterpolatingSubdivisionFilter :
public vtkPolyDataToPolyDataFilter
00047 {
00048
public:
00049 vtkTypeRevisionMacro(vtkInterpolatingSubdivisionFilter,
vtkPolyDataToPolyDataFilter);
00050
void PrintSelf(ostream& os,
vtkIndent indent);
00051
00053
00054 vtkSetMacro(NumberOfSubdivisions,
int);
00055 vtkGetMacro(NumberOfSubdivisions,
int);
00057
00058
protected:
00059 vtkInterpolatingSubdivisionFilter();
00060 ~vtkInterpolatingSubdivisionFilter() {};
00061
00062
void Execute();
00063
virtual void GenerateSubdivisionPoints (
vtkPolyData *inputDS,
vtkIntArray *edgeData,
vtkPoints *outputPts,
vtkPointData *outputPD) = 0;
00064
void GenerateSubdivisionCells (
vtkPolyData *inputDS,
vtkIntArray *edgeData,
vtkCellArray *outputPolys,
vtkCellData *outputCD);
00065
int FindEdge (
vtkPolyData *mesh,
vtkIdType cellId,
vtkIdType p1,
00066
vtkIdType p2,
vtkIntArray *edgeData,
vtkIdList *cellIds);
00067
vtkIdType InterpolatePosition (
vtkPoints *inputPts,
vtkPoints *outputPts,
00068
vtkIdList *stencil,
float *weights);
00069 int NumberOfSubdivisions;
00070
00071
private:
00072 vtkInterpolatingSubdivisionFilter(
const vtkInterpolatingSubdivisionFilter&);
00073
void operator=(
const vtkInterpolatingSubdivisionFilter&);
00074 };
00075
00076
#endif
00077
00078