com.esri.arcgis.globecore
Interface IGlobeAdvancedOptions2

All Superinterfaces:
IGlobeAdvancedOptions, Serializable
All Known Implementing Classes:
GlobeAdvancedOptions

public interface IGlobeAdvancedOptions2
extends IGlobeAdvancedOptions, Serializable

Provides access to the globe data processing and management options.

Description

This interface corresponds to the Advanced button on the Cache tab of the Options dialog from the Tools menu in ArcGlobe. It is used to get and set the tile memory use for various globe data types. With this advanced option, users can now fine tune memory usage on each specific data type. This gives users a higher level of flexibility.

This interface allows you to control memory allocation per data type. GetTileMemory gives you the current and maximum allowable tile memory for each data type. There are seven data types, that can be queried for memory usage as defined in esriGlobeTileMemoryType enumeration. Use SetTileMemory to allocate maximum tile memory usage (in MegaBytes) of a of a particular data type. As a rule of thumb, more memory should be allocated to the predominant data type in the current globe session.

The SetTileMemory method becomes handy if you encounter a thrashing effect when working with data that would require large amounts of memory. A thrashing effect results from a very high system memory paging, that causes the application to spend more time in memory paging than excuting. To alleviate such problems, try lowering tile memory limit of data types that are not used while increasing the tile memory limit of the most dominant data type in your current globe session. Note that the total allocated tile memory limit of all data types should not exceed the available physical memory on a machine. In addition, it is also advised for systems that use AGP graphics cards, the total texture memory allocated should not be greater than the AGP aperture size, which normally ranges from 64 to 512 MB.

Use GetVirtualViewportSize to get the maximum internal view port size that is used to limit the level of detail (LOD) calculation. The virtual view port size corresponds to the maximum size of a viewer, where Levels of Detail will be calculated. The default value is a maximum size of 1024X768, representing the most common full screen resolution. Use SetVirtualViewportSize to set this internal viewport size to a desired value. Note that setting this value higher than the default may increase resolution at a cost of performance.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 double getLevelOfDetailBias(int type)
          The level of detail bias.
 void getTileMemory(int type, int[] pLimitMb, float[] pCurrentMb)
          Gets the tile memory limit and current usage for a specific internal data type, in Megabytes.
 void getVirtualViewportSize(int[] pWidth, int[] pHeight)
          Gets the maximum interval viewport size used for Level of Detail calculation.
 void setLevelOfDetailBias(int type, double delta)
          The level of detail bias.
 void setTileMemory(int type, int limitMb)
          Sets the tile memory limit for a specific internal data type, in Megabytes.
 void setVirtualViewportSize(int width, int height)
          Sets the maximum interval viewport size used for Level of Detail calculation..
 
Methods inherited from interface com.esri.arcgis.globecore.IGlobeAdvancedOptions
getCachePath, getClipFarFactor, getClipNear, getDefaultCompression, getLevelOfDetail, getTargetFrameRate, getTileMemorySize, getUseCache, getVectorTileSize, isDefaultUse16ColorBits, isDefaultUse16ElevBits, isLossyCompressionSupported, isManualLOD, isUpdateCacheMonthlyPrompt, restoreClipPlaneDefaults, restoreLODDefaults, setCachePath, setClipFarFactor, setClipNear, setDefaultCompression, setDefaultUse16ColorBits, setDefaultUse16ElevBits, setLevelOfDetail, setManualLOD, setTargetFrameRate, setTileMemorySize, setUpdateCacheMonthlyPrompt, setUseCache, setVectorTileSize, writeToRegistry
 

Method Detail

getTileMemory

void getTileMemory(int type,
                   int[] pLimitMb,
                   float[] pCurrentMb)
                   throws IOException,
                          AutomationException
Gets the tile memory limit and current usage for a specific internal data type, in Megabytes.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
type - A com.esri.arcgis.globecore.esriGlobeTileMemoryType constant (in)
pLimitMb - The pLimitMb (out: use single element array)
pCurrentMb - The pCurrentMb (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTileMemory

void setTileMemory(int type,
                   int limitMb)
                   throws IOException,
                          AutomationException
Sets the tile memory limit for a specific internal data type, in Megabytes.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
type - A com.esri.arcgis.globecore.esriGlobeTileMemoryType constant (in)
limitMb - The limitMb (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVirtualViewportSize

void getVirtualViewportSize(int[] pWidth,
                            int[] pHeight)
                            throws IOException,
                                   AutomationException
Gets the maximum interval viewport size used for Level of Detail calculation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pWidth - The pWidth (out: use single element array)
pHeight - The pHeight (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setVirtualViewportSize

void setVirtualViewportSize(int width,
                            int height)
                            throws IOException,
                                   AutomationException
Sets the maximum interval viewport size used for Level of Detail calculation..

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
width - The width (in)
height - The height (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLevelOfDetailBias

double getLevelOfDetailBias(int type)
                            throws IOException,
                                   AutomationException
The level of detail bias.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
type - A com.esri.arcgis.globecore.esriLODType constant (in)
Returns:
The delta
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLevelOfDetailBias

void setLevelOfDetailBias(int type,
                          double delta)
                          throws IOException,
                                 AutomationException
The level of detail bias.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
type - A com.esri.arcgis.globecore.esriLODType constant (in)
delta - The delta (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.