VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkOutlineSource.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 =========================================================================*/ 00029 #ifndef __vtkOutlineSource_h 00030 #define __vtkOutlineSource_h 00031 00032 #include "vtkFiltersSourcesModule.h" // For export macro 00033 #include "vtkPolyDataAlgorithm.h" 00034 00035 #define VTK_BOX_TYPE_AXIS_ALIGNED 0 00036 #define VTK_BOX_TYPE_ORIENTED 1 00037 00038 class VTKFILTERSSOURCES_EXPORT vtkOutlineSource : public vtkPolyDataAlgorithm 00039 { 00040 public: 00041 static vtkOutlineSource *New(); 00042 vtkTypeMacro(vtkOutlineSource,vtkPolyDataAlgorithm); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 00049 vtkSetMacro(BoxType,int); 00050 vtkGetMacro(BoxType,int); 00051 void SetBoxTypeToAxisAligned() 00052 {this->SetBoxType(VTK_BOX_TYPE_AXIS_ALIGNED);} 00053 void SetBoxTypeToOriented() 00054 {this->SetBoxType(VTK_BOX_TYPE_ORIENTED);} 00056 00058 00059 vtkSetVector6Macro(Bounds,double); 00060 vtkGetVectorMacro(Bounds,double,6); 00062 00064 00068 vtkSetVectorMacro(Corners,double,24); 00069 vtkGetVectorMacro(Corners,double,24); 00071 00073 00074 vtkSetMacro(GenerateFaces, int); 00075 vtkBooleanMacro(GenerateFaces, int); 00076 vtkGetMacro(GenerateFaces, int); 00078 00080 00084 vtkSetMacro(OutputPointsPrecision,int); 00085 vtkGetMacro(OutputPointsPrecision,int); 00087 00088 protected: 00089 vtkOutlineSource(); 00090 ~vtkOutlineSource() {} 00091 00092 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00093 int BoxType; 00094 int GenerateFaces; 00095 int OutputPointsPrecision; 00096 double Bounds[6]; 00097 double Corners[24]; 00098 00099 private: 00100 vtkOutlineSource(const vtkOutlineSource&); // Not implemented. 00101 void operator=(const vtkOutlineSource&); // Not implemented. 00102 }; 00103 00104 #endif