00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkOutlineSource_h
00027 #define __vtkOutlineSource_h
00028
00029 #include "vtkPolyDataAlgorithm.h"
00030
00031 #define VTK_BOX_TYPE_AXIS_ALIGNED 0
00032 #define VTK_BOX_TYPE_ORIENTED 1
00033
00034 class VTK_GRAPHICS_EXPORT vtkOutlineSource : public vtkPolyDataAlgorithm
00035 {
00036 public:
00037 static vtkOutlineSource *New();
00038 vtkTypeMacro(vtkOutlineSource,vtkPolyDataAlgorithm);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00042
00045 vtkSetMacro(BoxType,int);
00046 vtkGetMacro(BoxType,int);
00047 void SetBoxTypeToAxisAligned()
00048 {this->SetBoxType(VTK_BOX_TYPE_AXIS_ALIGNED);}
00049 void SetBoxTypeToOriented()
00050 {this->SetBoxType(VTK_BOX_TYPE_ORIENTED);}
00052
00054
00055 vtkSetVector6Macro(Bounds,double);
00056 vtkGetVectorMacro(Bounds,double,6);
00058
00060
00064 vtkSetVectorMacro(Corners,double,24);
00065 vtkGetVectorMacro(Corners,double,24);
00067
00069
00070 vtkSetMacro(GenerateFaces, int);
00071 vtkBooleanMacro(GenerateFaces, int);
00072 vtkGetMacro(GenerateFaces, int);
00074
00075 protected:
00076 vtkOutlineSource();
00077 ~vtkOutlineSource() {}
00078
00079 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00080 int BoxType;
00081 int GenerateFaces;
00082 double Bounds[6];
00083 double Corners[24];
00084
00085 private:
00086 vtkOutlineSource(const vtkOutlineSource&);
00087 void operator=(const vtkOutlineSource&);
00088 };
00089
00090 #endif