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 =========================================================================*/
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&);  // Not implemented.
00090   void operator=(const vtkOutlineSource&);  // Not implemented.
00091 };
00092 
00093 #endif