VTK  9.5.20251215
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
20
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.
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.
concrete dataset represents vertices, lines, polygons, and triangle strips
int vtkTypeBool
Definition vtkABI.h:64