25#ifndef LDM_RESOURCE_PARAMETER_H 
   26#define LDM_RESOURCE_PARAMETER_H 
   29#pragma warning( push ) 
   30#pragma warning(disable:4251) 
   33#include <Inventor/fields/SoFieldContainer.h> 
   34#include <Inventor/fields/SoSubFieldContainer.h> 
   36#include <Inventor/fields/SoSFString.h> 
   37#include <Inventor/fields/SoSFUShort.h> 
   38#include <Inventor/fields/SoSFInt32.h> 
   39#include <Inventor/fields/SoSFFloat.h> 
   40#include <Inventor/fields/SoSFBool.h> 
   41#include <Inventor/fields/SoSFEnum.h> 
   42#include <Inventor/fields/SoSFString.h> 
   43#include <Inventor/fields/SoSFVec3i32.h> 
   45#include <Inventor/SbBox.h> 
   47#include <Inventor/STL/vector> 
   48#include <Inventor/STL/cassert> 
   52class SoLDMTileVisitor;
 
  703  typedef struct GeomPriority
 
  717  void copyParameters(SoLDMMediator *mediator);
 
  722  void fprintfResourceManager(FILE *f);
 
  727  void invalidateData();
 
  735  void setNumTiles(
int numTiles);
 
  752  bool isReportDisabled();
 
  753  void setReportDisabled(
bool flag);
 
  755  int getNumTilesLoaded();
 
  757  void setToReport(
bool flag);
 
  758  void increaseNumTilesLoaded();
 
  759  void decreaseNumTilesLoaded();
 
  760  void resetNumTilesLoaded();
 
  761  void resetFixedResVar();
 
  765  void enableParamsNotify(
SbBool state);
 
  767  virtual void notify(SoNotList*);
 
  776  inline void forceFixedResolution(
bool flag);
 
  782  inline bool isFixedResolutionForced() 
