Click or drag to resize
SoLDMNodeFrontManager Class

LDM Node Front Manager abstract base class.

Inheritance Hierarchy

Namespace: OIV.LDM
Assembly: OIV.LDM (in OIV.LDM.dll) Version: 9.9.13.0 (9.9.13.0)
Syntax
public class SoLDMNodeFrontManager : SoLDMLargeDataManagement

The SoLDMNodeFrontManager type exposes the following members.

Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodGeomChangeNotify
Calls GeomChangeNotify(false).
Public methodGeomChangeNotify(Boolean)

Notifies SoLDMNodeFrontManager that it's necessary to re-evaluate the data structure due to geometry or property changes.

Public methodGetDataTileID

Given a tileID, returns the tileID whose data will be used for the input tileID.

Public methodGetFileID

Returns the file ID corresponding to the specified tile ID (ID of the tile in the file).

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

return the maximum tileID at a given depth.

Public methodGetMinResolution

Returns how many different subsample levels of the data set the data stores.

Public methodGetNextLoadedStepLevel

Return the level of the next time step.

Public methodGetNextShape2dTexFront(SoLdmShape, ListSoLDMTileID, ListSoLDMTileID)

Same as getNextTexFront but for 2d shapes.

Public methodGetNextShape2dTexFront(SoLdmShape, Queue, Queue) Obsolete.

Same as getNextTexFront but for 2d shapes.

Public methodGetNextSkinTexFront(Queue, Queue, Queue) Obsolete.

Same as getNextTexFront but for skin geometry.

Public methodGetNextSkinTexFront(ListSoLDMTileID, ListSoLDMTileID, ListSbBox3i32)

Same as getNextTexFront but for skin geometry.

Public methodGetNextSliceTexFront(Int32, ListSoLDMTileID, ListSoLDMTileID)

Returns the next set of 2D tiles to load and unload for slice texturing of slice sliceID.

Public methodGetNextSliceTexFront(Int32, Queue, Queue) Obsolete.

Returns the next set of 2D tiles to load and unload for slice texturing of slice sliceID.

Public methodGetNextTexFront(Queue, Queue) Obsolete.
Calls GetNextTexFront(toLoad, toUnload, System.Int32(0)).
Public methodGetNextTexFront(ListSoLDMTileID, ListSoLDMTileID)
Calls GetNextTexFront(toLoad, toUnload, System.Int32(0)).
Public methodGetNextTexFront(Queue, Queue, Int32) Obsolete.

Returns the list of tiles to unload from texture memory and the list of tiles to load into texture memory.

Public methodGetNextTexFront(ListSoLDMTileID, ListSoLDMTileID, Int32)

Returns the list of tiles to unload from texture memory and the list of tiles to load into texture memory.

Public methodGetNumFileIDs

Returns the total number of file IDs used ( < getNumTileIDs() ).

Public methodGetNumTileIDs
Returns the total number of tile IDs used.
Public methodGetOrderedDataFront(SbVec3i32, ListSoLDMTileID)

Returns the data front tiles sorted according to distance from the viewpoint in data coordinates.

Public methodGetOrderedDataFront(SbVec3i32, Queue) Obsolete.

Returns the data front tiles sorted according to distance from the viewpoint in data coordinates.

Public methodGetOrderedShape2dTexFront(SoLdmShape, SbVec3i32, ListSoLDMTileID)

Same as getOrderedTexFront but for 2d shapes slice geometry.

Public methodGetOrderedShape2dTexFront(SoLdmShape, SbVec3i32, Queue) Obsolete.

Same as getOrderedTexFront but for 2d shapes slice geometry.

Public methodGetOrderedSkinTexFront(SbVec3i32, ListSoLDMTileID)

Same as getOrderedTexFront but for skin geometry.

Public methodGetOrderedSkinTexFront(SbVec3i32, Queue) Obsolete.

Same as getOrderedTexFront but for skin geometry.

Public methodGetOrderedTexFront(SbVec3i32, ListSoLDMTileID)

Returns the texture front tiles sorted according to distance from the viewpoint in data coordinates.

Public methodGetOrderedTexFront(SbVec3i32, Queue) Obsolete.

Returns the texture front tiles sorted according to distance from the viewpoint in data coordinates.

