VTK  9.4.20241016
vtkProjectPointsToPlane.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
29#ifndef vtkProjectPointsToPlane_h
30#define vtkProjectPointsToPlane_h
31
32#include "vtkFiltersPointsModule.h" // For export macro
34
35VTK_ABI_NAMESPACE_BEGIN
36class VTKFILTERSPOINTS_EXPORT vtkProjectPointsToPlane : public vtkPointSetAlgorithm
37{
38public:
40
46 void PrintSelf(ostream& os, vtkIndent indent) override;
48
54 {
55 X_PLANE = 1,
56 Y_PLANE = 2,
57 Z_PLANE = 3,
58 SPECIFIED_PLANE = 4,
59 BEST_COORDINATE_PLANE = 5,
60 BEST_FIT_PLANE = 6
61 };
62
64
75 vtkSetClampMacro(ProjectionType, int, X_PLANE, BEST_FIT_PLANE);
76 vtkGetMacro(ProjectionType, int);
77 void SetProjectionTypeToXPlane() { this->SetProjectionType(X_PLANE); }
78 void SetProjectionTypeToYPlane() { this->SetProjectionType(Y_PLANE); }
79 void SetProjectionTypeToZPlane() { this->SetProjectionType(Z_PLANE); }
80 void SetProjectionTypeToSpecifiedPlane() { this->SetProjectionType(SPECIFIED_PLANE); }
81 void SetProjectionTypeToBestCoordinatePlane() { this->SetProjectionType(BEST_COORDINATE_PLANE); }
82 void SetProjectionTypeToBestFitPlane() { this->SetProjectionType(BEST_FIT_PLANE); }
84
86
91 vtkSetVector3Macro(Origin, double);
92 vtkSetVector3Macro(Normal, double);
93 vtkGetVector3Macro(Origin, double);
94 vtkGetVector3Macro(Normal, double);
96
98
105 vtkSetMacro(OutputPointsPrecision, int);
106 vtkGetMacro(OutputPointsPrecision, int);
108
109protected:
111 ~vtkProjectPointsToPlane() override = default;
112
114 double Origin[3];
115 double Normal[3];
117
119
120private:
122 void operator=(const vtkProjectPointsToPlane&) = delete;
123};
124
125VTK_ABI_NAMESPACE_END
126#endif
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.
project all input points to a plane
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, obtaining type information, and printing.
void SetProjectionTypeToZPlane()
Specify the type of projection to perform.
static vtkProjectPointsToPlane * New()
Standard methods for instantiation, obtaining type information, and printing.
void SetProjectionTypeToBestCoordinatePlane()
Specify the type of projection to perform.
void SetProjectionTypeToSpecifiedPlane()
Specify the type of projection to perform.
void SetProjectionTypeToYPlane()
Specify the type of projection to perform.
~vtkProjectPointsToPlane() override=default
void SetProjectionTypeToXPlane()
Specify the type of projection to perform.
PlaneProjectionType
Define the options available for point projection.
void SetProjectionTypeToBestFitPlane()
Specify the type of projection to perform.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.