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;
34 
35  enum InputType
36  {
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:
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 
180  double Offset[3];
185  bool SaveTiles;
189  char* CRS;
190 
191 private:
193  void operator=(const vtkCesium3DTilesWriter&) = delete;
194 };
195 
196 VTK_ABI_NAMESPACE_END
197 #endif // vtkCesium3DTilesWriter_h
Store vtkAlgorithm input/output information.
abstract class to write data to file(s)
Definition: vtkWriter.h:34
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
static vtkAlgorithm * New()
virtual void WriteData()=0
Writes a dataset into 3D Tiles format.