VTK  9.5.20251110
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
27
28namespace pdal
29{
30class Stage;
31};
32
33VTK_ABI_NAMESPACE_BEGIN
34
35class VTKIOPDAL_EXPORT vtkPDALReader : public vtkPolyDataAlgorithm
36{
37public:
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
61
63
67 vtkSetMacro(ApplyOffset, bool);
68 vtkGetMacro(ApplyOffset, bool);
69 vtkBooleanMacro(ApplyOffset, bool);
71
72protected:
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;
101 std::string OffsetAsString;
102};
103
104VTK_ABI_NAMESPACE_END
105#endif // vtkPDALReader_h
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Reads LIDAR data using the PDAL library.
static vtkPDALReader * New()
std::array< double, 3 > GetLasOffsets(pdal::Stage *reader)
Get LAS file offsets from PDAL metadata returns 0,0,0 if offsets are not available.
vtkGetFilePathMacro(FileName)
Name of the file that will be opened.
void operator=(const vtkPDALReader &)=delete
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Provide metadata (offsets) for preview in the pipeline.
void ReadPointRecordData(pdal::Stage &reader, vtkPolyData *pointsPolyData)
Read point record data i.e.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Core implementation of the data set reader.
~vtkPDALReader() override
vtkPDALReader(const vtkPDALReader &)=delete
std::string OffsetAsString
vtkSetFilePathMacro(FileName)
Name of the file that will be opened.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
int vtkTypeBool
Definition vtkABI.h:64