Public methodGetShape2dTexTileID

Same thing as getTexTileID but for a 2d shape.

Public methodGetTexFront(Queue, Queue) Obsolete.

Returns the list of tiles unloaded from texture memory and the list of tiles loaded into texture memory by a previous getNextTexFront.

Public methodGetTexFront(ListSoLDMTileID, ListSoLDMTileID)

Returns the list of tiles unloaded from texture memory and the list of tiles loaded into texture memory by a previous getNextTexFront.

Public methodGetTexTileID

Given a tileID, returns the tileID whose texture will be used for the input tileID.

Public methodGetTileID(SbVec3i32)
Calls GetTileID(cellPos, System.Int32(0)).
Public methodGetTileID(SbVec3i32, Int32)

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

Public methodGetTileLevel

return the depth of the given tileID.

Public methodGetTilePos

Returns the tile position in data coordinates of the specified tile ID.

Public methodGetTiles(SbBox3i32, ListSoLDMTileID)

Returns the list of tiles intersecting the specified region.

Public methodGetTiles(SbBox3i32, Queue) Obsolete.

Returns the list of tiles intersecting the specified region.

Public methodGetTiles(SbBox3i32, Int32, ListSoLDMTileID)

Given a resolution, returns the list of tiles intersecting the specified region.

Public methodGetTiles(SbBox3i32, Int32, Queue) Obsolete.

Given a resolution, returns the list of tiles intersecting the specified region.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetWeight

Utility function to get a tile's weight.

Public methodIsSliceTexFrontEmpty

Indicates if there is no texture to be loaded yet because nothing is in main memory.

Public methodIsTextureFrontEmpty

Indicates if there is no texture to be loaded yet because nothing is in main memory.

Public methodMovingChangeNotify

Notifies SoLDMNodeFrontManager if the user is interacting with the scene or not.

Public methodRegisterSlice

This function must be called by a slice to notify the nodeFrontManager that a new data structure must be maintained for it.

Public methodReset

The reset function is useful when using a customized LDM manager.

(Inherited from SoLDMLargeDataManagement.)
Public methodReset2dTexFronts
Public methodResourceChangeNotify

Notifies SoLDMNodeFrontManager that texture resources have changed and the front needs to be recalculated.

Public methodSetSliceMaxVisualResolution

Set the maximum display resolution of slice sliceID.

Public methodSetSlicePlane

Tells SoLDMNodeFrontManager what plane the slice is in.

Public methodShouldInit

Indicates that the manager should be initialized.

Public methodStartTraversalNotify

This function is called at the beginning of each traversal and can be used to initialize whatever variables are necessary for the SoLDMNodeFrontManager.

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

Notifies SoLDMNodeFrontManager that the slice of ID sliceID is no longer valid.

Top
Remarks

This class is only needed for advanced users who intend to extend or replace internal LDM algorithms.

<font color="#0000FF">NOTE:</font> This class does not exist in Open Inventor 10.0 and later.

The SoLDMNodeFrontManager is in charge of maintaining a data structure representing the multiresolution organization of the data stored on disk and the state of this data in main memory for a specific frame (tiles loaded in main memory and their importance and attributes for rendering).

The set of tiles of higher weights in this data structure represent the best available textures to fit in texture memory for the frame to render. This collection is the result of the data structure evaluation.

An evaluation of the structure is performed when LDM asks (getNextTexFront, getNextSliceTexFront, getOrderedDataFront) for an update of the texture node front and if the SoLDMNodeFrontManager was previously notified that something changed (geomChangeNotify, resourceChangeNotify, movingChangeNotify) e.g., some geometry has changed, some new tiles have been loaded, etc.

The SoLDMNodeFrontManager asks the SoLDMTileVisitor to compute the weight of each node. Based on these weights, decisions are made to either refine (load tiles of higher resolution) or collapse the multiresolution system (unload). The SoLDMNodeFrontManager works under constraints given by the SoLDMResourceManager (number of texture allowed in texture memory and texture load rate).

If the user does not interact with the model, the quality of the rendering will increase until it reaches an optimal state. The asynchronous loading process continues loading until the weight of the next tile to load is less than the weight of the next tile to unload meaning that the optimal collection of tiles is present in main memory and in texture memory.

See Also