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