VTK  9.2.5
vtkPlaneSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPlaneSource.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
163 #ifndef vtkPlaneSource_h
164 #define vtkPlaneSource_h
165 
166 #include "vtkFiltersSourcesModule.h" // For export macro
167 #include "vtkPolyDataAlgorithm.h"
168 
169 class VTKFILTERSSOURCES_EXPORT vtkPlaneSource : public vtkPolyDataAlgorithm
170 {
171 public:
172  void PrintSelf(ostream& os, vtkIndent indent) override;
174 
179  static vtkPlaneSource* New();
180 
182 
185  vtkSetMacro(XResolution, int);
186  vtkGetMacro(XResolution, int);
188 
190 
193  vtkSetMacro(YResolution, int);
194  vtkGetMacro(YResolution, int);
196 
198 
201  void SetResolution(const int xR, const int yR);
202  void GetResolution(int& xR, int& yR)
203  {
204  xR = this->XResolution;
205  yR = this->YResolution;
206  }
208 
210 
213  vtkSetVector3Macro(Origin, double);
214  vtkGetVectorMacro(Origin, double, 3);
216 
218 
221  void SetPoint1(double x, double y, double z);
222  void SetPoint1(double pnt[3]);
223  vtkGetVectorMacro(Point1, double, 3);
225 
227 
230  void SetPoint2(double x, double y, double z);
231  void SetPoint2(double pnt[3]);
232  vtkGetVectorMacro(Point2, double, 3);
234 
236 
241  void GetAxis1(double a1[3]);
242  void GetAxis2(double a2[3]);
244 
246 
251  void SetCenter(double x, double y, double z);
252  void SetCenter(double center[3]);
253  vtkGetVectorMacro(Center, double, 3);
255 
257 
262  void SetNormal(double nx, double ny, double nz);
263  void SetNormal(double n[3]);
264  vtkGetVectorMacro(Normal, double, 3);
266 
272  void Push(double distance);
273 
279  void Rotate(double angle, double rotationAxis[3]);
280 
282 
287  vtkSetMacro(OutputPointsPrecision, int);
288  vtkGetMacro(OutputPointsPrecision, int);
290 
291 protected:
293  ~vtkPlaneSource() override = default;
294 
296 
299  double Origin[3];
300  double Point1[3];
301  double Point2[3];
302  double Normal[3];
303  double Center[3];
305 
306  int UpdatePlane(double v1[3], double v2[3]);
307 
308 private:
309  vtkPlaneSource(const vtkPlaneSource&) = delete;
310  void operator=(const vtkPlaneSource&) = delete;
311 };
312 
313 #endif
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
create an array of quadrilaterals located in a plane
void SetNormal(double nx, double ny, double nz)
Set/Get the plane normal.
static vtkPlaneSource * New()
Construct plane perpendicular to z-axis, resolution 1x1, width and height 1.0, and centered at the or...
void SetPoint1(double pnt[3])
Specify a point defining the first axis of the plane.
void GetResolution(int &xR, int &yR)
Set the number of x-y subdivisions in the plane.
void Rotate(double angle, double rotationAxis[3])
Rotate plane at center around a given axis If the absolute value of the angle is inferior to the defi...
void Push(double distance)
Translate the plane in the direction of the normal by the distance specified.
void SetPoint2(double pnt[3])
Specify a point defining the second axis of the plane.
~vtkPlaneSource() override=default
void SetCenter(double x, double y, double z)
Set/Get the center of the plane.
void GetAxis1(double a1[3])
Convenience methods to retrieve the axes of the plane; that is axis a1 is the vector (Point1-Origin),...
int UpdatePlane(double v1[3], double v2[3])
void SetNormal(double n[3])
Set/Get the plane normal.
void SetCenter(double center[3])
Set/Get the center of the plane.
void SetPoint1(double x, double y, double z)
Specify a point defining the first axis of the plane.
void SetPoint2(double x, double y, double z)
Specify a point defining the second axis of the plane.
void GetAxis2(double a2[3])
Convenience methods to retrieve the axes of the plane; that is axis a1 is the vector (Point1-Origin),...
void SetResolution(const int xR, const int yR)
Set the number of x-y subdivisions in the plane.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
Superclass for algorithms that produce only polydata as output.
@ Normal
Definition: vtkX3D.h:51
@ center
Definition: vtkX3D.h:236