VTK  9.2.6
vtkProjectPointsToPlane.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkProjectPointsToPlane.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=========================================================================*/
41#ifndef vtkProjectPointsToPlane_h
42#define vtkProjectPointsToPlane_h
43
44#include "vtkFiltersPointsModule.h" // For export macro
46
47class VTKFILTERSPOINTS_EXPORT vtkProjectPointsToPlane : public vtkPointSetAlgorithm
48{
49public:
51
57 void PrintSelf(ostream& os, vtkIndent indent) override;
59
65 {
66 X_PLANE = 1,
67 Y_PLANE = 2,
68 Z_PLANE = 3,
69 SPECIFIED_PLANE = 4,
70 BEST_COORDINATE_PLANE = 5,
71 BEST_FIT_PLANE = 6
72 };
73
75
86 vtkSetClampMacro(ProjectionType, int, X_PLANE, BEST_FIT_PLANE);
87 vtkGetMacro(ProjectionType, int);
88 void SetProjectionTypeToXPlane() { this->SetProjectionType(X_PLANE); }
89 void SetProjectionTypeToYPlane() { this->SetProjectionType(Y_PLANE); }
90 void SetProjectionTypeToZPlane() { this->SetProjectionType(Z_PLANE); }
91 void SetProjectionTypeToSpecifiedPlane() { this->SetProjectionType(SPECIFIED_PLANE); }
92 void SetProjectionTypeToBestCoordinatePlane() { this->SetProjectionType(BEST_COORDINATE_PLANE); }
93 void SetProjectionTypeToBestFitPlane() { this->SetProjectionType(BEST_FIT_PLANE); }
95
97
102 vtkSetVector3Macro(Origin, double);
103 vtkSetVector3Macro(Normal, double);
104 vtkGetVector3Macro(Origin, double);
105 vtkGetVector3Macro(Normal, double);
107
109
116 vtkSetMacro(OutputPointsPrecision, int);
117 vtkGetMacro(OutputPointsPrecision, int);
119
120protected:
122 ~vtkProjectPointsToPlane() override = default;
123
125 double Origin[3];
126 double Normal[3];
128
130
131private:
133 void operator=(const vtkProjectPointsToPlane&) = delete;
134};
135
136#endif
a simple class to control print indentation
Definition vtkIndent.h:40
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.