VTK
9.4.20241128
|
Additional information and routines for 3D Tiles octree nodes. More...
#include <TreeInformation.h>
Public Member Functions | |
void | PrintNode (vtkIncrementalOctreeNode *node) |
void | AddGeometricError (vtkPolyData *representation) |
Adds a node geometric error cell attribute for the bounding box representation for nodes on a level. | |
void | Compute () |
Computes the additional information for all nodes. | |
void | SaveTilesBuildings (bool mergeTilePolyData, size_t mergedTextureWidth) |
void | SaveTilesMesh () |
void | SaveTilesPoints () |
void | SaveTileset (const std::string &output) |
TreeInformation (vtkIncrementalOctreeNode *root, int numberOfNodes, const std::vector< vtkSmartPointer< vtkCompositeDataSet > > *buildings, const std::string &textureBaseDirectory, const std::string &propertyTextureFile, bool saveTextures, bool contentGLTF, bool contentGLTFSaveGLB, const char *crs, const std::string &outputDir) | |
Constructors for buildings, points and meshes. | |
TreeInformation (vtkIncrementalOctreeNode *root, int numberOfNodes, vtkPointSet *points, bool contentGLTF, bool contentGLTFSaveGLB, const char *crs, const std::string &output) | |
Constructors for buildings, points and meshes. | |
TreeInformation (vtkIncrementalOctreeNode *root, int numberOfNodes, vtkPolyData *mesh, const std::string &textureBaseDirectory, const std::string &propertyTextureFile, bool saveTextures, bool contentGLTF, bool contentGLTFSaveGLB, const char *crs, const std::string &output) | |
Constructors for buildings, points and meshes. | |
Static Public Member Functions | |
static void | PrintBounds (const char *name, const double *bounds) |
static void | PrintBounds (const std::string &name, const double *bounds) |
static std::array< double, 6 > | ExpandBounds (double *first, double *second) |
Protected Member Functions | |
void | PostOrderTraversal (void(TreeInformation::*Visit)(vtkIncrementalOctreeNode *node, void *aux), vtkIncrementalOctreeNode *node, void *aux) |
void | PreOrderTraversal (void(TreeInformation::*Visit)(vtkIncrementalOctreeNode *node, void *aux), vtkIncrementalOctreeNode *node, void *aux) |
void | SaveTileset (vtkIncrementalOctreeNode *root, const std::string &output) |
nlohmann::json | GenerateTileJson (vtkIncrementalOctreeNode *node) |
bool | ConvertTileCartesianBuildings (vtkIncrementalOctreeNode *node) |
bool | ConvertDataSetCartesian (vtkPointSet *points) |
void | SaveTileBuildings (vtkIncrementalOctreeNode *node, void *auxData) |
void | SaveTileMesh (vtkIncrementalOctreeNode *node, void *auxData) |
void | WriteTileTexture (vtkIncrementalOctreeNode *node, const std::string &fileName, vtkImageData *tileImage) |
vtkSmartPointer< vtkImageData > | SplitTileTexture (vtkPolyData *tileMesh, vtkImageData *textureImage, vtkDataArray *tcoordsTile) |
Compute the texture image for the tile and recompute texture coordinates. | |
void | SaveTilePoints (vtkIncrementalOctreeNode *node, void *auxData) |
std::array< double, 6 > | ComputeTightBB (vtkIdList *tileBuildings) |
std::string | ContentTypeExtension () const |
void | Initialize () |
double | GetRootLength2 () |
bool | ForEachBuilding (vtkIncrementalOctreeNode *node, std::function< bool(vtkPolyData *)> Execute) |
Execute the passed functor for each polydata. | |
void | VisitCompute (vtkIncrementalOctreeNode *node, void *aux) |
Computes the additional information for 'node'. | |
void | VisitComputeGeometricError (vtkIncrementalOctreeNode *node, void *aux) |
Computes the additional information for 'node'. | |
double | ComputeGeometricErrorTilesetBuildings () |
Compute geometric error for the tileset and for a node. | |
double | ComputeGeometricErrorTilesetPoints () |
Compute geometric error for the tileset and for a node. | |
double | ComputeGeometricErrorTilesetMesh () |
Compute geometric error for the tileset and for a node. | |
double | ComputeGeometricErrorTileset () |
Compute geometric error for the tileset and for a node. | |
double | ComputeGeometricErrorNodeBuildings (vtkIncrementalOctreeNode *node, void *aux) |
Compute geometric error for the tileset and for a node. | |
double | ComputeGeometricErrorNodePoints (vtkIncrementalOctreeNode *node, void *aux) |
Compute geometric error for the tileset and for a node. | |
double | ComputeGeometricErrorNodeMesh (vtkIncrementalOctreeNode *node, void *aux) |
Compute geometric error for the tileset and for a node. | |
double | ComputeGeometricErrorNode (vtkIncrementalOctreeNode *node, void *aux) |
Compute geometric error for the tileset and for a node. | |
std::array< double, 6 > | GetNodeTightBounds (int i) |
Returns the bounds for node with index 'i' The versions that returns a bool returns true if the node is not empty, false otherwise. | |
bool | GetNodeTightBounds (int i, double *bounds) |
Returns the bounds for node with index 'i' The versions that returns a bool returns true if the node is not empty, false otherwise. | |
static bool | GetNodeTightBounds (void *data, vtkIncrementalOctreeNode *node, double *bounds) |
Returns the bounds for node with index 'i' The versions that returns a bool returns true if the node is not empty, false otherwise. | |
Additional information and routines for 3D Tiles octree nodes.
Additional information for all nodes in the octree used to generate the 3D Tiles representation.
Definition at line 36 of file TreeInformation.h.
TreeInformation::TreeInformation | ( | vtkIncrementalOctreeNode * | root, |
int | numberOfNodes, | ||
const std::vector< vtkSmartPointer< vtkCompositeDataSet > > * | buildings, | ||
const std::string & | textureBaseDirectory, | ||
const std::string & | propertyTextureFile, | ||
bool | saveTextures, | ||
bool | contentGLTF, | ||
bool | contentGLTFSaveGLB, | ||
const char * | crs, | ||
const std::string & | outputDir | ||
) |
Constructors for buildings, points and meshes.
TreeInformation::TreeInformation | ( | vtkIncrementalOctreeNode * | root, |
int | numberOfNodes, | ||
vtkPointSet * | points, | ||
bool | contentGLTF, | ||
bool | contentGLTFSaveGLB, | ||
const char * | crs, | ||
const std::string & | output | ||
) |
Constructors for buildings, points and meshes.
TreeInformation::TreeInformation | ( | vtkIncrementalOctreeNode * | root, |
int | numberOfNodes, | ||
vtkPolyData * | mesh, | ||
const std::string & | textureBaseDirectory, | ||
const std::string & | propertyTextureFile, | ||
bool | saveTextures, | ||
bool | contentGLTF, | ||
bool | contentGLTFSaveGLB, | ||
const char * | crs, | ||
const std::string & | output | ||
) |
Constructors for buildings, points and meshes.
void TreeInformation::PrintNode | ( | vtkIncrementalOctreeNode * | node | ) |
|
inline |
Returns the bounds for node with index 'i' The versions that returns a bool returns true if the node is not empty, false otherwise.
For the third version we read the node index from 'node'.
Definition at line 67 of file TreeInformation.h.
bool TreeInformation::GetNodeTightBounds | ( | int | i, |
double * | bounds | ||
) |
Returns the bounds for node with index 'i' The versions that returns a bool returns true if the node is not empty, false otherwise.
For the third version we read the node index from 'node'.
|
static |
Returns the bounds for node with index 'i' The versions that returns a bool returns true if the node is not empty, false otherwise.
For the third version we read the node index from 'node'.
void TreeInformation::AddGeometricError | ( | vtkPolyData * | representation | ) |
Adds a node geometric error cell attribute for the bounding box representation for nodes on a level.
Works on the poly data generated for a tree level by vtkIncrementalOctrePointLocator::GenerateRepresentation.
void TreeInformation::Compute | ( | ) |
Computes the additional information for all nodes.
This includes the tight bounding box around the buildings, if the node is empty or not, and the geometric error.
void TreeInformation::SaveTilesBuildings | ( | bool | mergeTilePolyData, |
size_t | mergedTextureWidth | ||
) |
void TreeInformation::SaveTilesMesh | ( | ) |
void TreeInformation::SaveTilesPoints | ( | ) |
void TreeInformation::SaveTileset | ( | const std::string & | output | ) |
|
static |
|
inlinestatic |
Definition at line 90 of file TreeInformation.h.
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Computes the additional information for 'node'.
This includes the tight bounding box around the buildings, if the node is empty or not, and the geometric error.
|
protected |
Computes the additional information for 'node'.
This includes the tight bounding box around the buildings, if the node is empty or not, and the geometric error.
|
protected |
|
protected |
|
protected |
|
protected |
Compute the texture image for the tile and recompute texture coordinates.
|
protected |
|
protected |
Compute geometric error for the tileset and for a node.
|
protected |
Compute geometric error for the tileset and for a node.
|
protected |
Compute geometric error for the tileset and for a node.
|
protected |
Compute geometric error for the tileset and for a node.
|
protected |
Compute geometric error for the tileset and for a node.
|
protected |
Compute geometric error for the tileset and for a node.
|
protected |
Compute geometric error for the tileset and for a node.
|
protected |
Compute geometric error for the tileset and for a node.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Execute the passed functor for each polydata.
The functor returns true if it should continue execution. The function returns true if it executed for all polydata inside each building.