SoLDMTopoOctree Class Reference
[Kernel]

Large Data Management Octree topology queries More...

#include <LDM/SoLDMTopoOctree.h>

Inherited by SoVRLdmFileBorderReader::SoLDMBorderTopoOctree.

List of all members.

Public Member Functions

 SoLDMTopoOctree ()
void init (const SbVec3i32 &dimension, const int tileDim, const int border=0)
SbBox3i32 getTilePos (const SoLDMTileID &tileID) const
SoLDMTileID getTileID (const SbVec3i32 &cellPos, const int resolution) const
int getNumFileIDs () const
int getFileID (const SoLDMTileID &tileID) const
SoLDMTileID getTileID (const int fileID) const
bool isEmpty () const
int getLevelMax () const
int level (const SoLDMTileID &id) const
SbVec3i32 getTileSize () const

Detailed Description

Large Data Management Octree topology queries

The SoLDMTopoOctree class provides information about the hierarchy of LDM tiles used for a given dataset, based on the dataset dimensions.

For example you can query the total number of LDM tiles in the data set. You can also query the ID of the tile that contains a specified voxel/cell in the data set and conversely you can query the extent of a specified tile in voxel/cell coordinates.

In VolumeViz LDM every tile has both a tileID and a fileID. The tileID is the unique identifier of a tile in the (conceptual) complete, symmetrical hierarchy. The fileID is the index of a tile in a sequential numbering of all the tiles that actually contain data. The tileID is normally used to identify tiles in an application, but the fileID is used, for example, when calling the readTile method in an SoVolumeReader class. In a cubical volume (all three dimensions the same), there are equal numbers of tileIDs and fileIDs, but in most volumes there are many fewer fileIDs than tileIDs.

SEE ALSO

SoLDMTileID


Constructor & Destructor Documentation

SoLDMTopoOctree::SoLDMTopoOctree (  ) 

Constructor.


Member Function Documentation

int SoLDMTopoOctree::getFileID ( const SoLDMTileID tileID  )  const [inline]

Given a tileID, returns the corresponding fileID.

int SoLDMTopoOctree::getLevelMax (  )  const

Return the level max of the Octree.

Note: Octree must be initialized

int SoLDMTopoOctree::getNumFileIDs (  )  const

Returns the number of fileIDs in the volume.

Effectively this is the total number of tiles, including both full resolution and low resolution, required to store the data set.

SoLDMTileID SoLDMTopoOctree::getTileID ( const int  fileID  )  const

Given a fileID, returns the corresponding tileID.

SoLDMTileID SoLDMTopoOctree::getTileID ( const SbVec3i32 cellPos,
const int  resolution 
) const

Given the position of a voxel/cell (i,j,k) and the resolution level, returns the tile ID of the corresponding tile.

SbBox3i32 SoLDMTopoOctree::getTilePos ( const SoLDMTileID tileID  )  const

Returns the bounding box, in voxel/cell coordinates, of the specified tile.

SbVec3i32 SoLDMTopoOctree::getTileSize (  )  const [inline]

Return the tilesize used to setup this octree.

void SoLDMTopoOctree::init ( const SbVec3i32 dimension,
const int  tileDim,
const int  border = 0 
)

Initialize with the properties of the data set.

Note: Since OIV 9.0, the border parameter is no longer used.

bool SoLDMTopoOctree::isEmpty (  )  const [inline]

Returns false if the octree is empty.

Note: Octree must be initialized.

int SoLDMTopoOctree::level ( const SoLDMTileID id  )  const [inline]

Returns the resolution level of the given tile Id Note: Octree must be initialized.


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

Open Inventor by FEI reference manual, generated on 19 Aug 2019
Copyright © FEI S.A.S. All rights reserved.
http://www.openinventor.com/