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   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkDataSetSurfaceFilter.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    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   // Helper methods.
    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&);  // Not implemented.
    00114   void operator=(const vtkDataSetSurfaceFilter&);  // Not implemented.
    00115 };
    00116
    00117 #endif
    00118
    00119