const;
 
  810  SoSFInt32 overlapping;
 
  826  SoSFInt32 maxTilesInMainMem;
 
  838  SoSFInt32 maxTilesInTexMem;
 
  853  SoSFBool fixedParams;
 
  878  SoSFInt32 max2DTextures;
 
  889  bool m_forceFixedResolution;
 
  898  void updateTileHalfLife(
float timeInSec);
 
  899  void updateTileSize();
 
  900  void updateMaxResolutionThreshold( 
int threshold );
 
  901  void updateMinResolutionThreshold( 
int threshold );
 
  904  void updateDisableFixedResolutionMode();
 
  910  int  m_numTilesLoaded;
 
  911  int  m_numTilesNeeded;
 
  913  bool m_reportDisable;
 
  915  bool m_bLdmParamDebug;
 
  918  int m_previousMinThreshold;
 
  923  SoLDMTileVisitor*  m_fixedResVisitor;
 
  924  SoLDMTileVisitor*  m_beforeFixedResVisitor;
 
  925  bool m_beforeFixedResVisitorFlag;
 
  927  float m_movingTimeOut; 
 
  929  std::vector<GeomPriority> m_geomPriority;
 
  930  int getGeometryIndex(
SoType geometryType);
 
  932  static bool s_artForceFixed;
 
 
  937SoLDMResourceParameters::isReportDisabled()
 
  939  return m_reportDisable;
 
  944SoLDMResourceParameters::setReportDisabled(
bool flag)
 
  946  m_reportDisable = flag;
 
  951SoLDMResourceParameters::getFixedResCB()
 
  958SoLDMResourceParameters::getNumTilesLoaded()
 
  960  return m_numTilesLoaded;
 
  965SoLDMResourceParameters::toReport()
 
  972SoLDMResourceParameters::setToReport(
bool flag)
 
  979SoLDMResourceParameters::increaseNumTilesLoaded()
 
  986SoLDMResourceParameters::decreaseNumTilesLoaded()
 
  993SoLDMResourceParameters::resetNumTilesLoaded()
 
  995  m_numTilesLoaded = 0;
 
 1002  m_resourceMgr = resourceManager;
 
 1015SoLDMResourceParameters::forceFixedResolution(
bool flag)
 
 1017  m_forceFixedResolution = flag;
 
 1022SoLDMResourceParameters::isFixedResolutionForced()
 const 
 1024  return m_forceFixedResolution || s_artForceFixed;
 
 1031#pragma warning( pop ) 
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a>  3D box class.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a>  Data set...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a>  Resource...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a>  Defines ...
SoSFInt32 numPrefetchThread
Number of threads used by the tile prefetch mechanism.
ViewpointRefinementPolicy
Viewpoint refinement policies.
@ VIEWPOINT_REFINEMENT_ON
The refinement of tiles will depend on the viewpoint.
@ VIEWPOINT_REFINEMENT_INHERITED_FROM_GLOBAL
The refinement of tiles will depend on the viewpoint or not according to the flag returned by SoLDMGl...
@ VIEWPOINT_REFINEMENT_OFF
Viewpoint will not affect tile loading priorities.
SoSFBool tileBorders
Defines whether or not to generate borders around tiles.
SoSFInt32 minTilesToLoad
Minimum number of tiles that must be loaded in memory before rendering.
void enableFixedResolutionMode(int resolution, FixedResolutionCB *func)
This method is used to specify a  callback  that gives feedback while the rendering tries to reach an...
SoSFInt32 resolution
Specifies the resolution level when fixedResolution is TRUE.
int getDataSize()
Gets the size of a voxel in bytes.
SbBool getGeometryPriority(SoType geometryType, float &priority)
Returns the priority of the specified geometry type.
SoSFInt32 minResolutionThreshold
Minimum loading threshold for LDM module.
SoSFVec3i32 subTileDimension
Size of subtiles used by some accelerated algorithms.
SoSFEnum viewpointRefinementPolicy
Defines the viewpoint refinement policy.
TileCachePolicy
Tile cache management policy.
@ NONE
For non-tiled data such as DICOM or SEGY or an in-memory volume, tiles are created when needed (to se...
@ LOWRES_ONLY
For non-tiled data such as DICOM or SEGY or in-memory volume, tiles are created when needed (to send ...
@ ALL
For non-tiled data such as DICOM or SEGY or in-memory volume, tiles are created when needed (to send ...
SoSFInt32 loadNotificationRate
Tile loading notification rate.
ScreenResolutionCullingPolicy
Screen resolution culling policies.
@ SCREEN_RESOLUTION_CULLING_INHERITED_FROM_GLOBAL
Screen resolution culling will be enabled or not according to the flag returned by SoLDMGlobalResourc...
@ SCREEN_RESOLUTION_CULLING_ON
Screen resolution culling is enabled.
@ SCREEN_RESOLUTION_CULLING_OFF
Screen resolution culling is disabled.
SoSFInt32 maxTexMemory
Maximum allowed texture (GPU) memory in MB for this data set.
SoSFInt32 max2DTexMemory
Maximum of 2D textures memory in MB for this data set.
SoSFInt32 maxMainMemory
Maximum allowed main memory in MB that LDM is allowed to use for this data set.
SoLDMResourceParameters()
Constructor.
SoSFFloat tileHalfLife
Tile half-life (seconds).
SoSFInt32 tex3LoadRate
Maximum number of 3D tiles to be loaded into texture memory per frame for this data set.
SoSFVec3i32 tileDimension
Sets the tile size.
SoSFBool fixedResolution
Specifies if a single resolution or several resolutions are used when the rendering is stabilized.
SoSFEnum tileCachePolicy
Specify how LDM store the tiles in memory.
float getMovingTimeOut()
Returns the amount of time during which LDM continues not loading data once a user stops interaction.
LoadPolicy
Tile Load Policy.
@ NO_USER_INTERACTION
Load tiles only when when there is no user interaction, i.e., application idles.
@ ALWAYS
Always load tiles.
void FixedResolutionCB(FixedResolutionReport &, void *)
When fixedResolution is TRUE and resolution is not -1, this  callback  is used by the application to ...
SoSFInt32 maxResolutionThreshold
Maximum loading threshold for the LDM module.
SoSFInt32 tex2LoadRate
Maximum number of 2D tiles to be loaded in texture memory per frame.
void setMovingTimeOut(float timeout)
Sets the amount of time (in seconds) during which LDM continues not loading once a user stops interac...
void setGeometryPriority(SoType geometryType, float priority)
Sets the importance of one type of geometry relative to others.
virtual ~SoLDMResourceParameters()
Destructor.
friend class SoLDMResourceManager
Sets the tile overlap value (number of voxels) for non-LDM data.
SoSFEnum loadPolicy
Tile loading policy.
SoSFEnum screenResolutionCullingPolicy
Defines the screen resolution culling policy.
Field containing a single Boolean value.
Field containing an enumerated value.
Field containing a floating-point value.
Field containing a int32_t integer.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a>  Field containing...
Stores runtime type information.
This structure returns information to the application when fixedResolution is TRUE and resolution is ...
int numTilesLoaded
Number of tiles LDM has already loaded.
int numTilesToLoad
How many tiles need to be loaded.
ReportCode what
Report code.
int numTilesToAdd
How many more tiles need to be allowed in main memory.
ReportCode
Available report code.
@ ABORT
If LDM cannot grant a fixed resolution request, the  callback  function is called with an ABORT repor...
@ PROGRESS
Loading in progress.