Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
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
00047 #ifndef __vtkDataSetSurfaceFilter_h
00048 #define __vtkDataSetSurfaceFilter_h
00049
00050 #include "vtkDataSetToPolyDataFilter.h"
00051
00052 class vtkFastGeomQuad;
00053 class vtkPointData;
00054 class vtkPoints;
00055
00056 class VTK_GRAPHICS_EXPORT vtkDataSetSurfaceFilter : public vtkDataSetToPolyDataFilter
00057 {
00058 public:
00059 static vtkDataSetSurfaceFilter *New();
00060 vtkTypeRevisionMacro(vtkDataSetSurfaceFilter,vtkDataSetToPolyDataFilter);
00061 void PrintSelf(ostream& os, vtkIndent indent);
00062
00064
00067 vtkSetMacro(UseStrips, int);
00068 vtkGetMacro(UseStrips, int);
00069 vtkBooleanMacro(UseStrips, int);
00071
00072 protected:
00073 vtkDataSetSurfaceFilter();
00074 ~vtkDataSetSurfaceFilter();
00075
00076 int UseStrips;
00077
00078 void ComputeInputUpdateExtents(vtkDataObject *output);
00079
00080 void Execute();
00081 void StructuredExecute(vtkDataSet *input, int *ext);
00082 void UnstructuredGridExecute();
00083 void DataSetExecute();
00084 void ExecuteInformation();
00085
00086
00087 void ExecuteFaceStrips(vtkDataSet *input, int maxFlag, int *ext,
00088 int aAxis, int bAxis, int cAxis);
00089 void ExecuteFaceQuads(vtkDataSet *input, int maxFlag, int *ext,
00090 int aAxis, int bAxis, int cAxis);
00091
00092 void InitializeQuadHash(vtkIdType numPoints);
00093 void DeleteQuadHash();
00094 void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d,
00095 vtkIdType sourceId);
00096 void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c,
00097 vtkIdType sourceId);
00098 void InitQuadHashTraversal();
00099 vtkFastGeomQuad *GetNextVisibleQuadFromHash();
00100
00101 vtkFastGeomQuad **QuadHash;
00102 vtkIdType QuadHashLength;
00103 vtkFastGeomQuad *QuadHashTraversal;
00104 vtkIdType QuadHashTraversalIndex;
00105
00106 vtkIdType *PointMap;
00107 vtkIdType GetOutputPointId(vtkIdType inPtId, vtkDataSet *input,
00108 vtkPoints *outPts, vtkPointData *outPD);
00109
00110 vtkIdType NumberOfNewCells;
00111
00112 private:
00113 vtkDataSetSurfaceFilter(const vtkDataSetSurfaceFilter&);
00114 void operator=(const vtkDataSetSurfaceFilter&);
00115 };
00116
00117 #endif
00118
00119