VTK  9.5.20250901
vtkPlaneSource.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
151#ifndef vtkPlaneSource_h
152#define vtkPlaneSource_h
153
154#include "vtkFiltersSourcesModule.h" // For export macro
155#include "vtkPolyDataAlgorithm.h"
156#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
157
158VTK_ABI_NAMESPACE_BEGIN
159class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkPlaneSource : public vtkPolyDataAlgorithm
160{
161public:
162 void PrintSelf(ostream& os, vtkIndent indent) override;
164
170
172
175 vtkSetMacro(XResolution, int);
176 vtkGetMacro(XResolution, int);
178
180
183 vtkSetMacro(YResolution, int);
184 vtkGetMacro(YResolution, int);
186
188
191 void SetResolution(int xR, int yR);
192 void GetResolution(int& xR, int& yR)
193 {
194 xR = this->XResolution;
195 yR = this->YResolution;
196 }
198
200
203 vtkSetVector3Macro(Origin, double);
204 vtkGetVectorMacro(Origin, double, 3);
206
208
211 void SetPoint1(double x, double y, double z);
212 void SetPoint1(double pnt[3]);
213 vtkGetVectorMacro(Point1, double, 3);
215
217
220 void SetPoint2(double x, double y, double z);
221 void SetPoint2(double pnt[3]);
222 vtkGetVectorMacro(Point2, double, 3);
224
226
231 void GetAxis1(double a1[3]);
232 void GetAxis2(double a2[3]);
234
236
241 void SetCenter(double x, double y, double z);
242 void SetCenter(double center[3]);
243 vtkGetVectorMacro(Center, double, 3);
245
247
252 void SetNormal(double nx, double ny, double nz);
253 void SetNormal(double n[3]);
254 vtkGetVectorMacro(Normal, double, 3);
256
262 void Push(double distance);
263
269 void Rotate(double angle, double rotationAxis[3]);
270
272
277 vtkSetMacro(OutputPointsPrecision, int);
278 vtkGetMacro(OutputPointsPrecision, int);
280
281protected:
283 ~vtkPlaneSource() override = default;
284
286
289 double Origin[3];
290 double Point1[3];
291 double Point2[3];
292 double Normal[3];
293 double Center[3];
295
296 int UpdatePlane(double v1[3], double v2[3]);
297
298private:
299 vtkPlaneSource(const vtkPlaneSource&) = delete;
300 void operator=(const vtkPlaneSource&) = delete;
301};
302
303VTK_ABI_NAMESPACE_END
304#endif
a simple class to control print indentation
Definition vtkIndent.h:108
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.
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 SetResolution(int xR, int yR)
Set the number of x-y subdivisions in 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])
static vtkPlaneSource * New()
Construct plane perpendicular to z-axis, resolution 1x1, width and height 1.0, and centered at the or...
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 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.
#define VTK_MARSHALAUTO