VTK
dox/Filters/General/vtkCursor3D.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkCursor3D.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 =========================================================================*/
00032 #ifndef __vtkCursor3D_h
00033 #define __vtkCursor3D_h
00034 
00035 #include "vtkFiltersGeneralModule.h" // For export macro
00036 #include "vtkPolyDataAlgorithm.h"
00037 
00038 class VTKFILTERSGENERAL_EXPORT vtkCursor3D : public vtkPolyDataAlgorithm
00039 {
00040 public:
00041   vtkTypeMacro(vtkCursor3D,vtkPolyDataAlgorithm);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043 
00046   static vtkCursor3D *New();
00047 
00049 
00050   void SetModelBounds(double xmin, double xmax, double ymin, double ymax,
00051                       double zmin, double zmax);
00052   void SetModelBounds(const double bounds[6]);
00053   vtkGetVectorMacro(ModelBounds,double,6);
00055 
00057 
00062   void SetFocalPoint(double x[3]);
00063   void SetFocalPoint(double x, double y, double z)
00064     {
00065       double xyz[3];
00066       xyz[0] = x; xyz[1] = y; xyz[2] = z;
00067       this->SetFocalPoint(xyz);
00068     }
00069   vtkGetVectorMacro(FocalPoint,double,3);
00071 
00073 
00074   vtkSetMacro(Outline,int);
00075   vtkGetMacro(Outline,int);
00076   vtkBooleanMacro(Outline,int);
00078 
00080 
00081   vtkSetMacro(Axes,int);
00082   vtkGetMacro(Axes,int);
00083   vtkBooleanMacro(Axes,int);
00085 
00087 
00088   vtkSetMacro(XShadows,int);
00089   vtkGetMacro(XShadows,int);
00090   vtkBooleanMacro(XShadows,int);
00092 
00094 
00095   vtkSetMacro(YShadows,int);
00096   vtkGetMacro(YShadows,int);
00097   vtkBooleanMacro(YShadows,int);
00099 
00101 
00102   vtkSetMacro(ZShadows,int);
00103   vtkGetMacro(ZShadows,int);
00104   vtkBooleanMacro(ZShadows,int);
00106 
00108 
00111   vtkSetMacro(TranslationMode,int);
00112   vtkGetMacro(TranslationMode,int);
00113   vtkBooleanMacro(TranslationMode,int);
00115 
00117 
00120   vtkSetMacro(Wrap,int);
00121   vtkGetMacro(Wrap,int);
00122   vtkBooleanMacro(Wrap,int);
00124 
00126   vtkPolyData *GetFocus() {return this->Focus;};
00127 
00129 
00130   void AllOn();
00131   void AllOff();
00133 
00134 protected:
00135   vtkCursor3D();
00136   ~vtkCursor3D();
00137 
00138   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00139 
00140   vtkPolyData *Focus;
00141   double ModelBounds[6];
00142   double FocalPoint[3];
00143   int Outline;
00144   int Axes;
00145   int XShadows;
00146   int YShadows;
00147   int ZShadows;
00148   int TranslationMode;
00149   int Wrap;
00150 
00151 private:
00152   vtkCursor3D(const vtkCursor3D&);  // Not implemented.
00153   void operator=(const vtkCursor3D&);  // Not implemented.
00154 };
00155 
00156 #endif