VTK  9.2.6
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
TreeInformation Class Reference

Additional information and routins 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. More...
 
void Compute ()
 Computes the additional information for all nodes. More...
 
void SaveTilesBuildings (bool mergeTilePolyData)
 
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, bool saveTextures, bool contentGLTF, const char *crs, const std::string &outputDir)
 Constructors for buildings, points and meshes. More...
 
 TreeInformation (vtkIncrementalOctreeNode *root, int numberOfNodes, vtkPointSet *points, bool contentGLTF, const char *crs, const std::string &output)
 Constructors for buildings, points and meshes. More...
 
 TreeInformation (vtkIncrementalOctreeNode *root, int numberOfNodes, vtkPolyData *mesh, const std::string &textureBaseDirectory, bool saveTextures, bool contentGLTF, const char *crs, const std::string &output)
 Constructors for buildings, points and meshes. More...
 

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)
 
vtkSmartPointer< vtkImageData > ComputeTileMeshTexture (vtkPolyData *tileMesh, vtkImageData *textureImage)
 Compute the texture image for the tile and recompute texture coordinates. More...
 
void SaveTilePoints (vtkIncrementalOctreeNode *node, void *auxData)
 
std::array< double, 6 > ComputeTightBB (vtkIdList *tileBuildings)
 
std::string ContentTypeExtension () const
 
void Initialize ()
 
double GetRootLength2 ()
 
void VisitCompute (vtkIncrementalOctreeNode *node, void *aux)
 Computes the additional information for 'node'. More...
 
void VisitComputeGeometricError (vtkIncrementalOctreeNode *node, void *aux)
 Computes the additional information for 'node'. More...
 
double ComputeGeometricErrorTilesetBuildings ()
 Compute geometric error for the tileset and for a node. More...
 
double ComputeGeometricErrorTilesetPoints ()
 Compute geometric error for the tileset and for a node. More...
 
double ComputeGeometricErrorTilesetMesh ()
 Compute geometric error for the tileset and for a node. More...
 
double ComputeGeometricErrorTileset ()
 Compute geometric error for the tileset and for a node. More...
 
double ComputeGeometricErrorNodeBuildings (vtkIncrementalOctreeNode *node, void *aux)
 Compute geometric error for the tileset and for a node. More...
 
double ComputeGeometricErrorNodePoints (vtkIncrementalOctreeNode *node, void *aux)
 Compute geometric error for the tileset and for a node. More...
 
double ComputeGeometricErrorNodeMesh (vtkIncrementalOctreeNode *node, void *aux)
 Compute geometric error for the tileset and for a node. More...
 
double ComputeGeometricErrorNode (vtkIncrementalOctreeNode *node, void *aux)
 Compute geometric error for the tileset and for a node. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

Additional information and routins for 3D Tiles octree nodes.

Additional information for all nodes in the octree used to generate the 3D Tiles representation.

Definition at line 45 of file TreeInformation.h.

Constructor & Destructor Documentation

TreeInformation::TreeInformation ( vtkIncrementalOctreeNode *  root,
int  numberOfNodes,
const std::vector< vtkSmartPointer< vtkCompositeDataSet >> *  buildings,
const std::string &  textureBaseDirectory,
bool  saveTextures,
bool  contentGLTF,
const char *  crs,
const std::string &  outputDir 
)

Constructors for buildings, points and meshes.

TreeInformation::TreeInformation ( vtkIncrementalOctreeNode *  root,
int  numberOfNodes,
vtkPointSet *  points,
bool  contentGLTF,
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,
bool  saveTextures,
bool  contentGLTF,
const char *  crs,
const std::string &  output 
)

Constructors for buildings, points and meshes.

Member Function Documentation

