VTK: IO/Cesium3DTiles/vtkCesium3DTilesWriter.h Source File

| VTK 9.3.1

vtkCesium3DTilesWriter.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 vtkCesium3DTilesWriter_h
22 #define vtkCesium3DTilesWriter_h
23
24 #include "vtkIOCesium3DTilesModule.h" // For export macro
25 #include "vtkWriter.h"
26
27 VTK_ABI_NAMESPACE_BEGIN
28 class VTKIOCESIUM3DTILES_EXPORT vtkCesium3DTilesWriter : public vtkWriter
29 {
30 public:
31 static vtkCesium3DTilesWriter* New();
32 void PrintSelf(ostream& os, vtkIndent indent) override;
33 vtkTypeMacro(vtkCesium3DTilesWriter, vtkWriter);
34
35 enum InputType
36 {
37 Buildings,
38 Points,
39 Mesh
40 };
41
43
46 vtkSetFilePathMacro(DirectoryName);
47 vtkGetFilePathMacro(DirectoryName);
49
51
55 vtkSetFilePathMacro(TextureBaseDirectory);
56 vtkGetFilePathMacro(TextureBaseDirectory);
58
60
68 vtkSetFilePathMacro(PropertyTextureFile);
69 vtkGetFilePathMacro(PropertyTextureFile);
71
73
77 vtkSetVector3Macro(Offset, double);
78 vtkGetVector3Macro(Offset, double);
80
82
86 vtkSetMacro(SaveTextures, bool);
87 vtkGetMacro(SaveTextures, bool);
88 vtkBooleanMacro(SaveTextures, bool);
90
92
97 vtkSetMacro(SaveTiles, bool);
98 vtkGetMacro(SaveTiles, bool);
99 vtkBooleanMacro(SaveTiles, bool);
101
103
115 vtkSetMacro(MergeTilePolyData, bool);
116 vtkGetMacro(MergeTilePolyData, bool);
117 vtkBooleanMacro(MergeTilePolyData, bool);
118 vtkSetMacro(MergedTextureWidth, int);
119 vtkGetMacro(MergedTextureWidth, int);
121
123
132 vtkSetMacro(ContentGLTF, bool);
133 vtkGetMacro(ContentGLTF, bool);
134 vtkBooleanMacro(ContentGLTF, bool);
135 vtkSetMacro(ContentGLTFSaveGLB, bool);
136 vtkGetMacro(ContentGLTFSaveGLB, bool);
137 vtkBooleanMacro(ContentGLTFSaveGLB, bool);
139
141
144 vtkSetMacro(InputType, int);
145 vtkGetMacro(InputType, int);
147
149
153 vtkSetMacro(NumberOfFeaturesPerTile, int);
154 vtkGetMacro(NumberOfFeaturesPerTile, int);
156
158
163 vtkSetStringMacro(CRS);
164 vtkGetStringMacro(CRS);
166
167 protected:
168 vtkCesium3DTilesWriter();
169 ~vtkCesium3DTilesWriter() override;
170
171 // Only accepts vtkMultiBlockData
172 int FillInputPortInformation(int port, vtkInformation* info) override;
173
174 // Implementation of Write()
175 void WriteData() override;
176
177 char* DirectoryName;
178 char* TextureBaseDirectory;
179 char* PropertyTextureFile;
180 double Offset[3];
181 bool SaveTextures;
182 int InputType;
183 bool ContentGLTF;
184 bool ContentGLTFSaveGLB;
185 bool SaveTiles;
186 bool MergeTilePolyData;
187 int MergedTextureWidth;
188 int NumberOfFeaturesPerTile;
189 char* CRS;
190
191 private:
192 vtkCesium3DTilesWriter(const vtkCesium3DTilesWriter&) = delete;
193 void operator=(const vtkCesium3DTilesWriter&) = delete;
194 };
195
196 VTK_ABI_NAMESPACE_END
197 #endif // vtkCesium3DTilesWriter_h
vtkCesium3DTilesWriter
Writes a dataset into 3D Tiles format.
Definition: vtkCesium3DTilesWriter.h:29
vtkCesium3DTilesWriter::vtkSetFilePathMacro
vtkSetFilePathMacro(DirectoryName)
Accessor for name of the directory where Cesium3DTiles data is written.
vtkCesium3DTilesWriter::CRS
char * CRS
Definition: vtkCesium3DTilesWriter.h:189
vtkCesium3DTilesWriter::New
static vtkCesium3DTilesWriter * New()
vtkCesium3DTilesWriter::vtkGetFilePathMacro
vtkGetFilePathMacro(TextureBaseDirectory)
Path used to prefix all texture paths stored as fields in the input data.
vtkCesium3DTilesWriter::NumberOfFeaturesPerTile
int NumberOfFeaturesPerTile
Definition: vtkCesium3DTilesWriter.h:188
vtkCesium3DTilesWriter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCesium3DTilesWriter::TextureBaseDirectory
char * TextureBaseDirectory
Definition: vtkCesium3DTilesWriter.h:178
vtkCesium3DTilesWriter::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkCesium3DTilesWriter::MergeTilePolyData
bool MergeTilePolyData
Definition: vtkCesium3DTilesWriter.h:186
vtkCesium3DTilesWriter::vtkGetFilePathMacro
vtkGetFilePathMacro(DirectoryName)
Accessor for name of the directory where Cesium3DTiles data is written.
vtkCesium3DTilesWriter::SaveTextures
bool SaveTextures
Definition: vtkCesium3DTilesWriter.h:181
vtkCesium3DTilesWriter::WriteData
void WriteData() override
vtkCesium3DTilesWriter::PropertyTextureFile
char * PropertyTextureFile
Definition: vtkCesium3DTilesWriter.h:179
vtkCesium3DTilesWriter::vtkSetFilePathMacro
vtkSetFilePathMacro(PropertyTextureFile)
Optional property texture mapping for the whole dataset.
vtkCesium3DTilesWriter::vtkGetFilePathMacro
vtkGetFilePathMacro(PropertyTextureFile)
Optional property texture mapping for the whole dataset.
vtkCesium3DTilesWriter::MergedTextureWidth
int MergedTextureWidth
Definition: vtkCesium3DTilesWriter.h:187
vtkCesium3DTilesWriter::vtkSetFilePathMacro
vtkSetFilePathMacro(TextureBaseDirectory)
Path used to prefix all texture paths stored as fields in the input data.
vtkCesium3DTilesWriter::SaveTiles
bool SaveTiles
Definition: vtkCesium3DTilesWriter.h:185
vtkCesium3DTilesWriter::InputType
int InputType
Definition: vtkCesium3DTilesWriter.h:182
vtkCesium3DTilesWriter::~vtkCesium3DTilesWriter
~vtkCesium3DTilesWriter() override
vtkCesium3DTilesWriter::InputType
InputType
Definition: vtkCesium3DTilesWriter.h:36
vtkCesium3DTilesWriter::Buildings
@ Buildings
Definition: vtkCesium3DTilesWriter.h:37
vtkCesium3DTilesWriter::Points
@ Points
Definition: vtkCesium3DTilesWriter.h:38
vtkCesium3DTilesWriter::ContentGLTF
bool ContentGLTF
Definition: vtkCesium3DTilesWriter.h:183
vtkCesium3DTilesWriter::vtkCesium3DTilesWriter
vtkCesium3DTilesWriter()
vtkCesium3DTilesWriter::ContentGLTFSaveGLB
bool ContentGLTFSaveGLB
Definition: vtkCesium3DTilesWriter.h:184
vtkCesium3DTilesWriter::DirectoryName
char * DirectoryName
Definition: vtkCesium3DTilesWriter.h:177
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkWriter
abstract class to write data to file(s)
Definition: vtkWriter.h:35
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkWriter.h