17#ifndef vtkCesium3DTilesReader_h
18#define vtkCesium3DTilesReader_h
20#include "vtkIOCesium3DTilesModule.h"
23#include <vtk_nlohmannjson.h>
24#include VTK_NLOHMANN_JSON(json.hpp)
26VTK_ABI_NAMESPACE_BEGIN
81 vtkSetMacro(Level,
int);
82 vtkGetMacro(Level,
int);
110 char* FileName =
nullptr;
121 friend class Tileset;
126 std::vector<std::shared_ptr<Tileset>> Tilesets;
127 std::map<std::string, size_t> FileNameToTilesetIndex;
131 std::vector<vtkSmartPointer<vtkGLTFReader>> TileReaders;
Reads a Cesium 3D Tiles tileset.
virtual int CanReadFile(const char *name)
Returns true if it can read the json file (it is a 3D Tiles tileset), false otherwise.
~vtkCesium3DTilesReader() override
vtkSetFilePathMacro(FileName)
Set/Get the name of the file from which to read points.
static vtkCesium3DTilesReader * New()
void ReadTiles(vtkPartitionedDataSetCollection *pd, size_t numberOfRanks, size_t rank)
Read tiles and add them to 'pd' for given this->Level and numberOfRanks/rank combination.
std::pair< size_t, size_t > ToLocalIndex(size_t globalIndex)
Converts globalIndex to (tilesetIndex, tileIndex) pair.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGetFilePathMacro(FileName)
Set/Get the name of the file from which to read points.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Methods for subclasses to override to handle different pipeline requests.
vtkSmartPointer< vtkGLTFReader > GetTileReader(size_t index)
Return the vtkGLTFReader used to read the tile.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Methods for subclasses to override to handle different pipeline requests.
a simple class to control print indentation
Superclass for algorithms that produce vtkPartitionedDataSetCollectionAlgorithm.
Composite dataset that groups datasets as a collection.
composite dataset to encapsulates a dataset consisting of partitions.
Hold a reference to a vtkObjectBase instance.