VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkOutlineSource.h,v $ 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 =========================================================================*/ 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&); // Not implemented. 00079 void operator=(const vtkOutlineSource&); // Not implemented. 00080 }; 00081 00082 #endif