Click or drag to resize
SoLDMTopoOctree Class

Octree topology queries.

Inheritance Hierarchy
SystemObject
  OIV.InventorSoNetBase
    OIV.LDMSoLDMTopoOctree

Namespace: OIV.LDM
Assembly: OIV.LDM (in OIV.LDM.dll) Version: 2024.1.0.0 (2024.1.0)
Syntax
public class SoLDMTopoOctree : SoNetBase

The SoLDMTopoOctree type exposes the following members.

Constructors
  NameDescription
Public methodSoLDMTopoOctree

Constructor.

Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodGetFileID

Given a tileID, returns the corresponding fileID.

Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetLevelMax

Returns the maximum level of the octree tile hierarchy.

Public methodGetNumFileIDs

Returns the number of fileIDs in the volume.

Public methodGetNumTileIDs

Returns the number of tileIDs in the complete (conceptual) octree.

Public methodGetTileID(Int32)

Given a fileID, returns the corresponding tileID.

Public methodGetTileID(SbVec3i32, Int32)

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

Public methodGetTilePos

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

Public methodGetTileSize

Return the tilesize used to setup this octree.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInit(SbVec3i32, SbVec3i32)
Calls Init(dimension, tileDim, System.Int32(0)).
Public methodInit(SbVec3i32, Int32)
Calls Init(dimension, tileDim, System.Int32(0)).
Public methodInit(SbVec3i32, SbVec3i32, Int32)

Initialize with the properties of the data set.

Public methodInit(SbVec3i32, Int32, Int32)

Initialize with the properties of the data set.

Public methodIsEmpty

Returns false if the octree is empty.

Public methodLevel(Int64)

Returns the tile level of the given tile Id.

Public methodLevel(SoLDMTileID)

Returns the tile level of the given tile Id.

Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

The OIV.LDM.SoLDMTopoOctree class provides information about the hierarchy of LDM tiles used for a given dataset, which depends only on the dataset dimensions and the tile dimensions.

For example, an application can query the total number of LDM tiles in a data set, the number of resolution levels in the LDM tile hierarchy, the id of the tile that contains a specified voxel position, the position and extent of a specified tile id, and more. An application can conveniently query the OIV.LDM.SoLDMTopoOctree for an actual data set using the OIV.LDM.Nodes.SoDataSet.GetLDMTopoOctree() method or create an LDMTopoOctree object with any specified dimensions. In the latter case, the LDMTopoOctree must be initialized using the OIV.LDM.SoLDMTopoOctree.Init(OIV.Inventor.SbVec3i32, OIV.Inventor.SbVec3i32, System.Int32) method.

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 OIV.LDM.Readers.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.

The terms 'resolution' and 'level' are both used in this class to identify a specific level in the LDM tile hierarchy.

  • Resolution level is counted up from the bottom. So resolution level 0 is the full resolution tiles. The OIV.LDM.SoLDMTopoOctree.GetTileID(OIV.Inventor.SbVec3i32, System.Int32) method takes resolution level as a parameter.

  • Tile level is counted down from the top. So tile level 0 is the lowest resolution tile (tile 0) at the top of the hierarchy. The OIV.LDM.SoLDMTopoOctree.Level(OIV.LDM.SoLDMTileID) method returns the tile level, not the resolution level.

  • Conversion: tileLevel = OIV.LDM.SoLDMTopoOctree.GetLevelMax() - resolutionLevel.

See Also