ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
vtkBoundedPlaneSource.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include "qPCL.h" // needed for export macro
11 #include "vtkPolyDataAlgorithm.h"
12 class QPCL_ENGINE_LIB_API vtkBoundedPlaneSource : public vtkPolyDataAlgorithm {
13 public:
15  vtkTypeMacro(vtkBoundedPlaneSource, vtkPolyDataAlgorithm);
16  void PrintSelf(ostream& os, vtkIndent indent) override;
17 
19 
23  vtkSetVector3Macro(Center, double);
24  vtkGetVector3Macro(Center, double);
26 
28 
31  vtkSetVector3Macro(Normal, double);
32  vtkGetVector3Macro(Normal, double);
34 
36 
42 
43  enum RefinementModes { USE_RESOLUTION, USE_CELL_SIZE };
44 
48  vtkSetClampMacro(RefinementMode, int, USE_RESOLUTION, USE_CELL_SIZE);
49  vtkGetMacro(RefinementMode, int);
50 
52 
56  vtkSetClampMacro(Resolution, int, 1, VTK_INT_MAX);
57  vtkGetMacro(Resolution, int);
59 
61 
68 
70 
75  vtkSetClampMacro(Padding, double, 0, VTK_DOUBLE_MAX);
76  vtkGetMacro(Padding, double);
78 
79 protected:
81  ~vtkBoundedPlaneSource() override;
82 
83  int RequestData(vtkInformation*,
84  vtkInformationVector**,
85  vtkInformationVector*) override;
86 
87  double Center[3];
88  double Normal[3];
89  double BoundingBox[6];
92  double CellSize;
93  double Padding;
94 
95 private:
97  void operator=(const vtkBoundedPlaneSource&) = delete;
98 };
vtkIdType CellSize
Definition: VtkUtils.cpp:217
vtkGetMacro(CellSize, double)
vtkGetVector6Macro(BoundingBox, double)
vtkSetVector3Macro(Normal, double)
vtkSetClampMacro(Padding, double, 0, VTK_DOUBLE_MAX)
vtkTypeMacro(vtkBoundedPlaneSource, vtkPolyDataAlgorithm)
vtkGetVector3Macro(Center, double)
static vtkBoundedPlaneSource * New()
vtkSetMacro(CellSize, double)
vtkSetVector3Macro(Center, double)
vtkGetVector3Macro(Normal, double)
vtkGetMacro(RefinementMode, int)
vtkGetMacro(Resolution, int)
vtkSetClampMacro(RefinementMode, int, USE_RESOLUTION, USE_CELL_SIZE)
vtkGetMacro(Padding, double)
vtkSetClampMacro(Resolution, int, 1, VTK_INT_MAX)
vtkSetVector6Macro(BoundingBox, double)
BoundingBoxTpl< PointCoordinateType > BoundingBox
Default bounding-box type.
Definition: BoundingBox.h:304
#define QPCL_ENGINE_LIB_API
Definition: qPCL.h:15