00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00037 #ifndef __vtkTessellatedBoxSource_h
00038 #define __vtkTessellatedBoxSource_h
00039
00040 #include "vtkPolyDataAlgorithm.h"
00041
00042 class VTK_GRAPHICS_EXPORT vtkTessellatedBoxSource : public vtkPolyDataAlgorithm
00043 {
00044 public:
00045 static vtkTessellatedBoxSource *New();
00046 vtkTypeMacro(vtkTessellatedBoxSource,vtkPolyDataAlgorithm);
00047 virtual void PrintSelf(ostream& os, vtkIndent indent);
00048
00050
00052 vtkSetVector6Macro(Bounds, double);
00054
00056
00061 vtkGetVector6Macro(Bounds, double);
00063
00065
00067 vtkSetMacro(Level,int);
00069
00071
00073 vtkGetMacro(Level,int);
00075
00077
00081 vtkSetMacro(DuplicateSharedPoints, int);
00082 vtkGetMacro(DuplicateSharedPoints, int);
00083 vtkBooleanMacro(DuplicateSharedPoints, int);
00085
00087
00089 vtkSetMacro(Quads, int);
00090 vtkGetMacro(Quads, int);
00091 vtkBooleanMacro(Quads, int);
00093
00094 protected:
00095 vtkTessellatedBoxSource();
00096 ~vtkTessellatedBoxSource();
00097
00099
00100 virtual int RequestInformation(vtkInformation *request,
00101 vtkInformationVector **inputVector,
00102 vtkInformationVector *outputVector);
00104
00106
00108 virtual int RequestData(vtkInformation *request,
00109 vtkInformationVector **inputVector,
00110 vtkInformationVector *outpuVector);
00112
00113
00114 void DuplicateSharedPointsMethod(double *bounds,
00115 vtkPoints *points,
00116 vtkCellArray *polys);
00117
00118 void MinimalPointsMethod(double *bounds,
00119 vtkPoints *points,
00120 vtkCellArray *polys);
00121
00123
00126 vtkIdType LocalFacePointCoordinatesToPointId(int f,
00127 int i,
00128 int j);
00130
00132
00137 void BuildFace(vtkPoints *points,
00138 vtkCellArray *polys,
00139 vtkIdType firstPointId,
00140 double facePoints[3][3],
00141 int changed);
00143
00144 double Bounds[6];
00145 int Level;
00146 int DuplicateSharedPoints;
00147 int Quads;
00148
00149 private:
00150 vtkTessellatedBoxSource(const vtkTessellatedBoxSource&);
00151 void operator=(const vtkTessellatedBoxSource&);
00152 };
00153
00154 #endif