VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkDataSetTriangleFilter.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00036 #ifndef __vtkDataSetTriangleFilter_h 00037 #define __vtkDataSetTriangleFilter_h 00038 00039 #include "vtkUnstructuredGridAlgorithm.h" 00040 00041 class vtkOrderedTriangulator; 00042 00043 class VTK_GRAPHICS_EXPORT vtkDataSetTriangleFilter : public vtkUnstructuredGridAlgorithm 00044 { 00045 public: 00046 static vtkDataSetTriangleFilter *New(); 00047 vtkTypeRevisionMacro(vtkDataSetTriangleFilter,vtkUnstructuredGridAlgorithm); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00051 00053 vtkSetMacro(TetrahedraOnly, int); 00054 vtkGetMacro(TetrahedraOnly, int); 00055 vtkBooleanMacro(TetrahedraOnly, int); 00057 00058 protected: 00059 vtkDataSetTriangleFilter(); 00060 ~vtkDataSetTriangleFilter(); 00061 00062 // Usual data generation method 00063 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00064 00065 virtual int FillInputPortInformation(int port, vtkInformation *info); 00066 00067 // Used to triangulate 3D cells 00068 vtkOrderedTriangulator *Triangulator; 00069 00070 // Different execute methods depending on whether input is structured or not 00071 void StructuredExecute(vtkDataSet *, vtkUnstructuredGrid *); 00072 void UnstructuredExecute(vtkDataSet *, vtkUnstructuredGrid *); 00073 00074 int TetrahedraOnly; 00075 00076 private: 00077 vtkDataSetTriangleFilter(const vtkDataSetTriangleFilter&); // Not implemented. 00078 void operator=(const vtkDataSetTriangleFilter&); // Not implemented. 00079 }; 00080 00081 #endif 00082 00083