Graphics/vtkDataSetSurfaceFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00034 #ifndef __vtkDataSetSurfaceFilter_h
00035 #define __vtkDataSetSurfaceFilter_h
00036
00037 #include "vtkDataSetToPolyDataFilter.h"
00038
00039 class vtkFastGeomQuad;
00040 class vtkPointData;
00041 class vtkPoints;
00042
00043 class VTK_GRAPHICS_EXPORT vtkDataSetSurfaceFilter : public vtkDataSetToPolyDataFilter
00044 {
00045 public:
00046 static vtkDataSetSurfaceFilter *New();
00047 vtkTypeRevisionMacro(vtkDataSetSurfaceFilter,vtkDataSetToPolyDataFilter);
00048 void PrintSelf(ostream& os, vtkIndent indent);
00049
00051
00054 vtkSetMacro(UseStrips, int);
00055 vtkGetMacro(UseStrips, int);
00056 vtkBooleanMacro(UseStrips, int);
00058
00059 protected:
00060 vtkDataSetSurfaceFilter();
00061 ~vtkDataSetSurfaceFilter();
00062
00063 int UseStrips;
00064
00065 void ComputeInputUpdateExtents(vtkDataObject *output);
00066
00067 void Execute();
00068 void StructuredExecute(vtkDataSet *input, int *ext);
00069 void UnstructuredGridExecute();
00070 void DataSetExecute();
00071 void ExecuteInformation();
00072
00073
00074 void ExecuteFaceStrips(vtkDataSet *input, int maxFlag, int *ext,
00075 int aAxis, int bAxis, int cAxis);
00076 void ExecuteFaceQuads(vtkDataSet *input, int maxFlag, int *ext,
00077 int aAxis, int bAxis, int cAxis);
00078
00079 void InitializeQuadHash(vtkIdType numPoints);
00080 void DeleteQuadHash();
00081 void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d,
00082 vtkIdType sourceId);
00083 void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c,
00084 vtkIdType sourceId);
00085 void InitQuadHashTraversal();
00086 vtkFastGeomQuad *GetNextVisibleQuadFromHash();
00087
00088 vtkFastGeomQuad **QuadHash;
00089 vtkIdType QuadHashLength;
00090 vtkFastGeomQuad *QuadHashTraversal;
00091 vtkIdType QuadHashTraversalIndex;
00092
00093 vtkIdType *PointMap;
00094 vtkIdType GetOutputPointId(vtkIdType inPtId, vtkDataSet *input,
00095 vtkPoints *outPts, vtkPointData *outPD);
00096
00097 vtkIdType NumberOfNewCells;
00098
00099 private:
00100 vtkDataSetSurfaceFilter(const vtkDataSetSurfaceFilter&);
00101 void operator=(const vtkDataSetSurfaceFilter&);
00102 };
00103
00104 #endif
00105
00106