VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/Sources/vtkTessellatedBoxSource.h
Go to the documentation of this file.
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