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 vtkTypeRevisionMacro(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
00068 protected:
00069 vtkOutlineSource();
00070 ~vtkOutlineSource() {}
00071
00072 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00073 int BoxType;
00074 double Bounds[6];
00075 double Corners[24];
00076
00077 private:
00078 vtkOutlineSource(const vtkOutlineSource&);
00079 void operator=(const vtkOutlineSource&);
00080 };
00081
00082 #endif