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
45 #include "vtkPointSetAlgorithm.h"
46 
47 class VTKFILTERSPOINTS_EXPORT vtkProjectPointsToPlane : public vtkPointSetAlgorithm
48 {
49 public:
51 
55  static vtkProjectPointsToPlane* New();
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 
120 protected:
122  ~vtkProjectPointsToPlane() override = default;
123 
125  double Origin[3];
126  double Normal[3];
128 
130 
131 private:
133  void operator=(const vtkProjectPointsToPlane&) = delete;
134 };
135 
136 #endif
PlaneProjectionType
Define the options available for point projection.
void SetProjectionTypeToZPlane()
Specify the type of projection to perform.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Store vtkAlgorithm input/output information.
project all input points to a plane
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetProjectionTypeToSpecifiedPlane()
Specify the type of projection to perform.
void SetProjectionTypeToXPlane()
Specify the type of projection to perform.
a simple class to control print indentation
Definition: vtkIndent.h:39
Superclass for algorithms that produce output of the same type as input.
void SetProjectionTypeToBestCoordinatePlane()
Specify the type of projection to perform.
static vtkPointSetAlgorithm * New()
Store zero or more vtkInformation instances.
void SetProjectionTypeToBestFitPlane()
Specify the type of projection to perform.
void SetProjectionTypeToYPlane()
Specify the type of projection to perform.