SoLDMTileManager Class |
Namespace: OIV.LDM
The SoLDMTileManager type exposes the following members.
Name | Description | |
---|---|---|
![]() | CheckResidencyAndUpdateWeight |
Returns whether the input tile resides in memory and update its weight.
Called when the tile visitor evaluates the topology.
The input weight is an indication of how VolumeViz prioritize data for the current
scene state. Tiles of higher weight should arrive in memory first.
Note that the root tile must always resides in memory.
|
![]() | EndNumDataNotify(Boolean, Boolean) | |
![]() | EndNumDataNotify(Boolean, Boolean, Boolean) | |
![]() | EndTransaction |
Notify a transaction has ended.
|
![]() | Equals | (Inherited from Object.) |
![]() | FlushTilesOfRes |
Flush tiles of a given resolution from memory pool.
Called only if the fixedResolution LDM mode is ON or if the maximum resolution threshold changes
(See LDMResourceParameter).
|
![]() | GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) |
![]() | GetLdmSliceAccessor |
Return an instance of slice accessor handling the data corresponding to the given volume id.
Called when rendering an SoOrthoSlice.
When subclassing from the tile manager there is no immediate need to redefine the functions of the
slice accessor. VolumeViz already handles the extraction of the buffer from the 3D tile.
One can simply use the LDMDefaultSliceAccessor.
|
![]() | GetMemoryUsed |
This function is only used if in multiple data mode.
There was a scene graph change in multiple data mode and only one tile manager must remain
for all volume data involved. VolumeViz will keep the one that has loaded the more data.
|
![]() | GetMinMax |
Gets minimun and maximum value of a tile data.
The returned value indicates whether it has been calculated yet or in other words, if the tile
was ever loaded.
Only called if ignoring the fully transparent tiles (see SoVolumeRendering).
|
![]() | GetTile |
Gets the data buffer associated with a tile for a given volume. VolumeViz expects the data to be stored
as a stack of slices along the Z Inventor axis.
Called after texture front evaluation. Only called on tiles that the tile manager declared as
resident in memory. The input tileID has been called previously by the IsInMemory function
and the answer was true.
|
![]() | GetTileData(Queue, Int32*, UInt16) | Obsolete. |
![]() | GetTileData(Queue, Int32*, UInt16, SoLDMDataAccess) |
This function must ensure that all the data associated with the input set of tiles is loaded in
main memory when returning. The data associated to a given tileID must be locked in memory
until ReleaseTileData is called.
Called when using the data access functions (GetData) from the LDMDataAccess (see SoVolumeData).
|
![]() | GetTileDimension |
Get Tile dimension. For the default topology (octree) this function should
always return the same size.
|
![]() | GetTileExt |
This function must return the data associated to the given tileID and volumeDataId
but it must be stored as a stack of slice along the X Inventor axis.
Only called if the useExtendedData flag from SoVolumeData is TRUE. Allows equalizing performances
of axis aligned slice roaming through a volume.
|
![]() | GetTileIDInMemory |
Debug purpose only. Used for visual feedback to highlight tiles in main memory.
Only called if the SoVolumeRendering.DRAW_TOPOLOGY flag is true.
|
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Init |
Function of initialization.
|
![]() | IsDataInMemory |
Indicates whether the data attached to a tile is in main memory.
Called when the node front manager evaluates the texture front.
This allow to manage data that implement SoBufferAsyncInterface.
|
![]() | IsInMemory |
Indicates whether a tile is in main memory.
Called when the node front manager evaluates the texture front.
|
![]() | LockTile |
Set the LOCKED state to true for the given SoLDMTileID
|
![]() | LockTiles |
Set the LOCKED state to true for all tile loaded in memory
|
![]() | PrioritizeTiles |
Allows to let the user know what tiles are prioritary and should not be reset
in the resetWeight functions.
All tileIds between 0 and up to maxTileId are prioritary.
This function is called right before the resetWeight function.
|
![]() | ReleaseTileData(SoLDMTileID) |
Allows releasing data associated to a given tileID from memory.
If supported volumeDataId allows to choose which volume data should be release.
-1 means all volumes in the MultiDataSeparator.
|
![]() | ReleaseTileData(SoLDMTileID, UInt16) | |
![]() | RequestRefetch |
Launch asynchronous request for async buffer attached to this ID.
This allow to manage data that implement SoBufferAsyncInterface.
|
![]() | RequestTileData |
This function prepares an asynchronous request and return immediately.
It must use dataAccess.GetRequestedTile() to get the requested tile list.
Returns true if the request is in fact synchronous (all tiles were already loaded).
|
![]() | Reset | The reset function is useful when using a customized LDM manager. |
![]() | ResetWeights |
Reset weights to init the topology before evaluating it. This function is called
before a topology evaluation starting with CheckResidencyAndUpdateWeight(0, weight).
|
![]() | ResourceChangeNotify |
Notification of a memory resource change.
If the application changes the main memory resource using the SoLDMResourceManager,
ResourceChangeNotify is called to notify the SoLDMTileManager that more tiles can be
loaded or some must be unloaded.
|
![]() | SetAllowLoading |
This function is called when using the NO_USER_INTERACTION mode.
This mode should essentially allow loading only when the user does not interact with the scene.
|
![]() | StartNumDataNotify | |
![]() | StartNumDataNotify(Int32) | |
![]() | StartNumDataNotify(Int32, Int32) | |
![]() | StartTransaction |
Functions to keep memory state stable when querying state.
Indicates a memory transaction is starting.
|
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | UnLockTile |
Set the LOCKED state to false for the given SoLDMTileID
|
![]() | UnLockTiles |
Set the LOCKED state to FALSE for all tiles loaded in memory
|
![]() | UpdateRegions |
Update a region of data in memory. All the tiles intersecting the regions must
be prefetched.
Called if the application uses the SoVolumeData.UpdateRegion function.
|