VTK  9.7.1
vtkPDALReader.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
21 #ifndef vtkPDALReader_h
22 #define vtkPDALReader_h
23 
24 #include <vtkIOPDALModule.h> // For export macro
25 
26 #include <vtkPolyDataAlgorithm.h>
27 
28 namespace pdal
29 {
30 class Stage;
31 };
32 
33 VTK_ABI_NAMESPACE_BEGIN
34 
35 class VTKIOPDAL_EXPORT vtkPDALReader : public vtkPolyDataAlgorithm
36 {
37 public:
38  vtkPDALReader(const vtkPDALReader&) = delete;
39  void operator=(const vtkPDALReader&) = delete;
40  static vtkPDALReader* New();
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
47  vtkGetMacro(HasOffset, vtkTypeBool);
48 
52  vtkGetMacro(OffsetAsString, std::string);
53 
55 
58  vtkSetFilePathMacro(FileName);
59  vtkGetFilePathMacro(FileName);
61 
63 
67  vtkSetMacro(ApplyOffset, bool);
68  vtkGetMacro(ApplyOffset, bool);
69  vtkBooleanMacro(ApplyOffset, bool);
71 
72 protected:
73  vtkPDALReader();
74  ~vtkPDALReader() override;
75 
80 
84  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
85  vtkInformationVector* outputVector) override;
86 
90  void ReadPointRecordData(pdal::Stage& reader, vtkPolyData* pointsPolyData);
91 
96  std::array<double, 3> GetLasOffsets(pdal::Stage* reader);
97 
98  char* FileName = nullptr;
99  bool ApplyOffset = false;
100  bool HasOffset = false;
102 };
103 
104 VTK_ABI_NAMESPACE_END
105 #endif // vtkPDALReader_h
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:71
static vtkPolyDataAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:64
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Reads LIDAR data using the PDAL library.
Definition: vtkPDALReader.h:35
std::string OffsetAsString
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.