Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkPlaneSource.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkPlaneSource.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 =========================================================================*/
00063 #ifndef __vtkPlaneSource_h
00064 #define __vtkPlaneSource_h
00065 
00066 #include "vtkPolyDataSource.h"
00067 
00068 class VTK_GRAPHICS_EXPORT vtkPlaneSource : public vtkPolyDataSource 
00069 {
00070 public:
00071   void PrintSelf(ostream& os, vtkIndent indent);
00072   vtkTypeRevisionMacro(vtkPlaneSource,vtkPolyDataSource);
00073 
00076   static vtkPlaneSource *New();
00077 
00079 
00080   vtkSetMacro(XResolution,int);
00081   vtkGetMacro(XResolution,int);
00083 
00085 
00086   vtkSetMacro(YResolution,int);
00087   vtkGetMacro(YResolution,int);
00089 
00091 
00092   void SetResolution(const int xR, const int yR);
00093   void GetResolution(int& xR,int& yR) {
00094     xR=this->XResolution; yR=this->YResolution;};
00096 
00098 
00099   vtkSetVector3Macro(Origin,double);
00100   vtkGetVectorMacro(Origin,double,3);
00102 
00104 
00105   void SetPoint1(double x, double y, double z);
00106   void SetPoint1(double pnt[3]);
00107   vtkGetVectorMacro(Point1,double,3);
00109 
00111 
00112   void SetPoint2(double x, double y, double z);
00113   void SetPoint2(double pnt[3]);
00114   vtkGetVectorMacro(Point2,double,3);
00116 
00118 
00121   void SetCenter(double x, double y, double z);
00122   void SetCenter(double center[3]);
00123   vtkGetVectorMacro(Center,double,3);
00125 
00127 
00130   void SetNormal(double nx, double ny, double nz);
00131   void SetNormal(double n[3]);
00132   vtkGetVectorMacro(Normal,double,3);
00134 
00137   void Push(double distance);
00138 
00139 protected:
00140   vtkPlaneSource();
00141   ~vtkPlaneSource() {};
00142 
00143   void Execute();
00144 
00145   int XResolution;
00146   int YResolution;
00147   double Origin[3];
00148   double Point1[3];
00149   double Point2[3];
00150   double Normal[3];
00151   double Center[3];
00152 
00153   int UpdatePlane(double v1[3], double v2[3]);
00154 private:
00155   vtkPlaneSource(const vtkPlaneSource&);  // Not implemented.
00156   void operator=(const vtkPlaneSource&);  // Not implemented.
00157 };
00158 
00159 #endif
00160 
00161