VTK
dox/Graphics/vtkOutlineSource.h
Go to the documentation of this file.
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 =========================================================================*/
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&);  // Not implemented.
00087   void operator=(const vtkOutlineSource&);  // Not implemented.
00088 };
00089 
00090 #endif