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