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< vtkImageDataComputeTileMeshTexture (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: