VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkTessellatedBoxSource.h 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 =========================================================================*/ 00015 00037 #ifndef vtkTessellatedBoxSource_h 00038 #define vtkTessellatedBoxSource_h 00039 00040 #include "vtkFiltersSourcesModule.h" // For export macro 00041 #include "vtkPolyDataAlgorithm.h" 00042 00043 class VTKFILTERSSOURCES_EXPORT vtkTessellatedBoxSource : public vtkPolyDataAlgorithm 00044 { 00045 public: 00046 static vtkTessellatedBoxSource *New(); 00047 vtkTypeMacro(vtkTessellatedBoxSource,vtkPolyDataAlgorithm); 00048 virtual void PrintSelf(ostream& os, vtkIndent indent); 00049 00051 00053 vtkSetVector6Macro(Bounds, double); 00055 00057 00062 vtkGetVector6Macro(Bounds, double); 00064 00066 00068 vtkSetMacro(Level,int); 00070 00072 00074 vtkGetMacro(Level,int); 00076 00078 00082 vtkSetMacro(DuplicateSharedPoints, int); 00083 vtkGetMacro(DuplicateSharedPoints, int); 00084 vtkBooleanMacro(DuplicateSharedPoints, int); 00086 00088 00090 vtkSetMacro(Quads, int); 00091 vtkGetMacro(Quads, int); 00092 vtkBooleanMacro(Quads, int); 00094 00096 00100 vtkSetMacro(OutputPointsPrecision,int); 00101 vtkGetMacro(OutputPointsPrecision,int); 00103 00104 protected: 00105 vtkTessellatedBoxSource(); 00106 ~vtkTessellatedBoxSource(); 00107 00109 00111 virtual int RequestData(vtkInformation *request, 00112 vtkInformationVector **inputVector, 00113 vtkInformationVector *outpuVector); 00115 00116 00117 void DuplicateSharedPointsMethod(double *bounds, 00118 vtkPoints *points, 00119 vtkCellArray *polys); 00120 00121 void MinimalPointsMethod(double *bounds, 00122 vtkPoints *points, 00123 vtkCellArray *polys); 00124 00126 00129 vtkIdType LocalFacePointCoordinatesToPointId(int f, 00130 int i, 00131 int j); 00133 00135 00140 void BuildFace(vtkPoints *points, 00141 vtkCellArray *polys, 00142 vtkIdType firstPointId, 00143 double facePoints[3][3], 00144 int changed); 00146 00147 double Bounds[6]; 00148 int Level; 00149 int DuplicateSharedPoints; 00150 int Quads; 00151 int OutputPointsPrecision; 00152 00153 private: 00154 vtkTessellatedBoxSource(const vtkTessellatedBoxSource&); // Not implemented. 00155 void operator=(const vtkTessellatedBoxSource&); // Not implemented. 00156 }; 00157 00158 #endif