void TreeInformation::PrintNode ( vtkIncrementalOctreeNode *  node)
std::array<double, 6> TreeInformation::GetNodeTightBounds ( int  i)
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 71 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 bool TreeInformation::GetNodeTightBounds ( void *  data,
vtkIncrementalOctreeNode *  node,
double *  bounds 
)
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)
void TreeInformation::SaveTilesMesh ( )
void TreeInformation::SaveTilesPoints ( )
void TreeInformation::SaveTileset ( const std::string &  output)
static void TreeInformation::PrintBounds ( const char *  name,
const double *  bounds 
)
static
static void TreeInformation::PrintBounds ( const std::string &  name,
const double *  bounds 
)
inlinestatic

Definition at line 94 of file TreeInformation.h.

static std::array<double, 6> TreeInformation::ExpandBounds ( double *  first,
double *  second 
)
static
void TreeInformation::PostOrderTraversal ( void(TreeInformation::*)(vtkIncrementalOctreeNode *node, void *aux)  Visit,
vtkIncrementalOctreeNode *  node,
void *  aux 
)
protected
void TreeInformation::PreOrderTraversal ( void(TreeInformation::*)(vtkIncrementalOctreeNode *node, void *aux)  Visit,
vtkIncrementalOctreeNode *  node,
void *  aux 
)
protected
void TreeInformation::SaveTileset ( vtkIncrementalOctreeNode *  root,
const std::string &  output 
)
protected
nlohmann::json TreeInformation::GenerateTileJson ( vtkIncrementalOctreeNode *  node)
protected
bool TreeInformation::ConvertTileCartesianBuildings ( vtkIncrementalOctreeNode *  node)
protected
bool TreeInformation::ConvertDataSetCartesian ( vtkPointSet *  points)
protected
void TreeInformation::VisitCompute ( vtkIncrementalOctreeNode *  node,
void *  aux 
)
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.

void TreeInformation::VisitComputeGeometricError ( vtkIncrementalOctreeNode *  node,
void *  aux 
)
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.

void TreeInformation::SaveTileBuildings ( vtkIncrementalOctreeNode *  node,
void *  auxData 
)
protected
void TreeInformation::SaveTileMesh ( vtkIncrementalOctreeNode *  node,
void *  auxData 
)
protected
vtkSmartPointer<vtkImageData> TreeInformation::ComputeTileMeshTexture ( vtkPolyData *  tileMesh,
vtkImageData *  textureImage 
)
protected

Compute the texture image for the tile and recompute texture coordinates.

void TreeInformation::SaveTilePoints ( vtkIncrementalOctreeNode *  node,
void *  auxData 
)
protected
double TreeInformation::ComputeGeometricErrorTilesetBuildings ( )
protected

Compute geometric error for the tileset and for a node.

double TreeInformation::ComputeGeometricErrorTilesetPoints ( )
protected

Compute geometric error for the tileset and for a node.

double TreeInformation::ComputeGeometricErrorTilesetMesh ( )
protected

Compute geometric error for the tileset and for a node.

double TreeInformation::ComputeGeometricErrorTileset ( )
protected

Compute geometric error for the tileset and for a node.

double TreeInformation::ComputeGeometricErrorNodeBuildings ( vtkIncrementalOctreeNode *  node,
void *  aux 
)
protected

Compute geometric error for the tileset and for a node.

double TreeInformation::ComputeGeometricErrorNodePoints ( vtkIncrementalOctreeNode *  node,
void *  aux 
)
protected

Compute geometric error for the tileset and for a node.

double TreeInformation::ComputeGeometricErrorNodeMesh ( vtkIncrementalOctreeNode *  node,
void *  aux 
)
protected

Compute geometric error for the tileset and for a node.

double TreeInformation::ComputeGeometricErrorNode ( vtkIncrementalOctreeNode *  node,
void *  aux 
)
protected

Compute geometric error for the tileset and for a node.

std::array<double, 6> TreeInformation::ComputeTightBB ( vtkIdList *  tileBuildings)
protected
std::string TreeInformation::ContentTypeExtension ( ) const
protected
void TreeInformation::Initialize ( )
protected
double TreeInformation::GetRootLength2 ( )
protected

The documentation for this class was generated from the following file: