00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00052 #ifndef __vtkPlaneSource_h
00053 #define __vtkPlaneSource_h
00054
00055 #include "vtkPolyDataAlgorithm.h"
00056
00057 class VTK_GRAPHICS_EXPORT vtkPlaneSource : public vtkPolyDataAlgorithm
00058 {
00059 public:
00060 void PrintSelf(ostream& os, vtkIndent indent);
00061 vtkTypeRevisionMacro(vtkPlaneSource,vtkPolyDataAlgorithm);
00062
00065 static vtkPlaneSource *New();
00066
00068
00069 vtkSetMacro(XResolution,int);
00070 vtkGetMacro(XResolution,int);
00072
00074
00075 vtkSetMacro(YResolution,int);
00076 vtkGetMacro(YResolution,int);
00078
00080
00081 void SetResolution(const int xR, const int yR);
00082 void GetResolution(int& xR,int& yR) {
00083 xR=this->XResolution; yR=this->YResolution;};
00085
00087
00088 vtkSetVector3Macro(Origin,double);
00089 vtkGetVectorMacro(Origin,double,3);
00091
00093
00094 void SetPoint1(double x, double y, double z);
00095 void SetPoint1(double pnt[3]);
00096 vtkGetVectorMacro(Point1,double,3);
00098
00100
00101 void SetPoint2(double x, double y, double z);
00102 void SetPoint2(double pnt[3]);
00103 vtkGetVectorMacro(Point2,double,3);
00105
00107
00110 void SetCenter(double x, double y, double z);
00111 void SetCenter(double center[3]);
00112 vtkGetVectorMacro(Center,double,3);
00114
00116
00119 void SetNormal(double nx, double ny, double nz);
00120 void SetNormal(double n[3]);
00121 vtkGetVectorMacro(Normal,double,3);
00123
00126 void Push(double distance);
00127
00128 protected:
00129 vtkPlaneSource();
00130 ~vtkPlaneSource() {};
00131
00132 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00133
00134 int XResolution;
00135 int YResolution;
00136 double Origin[3];
00137 double Point1[3];
00138 double Point2[3];
00139 double Normal[3];
00140 double Center[3];
00141
00142 int UpdatePlane(double v1[3], double v2[3]);
00143 private:
00144 vtkPlaneSource(const vtkPlaneSource&);
00145 void operator=(const vtkPlaneSource&);
00146 };
00147
00148 #endif