dox/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