com.esri.arcgis.globecore
Class GlobeDisplay

java.lang.Object
  extended by com.esri.arcgis.globecore.GlobeDisplay
All Implemented Interfaces:
IViewers3D, IActiveViewEvents, IConnectionPointContainer, IDisplay, IScreenDisplay, IGlobeDisplay, IGlobeDisplay2, IGlobeDisplay3, IGlobeDisplayLayers, IGlobeDisplayLayers2, IGlobeDisplayRendering2, IGlobeDisplayUtil, IGlobeStatInfo, com.esri.arcgis.interop.RemoteObjRef, Serializable, EventListener

public class GlobeDisplay
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IGlobeDisplay3, IGlobeDisplayLayers, IGlobeDisplayLayers2, IGlobeDisplayRendering2, IActiveViewEvents, IConnectionPointContainer, IScreenDisplay, IGlobeStatInfo, IGlobeDisplayUtil

The globe display object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
GlobeDisplay()
          Constructs a GlobeDisplay using ArcGIS Engine.
GlobeDisplay(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GlobeDisplay theGlobeDisplay = (GlobeDisplay) obj;
 
Method Summary
 short addCache()
          Creates a new cache and return its ID.
 void addIGlobeDisplayEventsListener(IGlobeDisplayEvents theListener)
          addIGlobeDisplayEventsListener.
 void addLayer(ILayer pLayer)
          Adds a layer.
 void afterDraw(IActiveViewEventsAfterDrawEvent theEvent)
          Fired after the specified phase is drawn.
 void afterItemDraw(IActiveViewEventsAfterItemDrawEvent theEvent)
          Fired after an individual view item is drawn.
 void applyHeightProperties(ILayer pGLayer)
          Applies changes in height properties to the layer.
 void clear(boolean bRecycleBasicObjects)
          Clear the display objects.
 void contentsChanged(IActiveViewEventsContentsChangedEvent theEvent)
          Fired when the contents of the view changes.
 void contentsCleared(IActiveViewEventsContentsClearedEvent theEvent)
          Fired when the contents of the view is cleared.
 void countTiles(ILayer pLayer, int fromLod, int toLod, double[] pCount)
          Counts the number of possible layer tiles in the specified levels of detail.
 IEnumLayer createLayerFromGmxXML(String cachePath)
          Creates the globe layer file for the globe cache given by gmx.xml configuration file.
 void doScroll(int xDelta, int yDelta, boolean updateScreen)
          Scrolls the screen by the specified amount.
 void drawCache(int hDC, short index, tagRECT deviceRect, tagRECT cacheRect)
          Draws the specified screen cache to the specified window device context.
 void drawMultipoint(IGeometry multipoint)
          Draws specified multipoint on the display.
 void drawPoint(IGeometry point)
          Draws specified point on the display.
 void drawPolygon(IGeometry polygon)
          Draws specified polygon on the display.
 void drawPolyline(IGeometry polyline)
          Draws specified line on the display.
 void drawRectangle(IEnvelope rectangle)
          Draws specified rectangle on the display.
 void drawText(IGeometry shape, String text)
          Draws specified text on the display.
 void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
          enumConnectionPoints
 boolean equals(Object o)
          Compare this object with another
 void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP)
          findConnectionPoint
 IGlobeLayerProperties findGlobeProperties(ILayer pLayer)
          Finds the globe properties of the layer.
 ISceneViewer findViewer(String caption)
          Finds the Viewer.
 void finishDrawing()
          Completes drawing.
 void focusMapChanged(IActiveViewEventsFocusMapChangedEvent theEvent)
          Fired when a new map is made active.
 void generateTiles(ILayer pLayer, int fromLod, int toLod)
          Generates the tiles in the specified levels of detail.
 short getActiveCache()
          Screen cache where drawing occurs.
 ISceneViewer getActiveViewer()
          The active viewer.
 IGlobeAdvancedOptions getAdvancedOptions()
          The data processing and management options.
 IArray getAllViewers()
          Returns all registered Viewers.
 float getAmbientLight()
          The sun's ambient light value.
 void getBackgroundColor(float[] pRed, float[] pGreen, float[] pBlue)
          Returns the background color.
 void getBackgroundTransitionDistances(float[] pLowAltitude, float[] pHighAltitude)
          Gets the altitude values in kilometers for the transition in the background color.
 double getBaseExaggeration()
          The vertical exaggeration for the base globe.
 IArray getBaseLayers()
          The internal layers created to support base surfaces for floating layers.
 short getCacheCount()
          Number of screen caches.
 int getCacheMemDC(short index)
          Memory device context for the specified screen cache.
 double getCacheUsage(String cachePath, boolean bUpdate)
          The disk cache usage in Mb (will return the current one if path is empty string).
 ITrackCancel getCancelTracker()
          Cancel tracker that is associated with the display.
 IEnvelope getClipEnvelope()
          The bounds of the invalid region.
 ISet getClipEnvelopes()
          The invalid region as a set of envelopes.
 IGeometry getClipGeometry()
          User-specified clip shape.
static String getClsid()
          getClsid.
 IDisplayTransformation getDisplayTransformation()
          The transformation used by the display.
 void getFeatureTransformation(ILayer pLayer, int featureID, IVector3D[] ppTrans, IVector3D[] ppScale, IVector3D[] ppRotate)
          Gets the transformation of a specific feature.
 void getFeatureVisibility(ILayer pLayer, int featureID, boolean[] pbVisible, int[] pTransparency)
          Gets the visibility of a specific feature.
 IDisplayFilter getFilter()
          Display filter.
 IGlobe getGlobe()
          The globe container.
 int getGlobeBackgroundOption()
          The background option.
 double getGlobeRadius()
          The radius of the globe in meters.
 int getHDC()
          The device context that the display is currently drawing to.
 int getHPalette()
          Palette.
 int getHWnd()
          Associated window handle.
 IIlluminationProps getIlluminationProps()
          Illumination properties used by the display.
 int getInternalGlobeIndex(ILayer pLayer)
          Gets the index of the internal globe that the layer belongs to.
 void getLowBackgroundColor(float[] red, float[] green, float[] blue)
          Returns the low altitude background color.
 int getMaximumLayerLOD(ILayer pLayer)
          Gets the maximum level of detail to display the layer.
 double getOverlayExaggeration()
          The vertical exaggeration for the overlay layers.
 IScene getScene()
          The scene.
 IColor getSelectionColor()
          The selection color.
 double getStatistic(int property)
          The accumulated or instantaneous value of an statistic.
 void getSunColor(float[] pSunRed, float[] pSunGreen, float[] pSunBlue)
          Gets the sun RGB color.
 int getSunContrast()
          The illumination contrast.
 void getSunPosition(double[] pLatitude, double[] pLongitude)
          Gets the sun position in lat, lon.
 void getSurfaceElevation(double longitude, double latitude, boolean bGetMaxResolution, double[] pElevationInMeters)
          Find the elevation of a point in the given geographical location.
 void getSurfacePoint(double xView, double yView, int internalGlobe, IPoint[] ppIntersec)
          Locate a point in the position x,y within the view (x and y in the interval 0-1).
 int getWindowDC()
          Device context for the associated window.
 int hashCode()
          the hashcode for this object
 void invalidate(IEnvelope rect, boolean erase, short cacheIndex)
          Cause the specified area of the specified cache to redraw.
 void invalidateExtent(ILayer pLayer, IEnvelope pExtent, int minLOD, int maxLOD, boolean bRedraw, boolean bWaitUntilComplete)
          Invalidates layer tiles in the given extent and levels of detail.
 boolean isCacheDirty(short cacheIndex)
          Indicates if the specified cache needs refreshing.
 boolean isDirectOpenGLDraw()
          Indicates if the direct OpenGL draw mode is active.
 boolean isDraftMode()
          Indicates if the draft display mode is active.
 boolean isEnableMessages()
          Indicates if the warning and question messages are enabled.
 boolean isFetchingSuspendedWhenNavigating()
          Indicates if tile fetching is disabled while navigating.
 boolean isFirstCacheTransparent()
          Indicates if the bottom cache is transparent.
 boolean isFramed()
          Indicates if drawing occurs in a frame rather than on the whole window.
 boolean isGenerateTilesOverwrites()
          Overwrite option when using the GenerateTiles method.
 boolean isGestureEnabled()
          Indicates if the mouse gestures are supported.
 boolean isHaloEnabled()
          Indicates if the halo effect is enabled.
 boolean isImmediateDataFetching()
          Indicates whether in immediate data fetching mode.
 boolean isNavigating()
          Indicates if the 3D Display is in navigation mode.
 boolean isParentsAreVisible(ILayer pLayer)
          Indicates if all parents are visible.
 boolean isPauseCaching()
          Indicates if all caching is paused.
 boolean isPauseFetching()
          Indicates if all fetching is paused.
 boolean isScaleContents()
          Indicates if the contents of the screen scale when a resize occurs.
 boolean isStarsEnabled()
          Indicates if the stars are enabled.
 boolean isSunEnabled()
          Indicates if the sun lighting is enabled.
 boolean isSuppressEvents()
          Indicates if display object suppresses events.
 boolean isSuppressResize()
          Indicates if display resizing is suppressed.
 boolean isUseScrollbars()
          Indicates if scrollbars should appear.
 void itemAdded(IActiveViewEventsItemAddedEvent theEvent)
          Fired when an item is added to the view.
 void itemDeleted(IActiveViewEventsItemDeletedEvent theEvent)
          Fired when an item is deleted from the view.
 void itemReordered(IActiveViewEventsItemReorderedEvent theEvent)
          Fired when a view item is reordered.
 void locate(ISceneViewer pViewer, int xView, int yView, boolean bGetTransformed, boolean bGetEmptyGlobe, IPoint[] ppPoint, Object[] ppOwner, Object[] ppObject)
          Find the object and location in the line of sight.
 void locateFeature(ISceneViewer pViewer, int xView, int yView, Object[] ppOwner, Object[] ppObject)
          Find the object and location in the line of sight.
 void locateLayers(ISceneViewer pViewer, int xView, int yView, IEnumLayer pLayers, boolean bGetLocation, boolean bGetTransformed, boolean bGetEmptyGlobe, boolean bFeaturesOnly, boolean bTopMost, IHit3DSet[] ppHits, ITrackCancel pTrackCancel)
          Find the object and location in the line of sight.
 void locateLayersEx(ISceneViewer pViewer, int xView, int yView, int searchTolPixels, IEnumLayer pLayers, boolean bGetLocation, boolean bGetTransformed, boolean bGetEmptyGlobe, boolean bFeaturesOnly, boolean bTopMost, IHit3DSet[] ppHits, ITrackCancel pTrackCancel)
          Find the object and location in the line of sight with a tolerance.
 void locateMultiple(ISceneViewer pViewer, int xView, int yView, boolean bGetLocation, boolean bGetTransformed, boolean bGetEmptyGlobe, boolean bFeaturesOnly, IHit3DSet[] ppHits)
          Find the object and location in the line of sight.
 void panMoveTo(IPoint mouseLocation)
          Pans to a new point.
 void panStart(IPoint mouseLocation)
          Prepares display for panning.
 IEnvelope panStop()
          Stops panning and returns new visible bounds.
 void pickGraphic(ISceneViewer pViewer, int xView, int yView, IGraphicsContainer3D[] owner, int[] elementIndex)
          Picks a single graphic element.
 void progress(int vertexCount)
          Call frequently during drawing process.
 void queryLocation(ISceneViewer pViewer, int x, int y, int mode, boolean bGetTransformed, IPoint pPt)
          Locates a single object.
 void refreshLayer(ILayer pLayer)
          Refreshes a layer, possibly including recaching.
 void refreshLayerSelection(ILayer pLayer)
          Refreshes the display of the selection in a layer.
 void refreshTextureObjects()
          Deletes all the textures to force them to reload.
 void refreshTextureObjectsLayer(ILayer pLayer)
          Deletes all the textures corresponding to a layer and to force them to reload.
 void refreshViewers()
          Redraws all viewers.
 void registerViewer(ISceneViewer pViewer)
          Adds a viewer to the 3D Display.
 void removeAllCaches()
          Removes all caches.
 void removeCache(short cacheID)
          Removes the specified cache.
 void removeIGlobeDisplayEventsListener(IGlobeDisplayEvents theListener)
          removeIGlobeDisplayEventsListener.
 void removeLayer(ILayer pLayer)
          Removes a layer.
 void reparent(ILayer layer, ICompositeLayer newParent)
          Re-parents the layer.
 void replayFrame(ICamera camera)
          Uses the camera to redraw a frame.
 void rotateMoveTo(IPoint pPoint)
          Rotates to new point.
 void rotateStart(IPoint mousePt, IPoint centerPt)
          Prepares display for rotating.
 double rotateStop()
          Stops rotating and returns new angle.
 void rotateTimer()
          Draws the rotated display.
 void selectionChanged(IActiveViewEventsSelectionChangedEvent theEvent)
          Call this function to fire the selection changed event.
 void setActiveCache(short index)
          Screen cache where drawing occurs.
 void setActiveViewerByRef(ISceneViewer ppViewer)
          The active viewer.
 void setAdvancedOptions(IGlobeAdvancedOptions ppOptions)
          The data processing and management options.
 void setAmbientLight(float pLightValue)
          The sun's ambient light value.
 void setBackgroundColor(float red, float green, float blue)
          Sets the background color.
 void setBackgroundTransitionDistances(float lowAltitude, float highAltitude)
          Sets the altitude values in kilometers for the transition in the background color.
 void setBaseExaggeration(double pFactor)
          The vertical exaggeration for the base globe.
 void setCancelTrackerByRef(ITrackCancel cancelTracker)
          Cancel tracker that is associated with the display.
 void setClipGeometry(IGeometry geometry)
          User-specified clip shape.
 void setDirectOpenGLDraw(boolean pbDirectMode)
          Indicates if the direct OpenGL draw mode is active.
 void setDisplayTransformation(IDisplayTransformation displayTransformation)
          The transformation used by the display.
 void setDraftMode(boolean pbDraft)
          Indicates if the draft display mode is active.
 void setEnableMessages(boolean pbEnableMessages)
          Indicates if the warning and question messages are enabled.
 void setFeatureTransformation(ILayer pLayer, int featureID, IVector3D pTrans, IVector3D pScale, IVector3D pRotate)
          Sets a transformation for a specific feature.
 void setFeatureVisibility(ILayer pLayer, int featureID, boolean bVisible, int transparency)
          Sets the visibility of a specific feature.
 void setFilterByRef(IDisplayFilter filter)
          Display filter.
 void setGenerateTilesOverwrites(boolean pbOverwrites)
          Overwrite option when using the GenerateTiles method.
 void setGestureEnabled(boolean pbEnabled)
          Indicates if the mouse gestures are supported.
 void setGlobeBackgroundOption(int pOption)
          The background option.
 void setGlobeByRef(IGlobe ppGlobe)
          The globe container.
 void setHPalette(int hPalette)
          Palette.
 void setHWnd(int hWnd)
          Associated window handle.
 void setIlluminationProps(IIlluminationProps illuminationProps)
          Illumination properties used by the display.
 void setImmediateDataFetching(boolean pbImmediate)
          Indicates whether in immediate data fetching mode.
 void setIsFetchingSuspendedWhenNavigating(boolean bSuspended)
          Indicates if tile fetching is disabled while navigating.
 void setIsFirstCacheTransparent(boolean flag)
          Indicates if the bottom cache is transparent.
 void setIsFramed(boolean flag)
          Indicates if drawing occurs in a frame rather than on the whole window.
 void setIsHaloEnabled(boolean pbHalo)
          Indicates if the halo effect is enabled.
 void setIsLayerVisible(ILayer pLayer, boolean rhs2)
          Indicates if the layer is visible.
 void setIsNavigating(boolean pbIsNavigating)
          Indicates if the 3D Display is in navigation mode.
 void setIsStarsEnabled(boolean pbStars)
          Indicates if the stars are enabled.
 void setIsSunEnabled(boolean pbSun)
          Indicates if the sun lighting is enabled.
 void setLayerDepthPriority(ILayer pLayer, int depthPrior)
          Sets face depth priority of a layer.
 void setLayerFaceCulling(ILayer pLayer, int cullMode)
          Sets face culling property of a layer.
 void setLayerLightingOption(ILayer pLayer, boolean isIlluminated)
          Indicates if the layer is illuminated.
 void setLayerShadingMode(ILayer pLayer, boolean isSmooth)
          Indicates if the layer is smoothly shaded.
 void setLayerTransparency(ILayer pLayer, short rhs2)
          Transparency percentage of a layer.
 void setLowBackgroundColor(float red, float green, float blue)
          Sets the low altitude background color.
 void setNumFramesInAvg(int property, int num)
          Set Number of frames used in averaging.
 void setOverlayExaggeration(double pFactor)
          The vertical exaggeration for the overlay layers.
 void setPauseCaching(boolean pbPaused)
          Indicates if all caching is paused.
 void setPauseFetching(boolean pbPaused)
          Indicates if all fetching is paused.
 void setScaleContents(boolean flag)
          Indicates if the contents of the screen scale when a resize occurs.
 void setSceneByRef(IScene pVal)
          The scene.
 void setScrollbarHandles(int hWndHorzScrollbar, int hWndVertScrollbar)
          Optionally specify application supplied scrollbars.
 void setSelectionColor(IColor pSelectionColor)
          The selection color.
 void setStrictOnDemandMode(ILayer pLayer, boolean rhs2)
          Strict on-demand mode of a layer tile generation.
 void setSunColor(float sunRed, float sunGreen, float sunBlue)
          Sets the sun RGB color.
 void setSunContrast(int pContrast)
          The illumination contrast.
 void setSunPosition(double latitude, double longitude)
          Sets the sun position in lat, lon.
 void setSuppressEvents(boolean suppressEvents)
          Indicates if display object suppresses events.
 void setSuppressResize(boolean suppressResize)
          Indicates if display resizing is suppressed.
 void setSymbol(ISymbol sym)
          Sets the symbol used for drawing.
 void setTextureCompressionType(ILayer pLayer, int rhs2)
          Sets texture compression type of a layer.
 void setTextureDisplayType(ILayer pLayer, int rhs2)
          Sets texture display type of a layer.
 void setTextureDownsamplingFactor(ILayer pLayer, double rhs2)
          Sets texture down-sampling factor of a layer.
 void setUseScrollbars(boolean flag)
          Indicates if scrollbars should appear.
 void spatialReferenceChanged(IActiveViewEventsSpatialReferenceChangedEvent theEvent)
          Fired when the spatial reference is changed.
 void startAccumulating(int property)
          Start accumulating values.
 void startDrawing(int hDC, short cacheID)
          Prepare the display for drawing.
 void startPrintingExporting(double cullArea)
          Start exporting/printing with an extending cull area.
 void startRecording()
          Starts recording all output to the recording cache.
 double stopAccumulating(int property)
          Stop accumulating values.
 void stopPrintingExporting()
          Stop Exporting/printing with extending culling area-- restore defaults.
 void stopRecording()
          Stops recording to the recording cache.
 void trackPan()
          Interactively pans the screen.
 void trackRotate()
          Interactively rotates the screen.
 void unregisterViewer(ISceneViewer pViewer)
          Removes a viewer from the 3D Display.
 void updateWindow()
          Forces a redraw.
 void viewRefreshed(IActiveViewEventsViewRefreshedEvent theEvent)
          Fired when view is refreshed before draw happens.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

GlobeDisplay

public GlobeDisplay()
             throws IOException,
                    UnknownHostException
Constructs a GlobeDisplay using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

GlobeDisplay

public GlobeDisplay(Object obj)
             throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GlobeDisplay theGlobeDisplay = (GlobeDisplay) obj;

Construct a GlobeDisplay using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to GlobeDisplay.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

addIGlobeDisplayEventsListener

public void addIGlobeDisplayEventsListener(IGlobeDisplayEvents theListener)
                                    throws IOException
addIGlobeDisplayEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.globecore.IGlobeDisplayEvents interface.
Throws:
IOException - If there are communications problems.

removeIGlobeDisplayEventsListener

public void removeIGlobeDisplayEventsListener(IGlobeDisplayEvents theListener)
                                       throws IOException
removeIGlobeDisplayEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.globecore.IGlobeDisplayEvents interface.
Throws:
IOException - If there are communications problems.

locateLayersEx

public void locateLayersEx(ISceneViewer pViewer,
                           int xView,
                           int yView,
                           int searchTolPixels,
                           IEnumLayer pLayers,
                           boolean bGetLocation,
                           boolean bGetTransformed,
                           boolean bGetEmptyGlobe,
                           boolean bFeaturesOnly,
                           boolean bTopMost,
                           IHit3DSet[] ppHits,
                           ITrackCancel pTrackCancel)
                    throws IOException,
                           AutomationException
Find the object and location in the line of sight with a tolerance.

Product Availability

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

Specified by:
locateLayersEx in interface IGlobeDisplay3
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
xView - The xView (in)
yView - The yView (in)
searchTolPixels - The searchTolPixels (in)
pLayers - A reference to a com.esri.arcgis.carto.IEnumLayer (in)
bGetLocation - The bGetLocation (in)
bGetTransformed - The bGetTransformed (in)
bGetEmptyGlobe - The bGetEmptyGlobe (in)
bFeaturesOnly - The bFeaturesOnly (in)
bTopMost - The bTopMost (in)
ppHits - A reference to a com.esri.arcgis.analyst3d.IHit3DSet (out: use single element array)
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryLocation

public void queryLocation(ISceneViewer pViewer,
                          int x,
                          int y,
                          int mode,
                          boolean bGetTransformed,
                          IPoint pPt)
                   throws IOException,
                          AutomationException
Locates a single object.

Product Availability

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

Specified by:
queryLocation in interface IGlobeDisplay3
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
x - The x (in)
y - The y (in)
mode - A com.esri.arcgis.analyst3d.esriScenePickMode constant (in)
bGetTransformed - The bGetTransformed (in)
pPt - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDraftMode

public boolean isDraftMode()
                    throws IOException,
                           AutomationException
Indicates if the draft display mode is active.

Description

When the DraftMode property is set to True, a number of settings are applied to the layers in the view in an attempt to improve rendering speed.

The DraftMode settings operate as overrides. That is, they do not actually change layer properties, but rather apply themselves after the layer is read. The increase in rendering speed will be a factor of the layer types and symbology used in the view, and will vary greatly from document to document.

The DraftMode overrides are:

Remarks

Product Availability

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

Specified by:
isDraftMode in interface IGlobeDisplay3
Returns:
The pbDraft
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDraftMode

public void setDraftMode(boolean pbDraft)
                  throws IOException,
                         AutomationException
Indicates if the draft display mode is active.

Product Availability

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

Specified by:
setDraftMode in interface IGlobeDisplay3
Parameters:
pbDraft - The pbDraft (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirectOpenGLDraw

public boolean isDirectOpenGLDraw()
                           throws IOException,
                                  AutomationException
Indicates if the direct OpenGL draw mode is active.

Product Availability

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

Specified by:
isDirectOpenGLDraw in interface IGlobeDisplay3
Returns:
The pbDirectMode
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDirectOpenGLDraw

public void setDirectOpenGLDraw(boolean pbDirectMode)
                         throws IOException,
                                AutomationException
Indicates if the direct OpenGL draw mode is active.

Product Availability

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

Specified by:
setDirectOpenGLDraw in interface IGlobeDisplay3
Parameters:
pbDirectMode - The pbDirectMode (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pickGraphic

public void pickGraphic(ISceneViewer pViewer,
                        int xView,
                        int yView,
                        IGraphicsContainer3D[] owner,
                        int[] elementIndex)
                 throws IOException,
                        AutomationException
Picks a single graphic element.

Product Availability

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

Specified by:
pickGraphic in interface IGlobeDisplay3
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
xView - The xView (in)
yView - The yView (in)
owner - A reference to a com.esri.arcgis.analyst3d.IGraphicsContainer3D (out: use single element array)
elementIndex - The elementIndex (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFetchingSuspendedWhenNavigating

public boolean isFetchingSuspendedWhenNavigating()
                                          throws IOException,
                                                 AutomationException
Indicates if tile fetching is disabled while navigating.

Description

ArcGlobe uses two threads – one for display and one for fetching tiles. When this option is set to True, the tile fetching thread is completely suspended while navigating, thereby freeing up hardware resources for the display thread. When navigation halts, the tile fetching thread is re-enabled and ArcGlobe will use the appropriate level-of-detail for displaying the current view.

Tile fetching is occurring when retrieving existing tiles from the disk cache, or when generating new tiles as the user visits a new geographic region. Note that any tiles that are already in physical memory (RAM) will continue to display when this option is enabled, but no additional tiles will be read from disk or generated for display.

The view is said to be navigating when the Globe Camera is moving continuously. For example, using the Fly Tool will set the ‘while navigating’ state to true and cause tile fetching to be suspended appropriately. When the Fly Tool halts, the ‘while navigating’ state is set to false and tile fetching will resume. An example of a navigation technique which does not set the ‘while navigating’ state to true is the mouse-wheel zoom in. This functionality uses discrete steps to zoom in and is therefore not a continuous navigation event.

This option is not recommended when outputting animation video files, as the animation framework will set the ‘while navigating’ status to true and the resulting video will only use tiles that are in memory when generating the video. This will most likely be a lower resolution display than required.

To disable tile fetching on a per-layer basis, see the IsFetchingSuspendedWhenNavigating property for IGlobeLayerProperties2.

Product Availability

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

Specified by:
isFetchingSuspendedWhenNavigating in interface IGlobeDisplay3
Returns:
The bSuspended
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsFetchingSuspendedWhenNavigating

public void setIsFetchingSuspendedWhenNavigating(boolean bSuspended)
                                          throws IOException,
                                                 AutomationException
Indicates if tile fetching is disabled while navigating.

Product Availability

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

Specified by:
setIsFetchingSuspendedWhenNavigating in interface IGlobeDisplay3
Parameters:
bSuspended - The bSuspended (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isPauseCaching

public boolean isPauseCaching()
                       throws IOException,
                              AutomationException
Indicates if all caching is paused.

Product Availability

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

Specified by:
isPauseCaching in interface IGlobeDisplay2
Returns:
The pbPaused
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPauseCaching

public void setPauseCaching(boolean pbPaused)
                     throws IOException,
                            AutomationException
Indicates if all caching is paused.

Product Availability

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

Specified by:
setPauseCaching in interface IGlobeDisplay2
Parameters:
pbPaused - The pbPaused (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isPauseFetching

public boolean isPauseFetching()
                        throws IOException,
                               AutomationException
Indicates if all fetching is paused.

Product Availability

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

Specified by:
isPauseFetching in interface IGlobeDisplay2
Returns:
The pbPaused
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPauseFetching

public void setPauseFetching(boolean pbPaused)
                      throws IOException,
                             AutomationException
Indicates if all fetching is paused.

Product Availability

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

Specified by:
setPauseFetching in interface IGlobeDisplay2
Parameters:
pbPaused - The pbPaused (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGlobe

public IGlobe getGlobe()
                throws IOException,
                       AutomationException
The globe container.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getGlobe in interface IGlobeDisplay
Returns:
A reference to a com.esri.arcgis.globecore.IGlobe
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGlobeByRef

public void setGlobeByRef(IGlobe ppGlobe)
                   throws IOException,
                          AutomationException
The globe container.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setGlobeByRef in interface IGlobeDisplay
Parameters:
ppGlobe - A reference to a com.esri.arcgis.globecore.IGlobe (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clear

public void clear(boolean bRecycleBasicObjects)
           throws IOException,
                  AutomationException
Clear the display objects.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
clear in interface IGlobeDisplay
Parameters:
bRecycleBasicObjects - The bRecycleBasicObjects (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSurfacePoint

public void getSurfacePoint(double xView,
                            double yView,
                            int internalGlobe,
                            IPoint[] ppIntersec)
                     throws IOException,
                            AutomationException
Locate a point in the position x,y within the view (x and y in the interval 0-1).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSurfacePoint in interface IGlobeDisplay
Parameters:
xView - The xView (in)
yView - The yView (in)
internalGlobe - The internalGlobe (in)
ppIntersec - A reference to a com.esri.arcgis.geometry.IPoint (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSurfaceElevation

public void getSurfaceElevation(double longitude,
                                double latitude,
                                boolean bGetMaxResolution,
                                double[] pElevationInMeters)
                         throws IOException,
                                AutomationException
Find the elevation of a point in the given geographical location.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSurfaceElevation in interface IGlobeDisplay
Parameters:
longitude - The longitude (in)
latitude - The latitude (in)
bGetMaxResolution - The bGetMaxResolution (in)
pElevationInMeters - The pElevationInMeters (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSelectionColor

public void setSelectionColor(IColor pSelectionColor)
                       throws IOException,
                              AutomationException
The selection color.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSelectionColor in interface IGlobeDisplay
Parameters:
pSelectionColor - A reference to a com.esri.arcgis.display.IColor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSelectionColor

public IColor getSelectionColor()
                         throws IOException,
                                AutomationException
The selection color.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSelectionColor in interface IGlobeDisplay
Returns:
A reference to a com.esri.arcgis.display.IColor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAdvancedOptions

public void setAdvancedOptions(IGlobeAdvancedOptions ppOptions)
                        throws IOException,
                               AutomationException
The data processing and management options.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAdvancedOptions in interface IGlobeDisplay
Parameters:
ppOptions - A reference to a com.esri.arcgis.globecore.IGlobeAdvancedOptions (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAdvancedOptions

public IGlobeAdvancedOptions getAdvancedOptions()
                                         throws IOException,
                                                AutomationException
The data processing and management options.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAdvancedOptions in interface IGlobeDisplay
Returns:
A reference to a com.esri.arcgis.globecore.IGlobeAdvancedOptions
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setImmediateDataFetching

public void setImmediateDataFetching(boolean pbImmediate)
                              throws IOException,
                                     AutomationException
Indicates whether in immediate data fetching mode.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setImmediateDataFetching in interface IGlobeDisplay
Parameters:
pbImmediate - The pbImmediate (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isImmediateDataFetching

public boolean isImmediateDataFetching()
                                throws IOException,
                                       AutomationException
Indicates whether in immediate data fetching mode.

Remarks

A True value indicates that pending requests for tiles should complete before navigation can proceed.The default value is False.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isImmediateDataFetching in interface IGlobeDisplay
Returns:
The pbImmediate
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheUsage

public double getCacheUsage(String cachePath,
                            boolean bUpdate)
                     throws IOException,
                            AutomationException
The disk cache usage in Mb (will return the current one if path is empty string).

Product Availability

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

Specified by:
getCacheUsage in interface IGlobeDisplay
Parameters:
cachePath - The cachePath (in)
bUpdate - The bUpdate (in)
Returns:
The pCacheUsageInMb
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEnableMessages

public boolean isEnableMessages()
                         throws IOException,
                                AutomationException
Indicates if the warning and question messages are enabled.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isEnableMessages in interface IGlobeDisplay
Returns:
The pbEnableMessages
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEnableMessages

public void setEnableMessages(boolean pbEnableMessages)
                       throws IOException,
                              AutomationException
Indicates if the warning and question messages are enabled.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setEnableMessages in interface IGlobeDisplay
Parameters:
pbEnableMessages - The pbEnableMessages (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshTextureObjects

public void refreshTextureObjects()
                           throws IOException,
                                  AutomationException
Deletes all the textures to force them to reload.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
refreshTextureObjects in interface IGlobeDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startPrintingExporting

public void startPrintingExporting(double cullArea)
                            throws IOException,
                                   AutomationException
Start exporting/printing with an extending cull area.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
startPrintingExporting in interface IGlobeDisplay
Parameters:
cullArea - The cullArea (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

stopPrintingExporting

public void stopPrintingExporting()
                           throws IOException,
                                  AutomationException
Stop Exporting/printing with extending culling area-- restore defaults.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
stopPrintingExporting in interface IGlobeDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locate

public void locate(ISceneViewer pViewer,
                   int xView,
                   int yView,
                   boolean bGetTransformed,
                   boolean bGetEmptyGlobe,
                   IPoint[] ppPoint,
                   Object[] ppOwner,
                   Object[] ppObject)
            throws IOException,
                   AutomationException
Find the object and location in the line of sight.

Description

This method returns the closest object (ppObject) hit by the line of sight from the observer location in the window coordinates xView, yView in the viewer, pViewer.

ppPoint is a point representing the hit location coordinates.


If bGetTransformed is True, it indicates that the returned coordinates must be in the internal geocentric coordinate system. If bGetTransformed = False, the returned hit point coordinates are in the Globe Spatial Reference: longitude, latitude and altitude are in kilometers.


If bGetEmptyGlobe is True, a hit will be added for the base globe surface, even if it doesn't contain any layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
locate in interface IGlobeDisplay
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
xView - The xView (in)
yView - The yView (in)
bGetTransformed - The bGetTransformed (in)
bGetEmptyGlobe - The bGetEmptyGlobe (in)
ppPoint - A reference to a com.esri.arcgis.geometry.IPoint (out: use single element array)
ppOwner - A reference to another Object (IUnknown) (out: use single element array)
ppObject - A reference to another Object (IUnknown) (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locateMultiple

public void locateMultiple(ISceneViewer pViewer,
                           int xView,
                           int yView,
                           boolean bGetLocation,
                           boolean bGetTransformed,
                           boolean bGetEmptyGlobe,
                           boolean bFeaturesOnly,
                           IHit3DSet[] ppHits)
                    throws IOException,
                           AutomationException
Find the object and location in the line of sight.

Description

This method returns a set of objects (ppHits) hit by the line of sight from the observer location and the window coordinates xView, yView in pViewer.

If bGetLocation = True, it indicates that the hit point coordinates must be returned.
If both bGetLocation and bGetTransformed are True, it indicates that the returned coordinates must be in the internal geocentric coordinate system. If bGetTransformed = False, the returned hit point coordinates are in the Globe Spatial Reference: longitude, latitude and altitude in kilometers.
If bGetEmptyGlobe is True, a hit will be added for the base globe surface, even if it doesn't contain any layer.
If bFeaturesOnly is True, only hits to features will be returned (hits to elevation surfaces will not).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
locateMultiple in interface IGlobeDisplay
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
xView - The xView (in)
yView - The yView (in)
bGetLocation - The bGetLocation (in)
bGetTransformed - The bGetTransformed (in)
bGetEmptyGlobe - The bGetEmptyGlobe (in)
bFeaturesOnly - The bFeaturesOnly (in)
ppHits - A reference to a com.esri.arcgis.analyst3d.IHit3DSet (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locateLayers

public void locateLayers(ISceneViewer pViewer,
                         int xView,
                         int yView,
                         IEnumLayer pLayers,
                         boolean bGetLocation,
                         boolean bGetTransformed,
                         boolean bGetEmptyGlobe,
                         boolean bFeaturesOnly,
                         boolean bTopMost,
                         IHit3DSet[] ppHits,
                         ITrackCancel pTrackCancel)
                  throws IOException,
                         AutomationException
Find the object and location in the line of sight.

Description

This method returns a set of objects (ppHits) hit by the line of sight from the observer location in the window coordinates xView, yView in pViewer. It will return hits only in the layer pLayers.

If bGetLocation is True, it indicates that the hit point coordinates must be returned.
If both bGetLocation and bGetTransformed are True, it indicates that the returned coordinates must be in the internal geocentric coordinate system. If bGetTransformed = False, the returned hit point coordinates are in the Globe Spatial Reference: longitude, latitude and altitude in kilometers.
If bGetEmptyGlobe is True, a hit will be added for the base globe surface, even if it doesn't contain any layer.

If bTopMost is True, it will return only one hit to the topmost layer.
If bFeaturesOnly is True, only hits to features will be returned (hits to elevation surfaces will not).

pTrackCancel allows the user to cancel the method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
locateLayers in interface IGlobeDisplay
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
xView - The xView (in)
yView - The yView (in)
pLayers - A reference to a com.esri.arcgis.carto.IEnumLayer (in)
bGetLocation - The bGetLocation (in)
bGetTransformed - The bGetTransformed (in)
bGetEmptyGlobe - The bGetEmptyGlobe (in)
bFeaturesOnly - The bFeaturesOnly (in)
bTopMost - The bTopMost (in)
ppHits - A reference to a com.esri.arcgis.analyst3d.IHit3DSet (out: use single element array)
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locateFeature

public void locateFeature(ISceneViewer pViewer,
                          int xView,
                          int yView,
                          Object[] ppOwner,
                          Object[] ppObject)
                   throws IOException,
                          AutomationException
Find the object and location in the line of sight.

Description

This method returns a hit to the closest feature (ppObject), hit by the line of sight from the observer location in the window coordinates xView, yView in the viewer, pViewer.

ppOwner is the layer hit.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
locateFeature in interface IGlobeDisplay
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
xView - The xView (in)
yView - The yView (in)
ppOwner - A reference to another Object (IUnknown) (out: use single element array)
ppObject - A reference to another Object (IUnknown) (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getScene

public IScene getScene()
                throws IOException,
                       AutomationException
The scene.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
getScene in interface IViewers3D
Returns:
A reference to a com.esri.arcgis.analyst3d.IScene
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSceneByRef

public void setSceneByRef(IScene pVal)
                   throws IOException,
                          AutomationException
The scene.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
setSceneByRef in interface IViewers3D
Parameters:
pVal - A reference to a com.esri.arcgis.analyst3d.IScene (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

registerViewer

public void registerViewer(ISceneViewer pViewer)
                    throws IOException,
                           AutomationException
Adds a viewer to the 3D Display.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
registerViewer in interface IViewers3D
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unregisterViewer

public void unregisterViewer(ISceneViewer pViewer)
                      throws IOException,
                             AutomationException
Removes a viewer from the 3D Display.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
unregisterViewer in interface IViewers3D
Parameters:
pViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findViewer

public ISceneViewer findViewer(String caption)
                        throws IOException,
                               AutomationException
Finds the Viewer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
findViewer in interface IViewers3D
Parameters:
caption - The caption (in)
Returns:
A reference to a com.esri.arcgis.analyst3d.ISceneViewer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllViewers

public IArray getAllViewers()
                     throws IOException,
                            AutomationException
Returns all registered Viewers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
getAllViewers in interface IViewers3D
Returns:
A reference to a com.esri.arcgis.system.IArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setActiveViewerByRef

public void setActiveViewerByRef(ISceneViewer ppViewer)
                          throws IOException,
                                 AutomationException
The active viewer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
setActiveViewerByRef in interface IViewers3D
Parameters:
ppViewer - A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getActiveViewer

public ISceneViewer getActiveViewer()
                             throws IOException,
                                    AutomationException
The active viewer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
getActiveViewer in interface IViewers3D
Returns:
A reference to a com.esri.arcgis.analyst3d.ISceneViewer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshViewers

public void refreshViewers()
                    throws IOException,
                           AutomationException
Redraws all viewers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
refreshViewers in interface IViewers3D
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNavigating

public boolean isNavigating()
                     throws IOException,
                            AutomationException
Indicates if the 3D Display is in navigation mode.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
isNavigating in interface IViewers3D
Returns:
The pbIsNavigating
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsNavigating

public void setIsNavigating(boolean pbIsNavigating)
                     throws IOException,
                            AutomationException
Indicates if the 3D Display is in navigation mode.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
setIsNavigating in interface IViewers3D
Parameters:
pbIsNavigating - The pbIsNavigating (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGestureEnabled

public void setGestureEnabled(boolean pbEnabled)
                       throws IOException,
                              AutomationException
Indicates if the mouse gestures are supported.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
setGestureEnabled in interface IViewers3D
Parameters:
pbEnabled - The pbEnabled (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isGestureEnabled

public boolean isGestureEnabled()
                         throws IOException,
                                AutomationException
Indicates if the mouse gestures are supported.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
isGestureEnabled in interface IViewers3D
Returns:
The pbEnabled
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBackgroundColor

public void setBackgroundColor(float red,
                               float green,
                               float blue)
                        throws IOException,
                               AutomationException
Sets the background color.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
setBackgroundColor in interface IViewers3D
Parameters:
red - The red (in)
green - The green (in)
blue - The blue (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBackgroundColor

public void getBackgroundColor(float[] pRed,
                               float[] pGreen,
                               float[] pBlue)
                        throws IOException,
                               AutomationException
Returns the background color.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
getBackgroundColor in interface IViewers3D
Parameters:
pRed - The pRed (out: use single element array)
pGreen - The pGreen (out: use single element array)
pBlue - The pBlue (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replayFrame

public void replayFrame(ICamera camera)
                 throws IOException,
                        AutomationException
Uses the camera to redraw a frame.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Specified by:
replayFrame in interface IViewers3D
Parameters:
camera - A reference to a com.esri.arcgis.analyst3d.ICamera (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addLayer

public void addLayer(ILayer pLayer)
              throws IOException,
                     AutomationException
Adds a layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addLayer in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeLayer

public void removeLayer(ILayer pLayer)
                 throws IOException,
                        AutomationException
Removes a layer.

Product Availability

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

Specified by:
removeLayer in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshLayer

public void refreshLayer(ILayer pLayer)
                  throws IOException,
                         AutomationException
Refreshes a layer, possibly including recaching.

Product Availability

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

Specified by:
refreshLayer in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshLayerSelection

public void refreshLayerSelection(ILayer pLayer)
                           throws IOException,
                                  AutomationException
Refreshes the display of the selection in a layer.

Product Availability

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

Specified by:
refreshLayerSelection in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsLayerVisible

public void setIsLayerVisible(ILayer pLayer,
                              boolean rhs2)
                       throws IOException,
                              AutomationException
Indicates if the layer is visible.

Product Availability

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

Specified by:
setIsLayerVisible in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
rhs2 - The rhs2 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLayerTransparency

public void setLayerTransparency(ILayer pLayer,
                                 short rhs2)
                          throws IOException,
                                 AutomationException
Transparency percentage of a layer.

Product Availability

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

Specified by:
setLayerTransparency in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
rhs2 - The rhs2 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLayerLightingOption

public void setLayerLightingOption(ILayer pLayer,
                                   boolean isIlluminated)
                            throws IOException,
                                   AutomationException
Indicates if the layer is illuminated.

Description

Use this method to set the lighting option for a layer.

Note that if you add a layer to globe via code and want the lighting property to be persisted when the globe document is saved then you should explicitly add the I3DProperties extension to your layer as follows:

ESRI.ArcGIS.Analyst3D.I3DProperties p3DProperties;
p3DProperties = new Feature3DPropertiesClass();
ESRI.ArcGIS.Carto.ILayerExtensions layerExtension = ftrLayer as ESRI.ArcGIS.Carto.ILayerExtensions;
layerExtension.AddExtension(p3DProperties);

//Now set the layer lighting
glbDisplayLayers.SetLayerLightingOption(ftrLayer as ESRI.ArcGIS.Carto.ILayer, true);
glbDisplayLayers.RefreshLayer(ftrLayer as ESRI.ArcGIS.Carto.ILayer);

If the extension is not added to the layer then on reopening a saved globe document lighting for the layer will be turned off by default.

Product Availability

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

Specified by:
setLayerLightingOption in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
isIlluminated - The isIlluminated (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLayerShadingMode

public void setLayerShadingMode(ILayer pLayer,
                                boolean isSmooth)
                         throws IOException,
                                AutomationException
Indicates if the layer is smoothly shaded.

Description

Use this method to set the shading mode for a layer.

Note that if you add a layer to globe via code and want the shading mode to be persisted when the globe document is saved then you should explicitly add the I3DProperties extension to your layer as follows:

ESRI.ArcGIS.Analyst3D.I3DProperties p3DProperties;
p3DProperties = new Feature3DPropertiesClass();
ESRI.ArcGIS.Carto.ILayerExtensions layerExtension = ftrLayer as ESRI.ArcGIS.Carto.ILayerExtensions;
layerExtension.AddExtension(p3DProperties);

//Now set the layer shading

glbDisplayLayers.SetLayerShadingMode(ftrLayer as ESRI.ArcGIS.Carto.ILayer, true);
glbDisplayLayers.RefreshLayer(ftrLayer as ESRI.ArcGIS.Carto.ILayer);

Product Availability

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

Specified by:
setLayerShadingMode in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
isSmooth - The isSmooth (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLayerFaceCulling

public void setLayerFaceCulling(ILayer pLayer,
                                int cullMode)
                         throws IOException,
                                AutomationException
Sets face culling property of a layer.

Product Availability

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

Specified by:
setLayerFaceCulling in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
cullMode - A com.esri.arcgis.analyst3d.esri3DFaceCulling constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLayerDepthPriority

public void setLayerDepthPriority(ILayer pLayer,
                                  int depthPrior)
                           throws IOException,
                                  AutomationException
Sets face depth priority of a layer.

Product Availability

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

Specified by:
setLayerDepthPriority in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
depthPrior - The depthPrior (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

applyHeightProperties

public void applyHeightProperties(ILayer pGLayer)
                           throws IOException,
                                  AutomationException
Applies changes in height properties to the layer.

Product Availability

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

Specified by:
applyHeightProperties in interface IGlobeDisplayLayers
Parameters:
pGLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findGlobeProperties

public IGlobeLayerProperties findGlobeProperties(ILayer pLayer)
                                          throws IOException,
                                                 AutomationException
Finds the globe properties of the layer.

Product Availability

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

Specified by:
findGlobeProperties in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Returns:
A reference to a com.esri.arcgis.globecore.IGlobeLayerProperties
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBaseLayers

public IArray getBaseLayers()
                     throws IOException,
                            AutomationException
The internal layers created to support base surfaces for floating layers.

Product Availability

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

Specified by:
getBaseLayers in interface IGlobeDisplayLayers
Returns:
A reference to a com.esri.arcgis.system.IArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshTextureObjectsLayer

public void refreshTextureObjectsLayer(ILayer pLayer)
                                throws IOException,
                                       AutomationException
Deletes all the textures corresponding to a layer and to force them to reload.

Product Availability

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

Specified by:
refreshTextureObjectsLayer in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaximumLayerLOD

public int getMaximumLayerLOD(ILayer pLayer)
                       throws IOException,
                              AutomationException
Gets the maximum level of detail to display the layer.

Product Availability

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

Specified by:
getMaximumLayerLOD in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Returns:
The pMaxLOD
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

generateTiles

public void generateTiles(ILayer pLayer,
                          int fromLod,
                          int toLod)
                   throws IOException,
                          AutomationException
Generates the tiles in the specified levels of detail.

Product Availability

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

Specified by:
generateTiles in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
fromLod - The fromLod (in)
toLod - The toLod (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isParentsAreVisible

public boolean isParentsAreVisible(ILayer pLayer)
                            throws IOException,
                                   AutomationException
Indicates if all parents are visible.

Product Availability

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

Specified by:
isParentsAreVisible in interface IGlobeDisplayLayers
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Returns:
The visible
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reparent

public void reparent(ILayer layer,
                     ICompositeLayer newParent)
              throws IOException,
                     AutomationException
Re-parents the layer.

Product Availability

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

Specified by:
reparent in interface IGlobeDisplayLayers
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
newParent - A reference to a com.esri.arcgis.carto.ICompositeLayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextureDownsamplingFactor

public void setTextureDownsamplingFactor(ILayer pLayer,
                                         double rhs2)
                                  throws IOException,
                                         AutomationException
Sets texture down-sampling factor of a layer.

Product Availability

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

Specified by:
setTextureDownsamplingFactor in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
rhs2 - The rhs2 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextureCompressionType

public void setTextureCompressionType(ILayer pLayer,
                                      int rhs2)
                               throws IOException,
                                      AutomationException
Sets texture compression type of a layer.

Product Availability

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

Specified by:
setTextureCompressionType in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
rhs2 - A com.esri.arcgis.analyst3d.esriTextureFormatType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

invalidateExtent

public void invalidateExtent(ILayer pLayer,
                             IEnvelope pExtent,
                             int minLOD,
                             int maxLOD,
                             boolean bRedraw,
                             boolean bWaitUntilComplete)
                      throws IOException,
                             AutomationException
Invalidates layer tiles in the given extent and levels of detail. Redraws display if requested, optionally waiting until the tiles are regenerated.

Product Availability

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

Specified by:
invalidateExtent in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
minLOD - The minLOD (in)
maxLOD - The maxLOD (in)
bRedraw - The bRedraw (in)
bWaitUntilComplete - The bWaitUntilComplete (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFeatureTransformation

public void setFeatureTransformation(ILayer pLayer,
                                     int featureID,
                                     IVector3D pTrans,
                                     IVector3D pScale,
                                     IVector3D pRotate)
                              throws IOException,
                                     AutomationException
Sets a transformation for a specific feature.

Product Availability

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

Specified by:
setFeatureTransformation in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
featureID - The featureID (in)
pTrans - A reference to a com.esri.arcgis.geometry.IVector3D (in)
pScale - A reference to a com.esri.arcgis.geometry.IVector3D (in)
pRotate - A reference to a com.esri.arcgis.geometry.IVector3D (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureTransformation

public void getFeatureTransformation(ILayer pLayer,
                                     int featureID,
                                     IVector3D[] ppTrans,
                                     IVector3D[] ppScale,
                                     IVector3D[] ppRotate)
                              throws IOException,
                                     AutomationException
Gets the transformation of a specific feature.

Product Availability

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

Specified by:
getFeatureTransformation in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
featureID - The featureID (in)
ppTrans - A reference to a com.esri.arcgis.geometry.IVector3D (out: use single element array)
ppScale - A reference to a com.esri.arcgis.geometry.IVector3D (out: use single element array)
ppRotate - A reference to a com.esri.arcgis.geometry.IVector3D (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFeatureVisibility

public void setFeatureVisibility(ILayer pLayer,
                                 int featureID,
                                 boolean bVisible,
                                 int transparency)
                          throws IOException,
                                 AutomationException
Sets the visibility of a specific feature.

Product Availability

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

Specified by:
setFeatureVisibility in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
featureID - The featureID (in)
bVisible - The bVisible (in)
transparency - The transparency (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureVisibility

public void getFeatureVisibility(ILayer pLayer,
                                 int featureID,
                                 boolean[] pbVisible,
                                 int[] pTransparency)
                          throws IOException,
                                 AutomationException
Gets the visibility of a specific feature.

Product Availability

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

Specified by:
getFeatureVisibility in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
featureID - The featureID (in)
pbVisible - The pbVisible (out: use single element array)
pTransparency - The pTransparency (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStrictOnDemandMode

public void setStrictOnDemandMode(ILayer pLayer,
                                  boolean rhs2)
                           throws IOException,
                                  AutomationException
Strict on-demand mode of a layer tile generation.

Product Availability

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

Specified by:
setStrictOnDemandMode in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
rhs2 - The rhs2 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGenerateTilesOverwrites

public void setGenerateTilesOverwrites(boolean pbOverwrites)
                                throws IOException,
                                       AutomationException
Overwrite option when using the GenerateTiles method.

Product Availability

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

Specified by:
setGenerateTilesOverwrites in interface IGlobeDisplayLayers2
Parameters:
pbOverwrites - The pbOverwrites (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isGenerateTilesOverwrites

public boolean isGenerateTilesOverwrites()
                                  throws IOException,
                                         AutomationException
Overwrite option when using the GenerateTiles method.

Product Availability

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

Specified by:
isGenerateTilesOverwrites in interface IGlobeDisplayLayers2
Returns:
The pbOverwrites
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

countTiles

public void countTiles(ILayer pLayer,
                       int fromLod,
                       int toLod,
                       double[] pCount)
                throws IOException,
                       AutomationException
Counts the number of possible layer tiles in the specified levels of detail.

Product Availability

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

Specified by:
countTiles in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
fromLod - The fromLod (in)
toLod - The toLod (in)
pCount - The pCount (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextureDisplayType

public void setTextureDisplayType(ILayer pLayer,
                                  int rhs2)
                           throws IOException,
                                  AutomationException
Sets texture display type of a layer.

Product Availability

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

Specified by:
setTextureDisplayType in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
rhs2 - A com.esri.arcgis.analyst3d.esriTextureFormatType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInternalGlobeIndex

public int getInternalGlobeIndex(ILayer pLayer)
                          throws IOException,
                                 AutomationException
Gets the index of the internal globe that the layer belongs to.

Product Availability

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

Specified by:
getInternalGlobeIndex in interface IGlobeDisplayLayers2
Parameters:
pLayer - A reference to a com.esri.arcgis.carto.ILayer (in)
Returns:
The internalGlobe
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsSunEnabled

public void setIsSunEnabled(boolean pbSun)
                     throws IOException,
                            AutomationException
Indicates if the sun lighting is enabled.

Product Availability

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

Specified by:
setIsSunEnabled in interface IGlobeDisplayRendering2
Parameters:
pbSun - The pbSun (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSunEnabled

public boolean isSunEnabled()
                     throws IOException,
                            AutomationException
Indicates if the sun lighting is enabled.

Product Availability

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

Specified by:
isSunEnabled in interface IGlobeDisplayRendering2
Returns:
The pbSun
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGlobeBackgroundOption

public int getGlobeBackgroundOption()
                             throws IOException,
                                    AutomationException
The background option.

Product Availability

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

Specified by:
getGlobeBackgroundOption in interface IGlobeDisplayRendering2
Returns:
A com.esri.arcgis.globecore.esriGlobeBackgroundOption constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGlobeBackgroundOption

public void setGlobeBackgroundOption(int pOption)
                              throws IOException,
                                     AutomationException
The background option.

Product Availability

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

Specified by:
setGlobeBackgroundOption in interface IGlobeDisplayRendering2
Parameters:
pOption - A com.esri.arcgis.globecore.esriGlobeBackgroundOption constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLowBackgroundColor

public void setLowBackgroundColor(float red,
                                  float green,
                                  float blue)
                           throws IOException,
                                  AutomationException
Sets the low altitude background color.

Product Availability

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

Specified by:
setLowBackgroundColor in interface IGlobeDisplayRendering2
Parameters:
red - The red (in)
green - The green (in)
blue - The blue (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLowBackgroundColor

public void getLowBackgroundColor(float[] red,
                                  float[] green,
                                  float[] blue)
                           throws IOException,
                                  AutomationException
Returns the low altitude background color.

Product Availability

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

Specified by:
getLowBackgroundColor in interface IGlobeDisplayRendering2
Parameters:
red - The red (out: use single element array)
green - The green (out: use single element array)
blue - The blue (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBackgroundTransitionDistances

public void setBackgroundTransitionDistances(float lowAltitude,
                                             float highAltitude)
                                      throws IOException,
                                             AutomationException
Sets the altitude values in kilometers for the transition in the background color.

Product Availability

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

Specified by:
setBackgroundTransitionDistances in interface IGlobeDisplayRendering2
Parameters:
lowAltitude - The lowAltitude (in)
highAltitude - The highAltitude (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBackgroundTransitionDistances

public void getBackgroundTransitionDistances(float[] pLowAltitude,
                                             float[] pHighAltitude)
                                      throws IOException,
                                             AutomationException
Gets the altitude values in kilometers for the transition in the background color.

Product Availability

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

Specified by:
getBackgroundTransitionDistances in interface IGlobeDisplayRendering2
Parameters:
pLowAltitude - The pLowAltitude (out: use single element array)
pHighAltitude - The pHighAltitude (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSunPosition

public void setSunPosition(double latitude,
                           double longitude)
                    throws IOException,
                           AutomationException
Sets the sun position in lat, lon.

Product Availability

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

Specified by:
setSunPosition in interface IGlobeDisplayRendering2
Parameters:
latitude - The latitude (in)
longitude - The longitude (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSunPosition

public void getSunPosition(double[] pLatitude,
                           double[] pLongitude)
                    throws IOException,
                           AutomationException
Gets the sun position in lat, lon.

Product Availability

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

Specified by:
getSunPosition in interface IGlobeDisplayRendering2
Parameters:
pLatitude - The pLatitude (out: use single element array)
pLongitude - The pLongitude (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSunColor

public void setSunColor(float sunRed,
                        float sunGreen,
                        float sunBlue)
                 throws IOException,
                        AutomationException
Sets the sun RGB color.

Product Availability

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

Specified by:
setSunColor in interface IGlobeDisplayRendering2
Parameters:
sunRed - The sunRed (in)
sunGreen - The sunGreen (in)
sunBlue - The sunBlue (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSunColor

public void getSunColor(float[] pSunRed,
                        float[] pSunGreen,
                        float[] pSunBlue)
                 throws IOException,
                        AutomationException
Gets the sun RGB color.

Product Availability

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

Specified by:
getSunColor in interface IGlobeDisplayRendering2
Parameters:
pSunRed - The pSunRed (out: use single element array)
pSunGreen - The pSunGreen (out: use single element array)
pSunBlue - The pSunBlue (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSunContrast

public void setSunContrast(int pContrast)
                    throws IOException,
                           AutomationException
The illumination contrast.

Product Availability

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

Specified by:
setSunContrast in interface IGlobeDisplayRendering2
Parameters:
pContrast - The pContrast (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSunContrast

public int getSunContrast()
                   throws IOException,
                          AutomationException
The illumination contrast.

Product Availability

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

Specified by:
getSunContrast in interface IGlobeDisplayRendering2
Returns:
The pContrast
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAmbientLight

public void setAmbientLight(float pLightValue)
                     throws IOException,
                            AutomationException
The sun's ambient light value.

Product Availability

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

Specified by:
setAmbientLight in interface IGlobeDisplayRendering2
Parameters:
pLightValue - The pLightValue (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAmbientLight

public float getAmbientLight()
                      throws IOException,
                             AutomationException
The sun's ambient light value.

Product Availability

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

Specified by:
getAmbientLight in interface IGlobeDisplayRendering2
Returns:
The pLightValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBaseExaggeration

public void setBaseExaggeration(double pFactor)
                         throws IOException,
                                AutomationException
The vertical exaggeration for the base globe.

Product Availability

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

Specified by:
setBaseExaggeration in interface IGlobeDisplayRendering2
Parameters:
pFactor - The pFactor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBaseExaggeration

public double getBaseExaggeration()
                           throws IOException,
                                  AutomationException
The vertical exaggeration for the base globe.

Product Availability

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

Specified by:
getBaseExaggeration in interface IGlobeDisplayRendering2
Returns:
The pFactor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOverlayExaggeration

public void setOverlayExaggeration(double pFactor)
                            throws IOException,
                                   AutomationException
The vertical exaggeration for the overlay layers.

Product Availability

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

Specified by:
setOverlayExaggeration in interface IGlobeDisplayRendering2
Parameters:
pFactor - The pFactor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOverlayExaggeration

public double getOverlayExaggeration()
                              throws IOException,
                                     AutomationException
The vertical exaggeration for the overlay layers.

Product Availability

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

Specified by:
getOverlayExaggeration in interface IGlobeDisplayRendering2
Returns:
The pFactor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGlobeRadius

public double getGlobeRadius()
                      throws IOException,
                             AutomationException
The radius of the globe in meters.

Product Availability

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

Specified by:
getGlobeRadius in interface IGlobeDisplayRendering2
Returns:
The pRadiusInMeters
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsStarsEnabled

public void setIsStarsEnabled(boolean pbStars)
                       throws IOException,
                              AutomationException
Indicates if the stars are enabled.

Product Availability

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

Specified by:
setIsStarsEnabled in interface IGlobeDisplayRendering2
Parameters:
pbStars - The pbStars (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isStarsEnabled

public boolean isStarsEnabled()
                       throws IOException,
                              AutomationException
Indicates if the stars are enabled.

Product Availability

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

Specified by:
isStarsEnabled in interface IGlobeDisplayRendering2
Returns:
The pbStars
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsHaloEnabled

public void setIsHaloEnabled(boolean pbHalo)
                      throws IOException,
                             AutomationException
Indicates if the halo effect is enabled.

Product Availability

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

Specified by:
setIsHaloEnabled in interface IGlobeDisplayRendering2
Parameters:
pbHalo - The pbHalo (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHaloEnabled

public boolean isHaloEnabled()
                      throws IOException,
                             AutomationException
Indicates if the halo effect is enabled.

Product Availability

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

Specified by:
isHaloEnabled in interface IGlobeDisplayRendering2
Returns:
The pbHalo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

contentsChanged

public void contentsChanged(IActiveViewEventsContentsChangedEvent theEvent)
                     throws IOException,
                            AutomationException
Fired when the contents of the view changes.

Remarks

The Map object fires this event when a new document is loaded. Adding a new layer to a Map does not trigger this event.

The PageLayout object fires the event when IGraphicsContainer::DeleteAllElements in called and when a new document is loaded.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
contentsChanged in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IActiveView.contentsChanged()

contentsCleared

public void contentsCleared(IActiveViewEventsContentsClearedEvent theEvent)
                     throws IOException,
                            AutomationException
Fired when the contents of the view is cleared.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
contentsCleared in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

itemAdded

public void itemAdded(IActiveViewEventsItemAddedEvent theEvent)
               throws IOException,
                      AutomationException
Fired when an item is added to the view.

Remarks

The Map fires the event every time a new layer is added.

The PageLayout fires this event whenever a new element is added to the layout. Elements include not only graphics but data frames as well.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
itemAdded in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

itemDeleted

public void itemDeleted(IActiveViewEventsItemDeletedEvent theEvent)
                 throws IOException,
                        AutomationException
Fired when an item is deleted from the view.

Remarks

The PageLayout object fires this event whenever elements are deleted from the layout.

The Map object fires this event when a layer is removed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
itemDeleted in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

itemReordered

public void itemReordered(IActiveViewEventsItemReorderedEvent theEvent)
                   throws IOException,
                          AutomationException
Fired when a view item is reordered.

Remarks

The Map objects only fire this event whenever IMap::MoveLayer is called. In the ArcMap application, this occurs when you reorder layers in the table of contents. The Map will also fire this event when new layers are added.

The PageLayout object fires this event when changing the order of graphics. For example, IGraphicsContainer::BringToFront, PutElementOrder, SendToBack, SendBackward, and BringForward all fire this event. These functions are on ArcMap's Drawing menu under the Order pull right menu. Although the Map object is also a graphics container, it does not fire this event when its graphics are reordered.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
itemReordered in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

selectionChanged

public void selectionChanged(IActiveViewEventsSelectionChangedEvent theEvent)
                      throws IOException,
                             AutomationException
Call this function to fire the selection changed event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
selectionChanged in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

viewRefreshed

public void viewRefreshed(IActiveViewEventsViewRefreshedEvent theEvent)
                   throws IOException,
                          AutomationException
Fired when view is refreshed before draw happens.

Description

Method that gets fired in response to IActiveView::Refresh and IActiveView::PartialRefresh.

Remarks

This event is useful in the case where you're watching for something to change in the view and there aren't any specific events for that change (e.g. ContentsChanged, ItemAdded). You can always listen for this method as a last resort. Care must be taken however to be very efficient in your implementation of this event because it will be called quite often.

The event parameters directly coincide with the arguments to IActiveView::PartialRefresh. For additional information about the arguments, see the help for that method.

If the event object connects to both the layout and a map, then the view parameter tells you which object initiated the event.

In an implementation of this method you typically want to check the phase and respond to only one. Otherwise, your code will execute multiple times per drawing sequence.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
viewRefreshed in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

afterDraw

public void afterDraw(IActiveViewEventsAfterDrawEvent theEvent)
               throws IOException,
                      AutomationException
Fired after the specified phase is drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
afterDraw in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

afterItemDraw

public void afterItemDraw(IActiveViewEventsAfterItemDrawEvent theEvent)
                   throws IOException,
                          AutomationException
Fired after an individual view item is drawn. Example: view items include layers in a map or elements in a page layout.

Remarks

AfterItemDraw can be used to execute after each individual item has drawn. Event firing can be an expensive operation (time consuming) when there are many layers in a map, however. As a result, the AfterItemDraw event is only fired when the IViewManger::VerboseEvents property is set to True. By default this property is False.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
afterItemDraw in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

focusMapChanged

public void focusMapChanged(IActiveViewEventsFocusMapChangedEvent theEvent)
                     throws IOException,
                            AutomationException
Fired when a new map is made active.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
focusMapChanged in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

spatialReferenceChanged

public void spatialReferenceChanged(IActiveViewEventsSpatialReferenceChangedEvent theEvent)
                             throws IOException,
                                    AutomationException
Fired when the spatial reference is changed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
spatialReferenceChanged in interface IActiveViewEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

enumConnectionPoints

public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
                          throws IOException,
                                 AutomationException
enumConnectionPoints

Description

IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
enumConnectionPoints in interface IConnectionPointContainer
Parameters:
ppEnum - A reference to a com.esri.arcgis.display.IEnumConnectionPoints (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findConnectionPoint

public void findConnectionPoint(GUID riid,
                                IConnectionPoint[] ppCP)
                         throws IOException,
                                AutomationException
findConnectionPoint

Description

IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findConnectionPoint in interface IConnectionPointContainer
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
ppCP - A reference to a com.esri.arcgis.display.IConnectionPoint (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHWnd

public void setHWnd(int hWnd)
             throws IOException,
                    AutomationException
Associated window handle.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setHWnd in interface IScreenDisplay
Parameters:
hWnd - The hWnd (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHWnd

public int getHWnd()
            throws IOException,
                   AutomationException
Associated window handle.

Remarks

The hWnd property tells ScreenDisplay objects which window to draw in. When a new view (a Map or PageLayout) is created and activated (IActiveView::Activate), a related ScreenDisplay is created and its hWnd is set to that of the main application. Data windows, such as the MapInsetWindow, also have a related ScreenDisplay object and in this case the ScreenDisplay's hWnd property is set so that all drawing will occur in the data window and not the main application window.

Several Windows API calls require an hWnd in order to perform their operation; this property provides the hWnd for the ScreenDisplay object you are currently working with. For example, several of ArcMap's zoom commands use the Windows API function 'GetClientRect' to get the coordinates of the main window's client area. GetClientRect requires the hWnd of the window of interest and in ArcMap's case, IScreenDisplay::hWnd holds this.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getHWnd in interface IScreenDisplay
Returns:
The hWnd (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWindowDC

public int getWindowDC()
                throws IOException,
                       AutomationException
Device context for the associated window. Only use this between calls to StartDrawing and FinishDrawing.

Remarks

This property is a Windows operating environment device context handle. The Windows operating environment manages the system display by assigning a device context for each window in the application. You can use the WindowDC property to refer to the handle for an object's device context.

This property does not provide a value to pass to IDisplay::StartDrawing. Instead, call IDisplay::StartDrawing with a value of 0 for the hDC as this will automatically use the Windows API function GetDC to populate IScreenDisplay::WindowDC with the hDC of the main display and drawing will occur there.

The value of the WindowDC property can change while an application runs, so do not store the value in a variable; instead, use the WindowDC property each time you need it.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWindowDC in interface IScreenDisplay
Returns:
The hDC (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addCache

public short addCache()
               throws IOException,
                      AutomationException
Creates a new cache and return its ID. The ID can be specified to StartDrawing to direct output to the cache. It can also be used with a number of other methods such as DrawCache and Invalidate.

Remarks

ScreenDisplay objects make it possible for clients to create any number of caches. A cache is an off screen bitmap representing the application's window. Instead of drawing directly to the screen, graphics are drawn into caches, then the caches are drawn on the screen. When the application's window is obscured and requires redrawing, it done so from the caches instead of from a database. In this way, caches improve drawing performance - bitmap rendering is faster than reading and displaying data from a database.

In general, a Map object creates three caches: one for all the layers, another if there are annotation or graphics, and a third cache if there is a feature selection. A layer can create its own private cache if it sets ILayer::Cached equal to TRUE. In this case, the Map will create a separate cache for the layer and groups the layers above and below it into different caches.

The AppDisplay object has no implementation for this method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addCache in interface IScreenDisplay
Returns:
The cacheID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeCache

public void removeCache(short cacheID)
                 throws IOException,
                        AutomationException
Removes the specified cache.

Remarks

Use this method to remove a cache that is no longer needed. For example, calling the IActiveView::PartialRefresh method on a Map object will delete the Map's selection cache if one exists and there are no features selected.

The AppDisplay object has no implementation for this method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeCache in interface IScreenDisplay
Parameters:
cacheID - The cacheID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheCount

public short getCacheCount()
                    throws IOException,
                           AutomationException
Number of screen caches.

Remarks

Use this property to loop through all of the available screen caches. For example, if you Invalidate using esriAllScreenCaches, this property is used to loop through all of the caches to invalidate each one.

The AppDisplay object has no implementation for this method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCacheCount in interface IScreenDisplay
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeAllCaches

public void removeAllCaches()
                     throws IOException,
                            AutomationException
Removes all caches.

Remarks

Use this property to clear all of the screen caches the current object has. For example, when a Map is deactivated (IActiveView::Deactivate) it uses this property to remove all of its caches.

The AppDisplay object has no implementation for this method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
removeAllCaches in interface IScreenDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheMemDC

public int getCacheMemDC(short index)
                  throws IOException,
                         AutomationException
Memory device context for the specified screen cache.

Product Availability

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

Specified by:
getCacheMemDC in interface IScreenDisplay
Parameters:
index - The index (in)
Returns:
The hDC (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setActiveCache

public void setActiveCache(short index)
                    throws IOException,
                           AutomationException
Screen cache where drawing occurs. Use rarely. Change cache inside StartDrawing/FinishDrawing sequence.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setActiveCache in interface IScreenDisplay
Parameters:
index - The index (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getActiveCache

public short getActiveCache()
                     throws IOException,
                            AutomationException
Screen cache where drawing occurs. Use rarely. Change cache inside StartDrawing/FinishDrawing sequence.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getActiveCache in interface IScreenDisplay
Returns:
The index
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsFirstCacheTransparent

public void setIsFirstCacheTransparent(boolean flag)
                                throws IOException,
                                       AutomationException
Indicates if the bottom cache is transparent.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsFirstCacheTransparent in interface IScreenDisplay
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFirstCacheTransparent

public boolean isFirstCacheTransparent()
                                throws IOException,
                                       AutomationException
Indicates if the bottom cache is transparent.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isFirstCacheTransparent in interface IScreenDisplay
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.isFramed()

startRecording

public void startRecording()
                    throws IOException,
                           AutomationException
Starts recording all output to the recording cache.

Remarks

In addition to the caches clients create, the ScreenDisplay object also provides a recording cache that accumulates all drawing that happens on the display. This recording cache is used to redraw the application when the application is moved or exposed or when drawing rubber banding.

Note, StartRecording and StopRecording are exposed for developers creating custom applications that draw from multiple caches and need to refresh quickly. If you are working with ArcMap or even the Map object, leave all cache management up to the Map.

Use StartRecording to let the display know exactly what to record. Use DrawCache(esriScreenRecording) to display the recording cache. Use CacheMemDC(esriScreenRecording) to get a handle to the memory device context for the recording bitmap.

The following C++ code excerpt is a drawing sequence example that uses StartRecording.

VARIANT_BOOL isCacheDirty;

m_ipScreen->IsCacheDirty(esriScreenRecording, &isCacheDirty);



if (isCacheDirty) // draw from scratch

{

  m_ipScreen->StartRecording();

  m_ipScreen->StartDrawing((OLE_HANDLE)hPaintDC, esriNoScreenCache);

  DrawContents();

  m_ipScreen->FinishDrawing();

  m_ipScreen->StopRecording();

}

  else // draw from offscreen bitmap

{

  m_ipScreen->DrawCache((OLE_HANDLE)hPaintDC, esriScreenRecording, 0, 0);

}

Example:

The following java code gives you an example drawing sequence.

IScreenDisplay pScreen;

        boolean isCacheDirty = pScreen.isCacheDirty(esriScreenRecording);

        if (isCacheDirty) // draw from scratch

        {

          IDisplay pIDisplay = new IDisplayProxy(pScreen); 

          pScreen.startRecording();

          pIDisplay.startDrawing((int)hPaintDC, esriNoScreenCache);

          DrawContents();

          pScreen.finishDrawing();

          pScreen.stopRecording();

        } else // draw from offscreen bitmap

        {

          pScreen.drawCache((int)hPaintDC, esriScreenRecording, 0, 0);

        }

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
startRecording in interface IScreenDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

stopRecording

public void stopRecording()
                   throws IOException,
                          AutomationException
Stops recording to the recording cache.

Remarks

In addition to the caches clients create, the ScreenDisplay object also provides a recording cache that accumulates all drawing that happens on the display. This recording cache is used to redraw the application when the application is moved or exposed or when drawing rubber banding.

Note, StartRecording and StopRecording are exposed for developers creating custom applications that draw from multiple caches and need to refresh quickly. If you are working with ArcMap or even the Map object, leave all cache management up to the Map.

Use StartRecording to let the display know exactly what to record. Use DrawCache(esriScreenRecording) to display the recording cache. Use CacheMemDC(esriScreenRecording) to get a handle to the memory device context for the recording bitmap.

The following C++ code excerpt is a drawing sequence example that uses StartRecording.

VARIANT_BOOL isCacheDirty;

m_ipScreen->IsCacheDirty(esriScreenRecording, &isCacheDirty);



if (isCacheDirty) // draw from scratch

{

  m_ipScreen->StartRecording();

  m_ipScreen->StartDrawing((OLE_HANDLE)hPaintDC, esriNoScreenCache);

  DrawContents();

  m_ipScreen->FinishDrawing();

  m_ipScreen->StopRecording();

}

  else // draw from offscreen bitmap

{

  m_ipScreen->DrawCache((OLE_HANDLE)hPaintDC, esriScreenRecording, 0, 0);

}

Example:

The following java code gives you an example drawing sequence.

IScreenDisplay pScreen;

        boolean isCacheDirty = pScreen.isCacheDirty(esriScreenRecording);

        if (isCacheDirty) // draw from scratch

        {

          IDisplay pIDisplay = new IDisplayProxy(pScreen); 

          pScreen.startRecording();

          pIDisplay.startDrawing((int)hPaintDC, esriNoScreenCache);

          DrawContents();

          pScreen.finishDrawing();

          pScreen.stopRecording();

        } else // draw from offscreen bitmap

        {

          pScreen.drawCache((int)hPaintDC, esriScreenRecording, 0, 0);

        }

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
stopRecording in interface IScreenDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseScrollbars

public void setUseScrollbars(boolean flag)
                      throws IOException,
                             AutomationException
Indicates if scrollbars should appear.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setUseScrollbars in interface IScreenDisplay
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseScrollbars

public boolean isUseScrollbars()
                        throws IOException,
                               AutomationException
Indicates if scrollbars should appear.

Remarks

IActiveView::ShowScrollBars redirects all its calls to this property.

Changes to this property are not reflected until the active view changes. For example, when in layout view in ArcMap, programmatically changing the PageLayout to not show its scrollbars will have no effect until the next time the active view is set to the PageLayout; calling IActiveView::Refresh has no effect.

ArcMap uses this property to hide the Map's scroll bars when in layout view. Programmatically trying to display a Map's scroll bar in layout view will have no effect; for Map's this setting is only honored in data view and again it requires an active view change before the setting is reflected in the applications window.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUseScrollbars in interface IScreenDisplay
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setScrollbarHandles

public void setScrollbarHandles(int hWndHorzScrollbar,
                                int hWndVertScrollbar)
                         throws IOException,
                                AutomationException
Optionally specify application supplied scrollbars.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setScrollbarHandles in interface IScreenDisplay
Parameters:
hWndHorzScrollbar - The hWndHorzScrollbar (A COM typedef) (in)
hWndVertScrollbar - The hWndVertScrollbar (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setScaleContents

public void setScaleContents(boolean flag)
                      throws IOException,
                             AutomationException
Indicates if the contents of the screen scale when a resize occurs. True means scale contents to fit new window size. False means contents stays the same with more or less of it showing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setScaleContents in interface IScreenDisplay
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isScaleContents

public boolean isScaleContents()
                        throws IOException,
                               AutomationException
Indicates if the contents of the screen scale when a resize occurs. True means scale contents to fit new window size. False means contents stays the same with more or less of it showing.

Remarks

If a Map's ScaleContents property is set to TRUE, when its display is resized, the area shown stays the same and the scale changes. When set to FALSE, the scale of the Map stays the same and the area shown changes.

The PageLayout object works similarly. If set to TRUE, the contents are stretched when the display is resized. The scale of all maps changes. When set to FALSE, the page remains the same size.

In ArcMap, on the Tools/Options menu, there are check boxes for controlling this property for the data and layout view.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isScaleContents in interface IScreenDisplay
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSuppressResize

public void setSuppressResize(boolean suppressResize)
                       throws IOException,
                              AutomationException
Indicates if display resizing is suppressed. True means the display doesn't resize with the window. False ensures that the display is the same size as the window.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSuppressResize in interface IScreenDisplay
Parameters:
suppressResize - The suppressResize (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSuppressResize

public boolean isSuppressResize()
                         throws IOException,
                                AutomationException
Indicates if display resizing is suppressed. True means the display doesn't resize with the window. False ensures that the display is the same size as the window.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSuppressResize in interface IScreenDisplay
Returns:
The suppressResize
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFramed

public boolean isFramed()
                 throws IOException,
                        AutomationException
Indicates if drawing occurs in a frame rather than on the whole window.

Remarks

When creating a custom application, if you want the display to take over the window it's drawing in, set IsFramed to FALSE. This will add scrollbars (IScreenDisplay::UseScrollBars = TRUE) as necessary and keeps the device frame in sync with the window extent. Setting IsFramed to TRUE means that the display is drawing on some extent within the window. In this case, it won't show scrollbars and it won't automatically update the device frame.

For example, in the ArcMap application, in layout view where each Map resides inside a separate MapFrame, each Map has it IsFramed property set to TRUE. In data view, the opposite is true, a Map's display fits the entire window; in this view, all Map's have IsFramed set to FALSE, not just the focus map.

The IsFramed property also sets the IsFirstCacheTransparent property. When a Map is drawing in layout view, the PageLayout object has its ScreenDisplay and each Map has its own separate ScreenDisplay. This means that the layout has it's display cache(s) and the maps have their own. If the bottom cache of each map was opaque, you wouldn't be able to see through a map onto layout elements below it. Setting IsFirstCacheTransparent on the maps in layout view lets you see through the maps.

If you are working with Map's inside of ArcMap these settings should not be touched. Only use this property when building a low level application that uses a display to draw on a frame on a window.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isFramed in interface IScreenDisplay
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay

setIsFramed

public void setIsFramed(boolean flag)
                 throws IOException,
                        AutomationException
Indicates if drawing occurs in a frame rather than on the whole window.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsFramed in interface IScreenDisplay
Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCancelTracker

public ITrackCancel getCancelTracker()
                              throws IOException,
                                     AutomationException
Cancel tracker that is associated with the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCancelTracker in interface IScreenDisplay
Returns:
A reference to a com.esri.arcgis.system.ITrackCancel
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCancelTrackerByRef

public void setCancelTrackerByRef(ITrackCancel cancelTracker)
                           throws IOException,
                                  AutomationException
Cancel tracker that is associated with the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCancelTrackerByRef in interface IScreenDisplay
Parameters:
cancelTracker - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

invalidate

public void invalidate(IEnvelope rect,
                       boolean erase,
                       short cacheIndex)
                throws IOException,
                       AutomationException
Cause the specified area of the specified cache to redraw.

Remarks

Use Invalidate to refresh a specific region on the display. For example, if you add a new feature, only the extent of the new feature requires refreshing; the remainder of the display can redraw from cache.

The rect parameter specifies the region to update. Use 'Nothing' in Visual Basic or a zero in C++ to invalidate the entire display.

Erase specifies whether or not the background within the update region is erased when the update region is processed. Usually this is set to TRUE.

CacheIndex controls which cache to update. Use IActiveView::ScreenCacheID to get the cache index for a specific draw phase. The valid draw phases are held in the esriViewDrawPhase enumeration and are as follows:

0 - esriViewNone
1 - esriViewBackground
2 - esriViewGeography
4 - esriViewGeoSelection
8 - esriViewGraphics
16 - esriViewGraphicSelection
32 - esriviewForeground

You can also specify esriAllScreenCaches, esriNoScreenCache, and esriScreenRecording.

Invalidate sets the cache(s) as dirty. Use IsCacheDirty to check the state of a particular cache.

After completion, Invalidate fires the IDisplayEvents::DisplayInvalidated event.

IActiveView::PartialRefresh has similar parameters and itself calls Invalidate. Use this method instead as much as possible as it automatically determines the cache index based on the phase provided.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
invalidate in interface IScreenDisplay
Parameters:
rect - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
erase - The erase (in)
cacheIndex - The cacheIndex (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriViewDrawPhase, IGlobeLayerProperties2, IActiveView.partialRefresh(int, java.lang.Object, com.esri.arcgis.geometry.IEnvelope), IScreenDisplay.invalidate(com.esri.arcgis.geometry.IEnvelope, boolean, short), IActiveView.getScreenCacheID(int, java.lang.Object), IActiveView.refresh()

isCacheDirty

public boolean isCacheDirty(short cacheIndex)
                     throws IOException,
                            AutomationException
Indicates if the specified cache needs refreshing.

Remarks

When drawing, use this property to check if a particular cache is dirty. If a cache is not dirty (FALSE), redraw the cache; if the cache is dirty (TRUE), redraw from scratch.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCacheDirty in interface IScreenDisplay
Parameters:
cacheIndex - The cacheIndex (in)
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawCache

public void drawCache(int hDC,
                      short index,
                      tagRECT deviceRect,
                      tagRECT cacheRect)
               throws IOException,
                      AutomationException
Draws the specified screen cache to the specified window device context. Pass an empty rectangle to copy the full bitmap to the DC origin.

Remarks

Redrawing data from scratch is time consuming compared to drawing data that has been cached in an off-screen bitmap. If a particular cache return FALSE for IsCacheDirty, use DrawCache to instantly redraw the bitmap.

Use the CacheMemDC property to get the desired cache's hDC.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawCache in interface IScreenDisplay
Parameters:
hDC - The hDC (A COM typedef) (in)
index - The index (in)
deviceRect - A Structure: com.esri.arcgis.display.tagRECT (in)
cacheRect - A Structure: com.esri.arcgis.display.tagRECT (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

doScroll

public void doScroll(int xDelta,
                     int yDelta,
                     boolean updateScreen)
              throws IOException,
                     AutomationException
Scrolls the screen by the specified amount.

Remarks

ArcMap's scroll bars call this method to scroll the current display. The updateScreen parameter specifies whether or not the display will be refreshed after the scroll.

Example:

The following example shows how this method can be used.

MapControl mapControl; 
IActiveView pActiveView = mapControl.getActiveView(); 
IDisplayTransformation pDisplayTransform =      
   pActiveView.getScreenDisplay().getDisplayTransformation()  
IScreenDisplay pScreenDisplay = pActiveView.getScreenDisplay();  
pScreenDisplay.doScroll( 100, 100, true );

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
doScroll in interface IScreenDisplay
Parameters:
xDelta - The xDelta (in)
yDelta - The yDelta (in)
updateScreen - The updateScreen (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

trackPan

public void trackPan()
              throws IOException,
                     AutomationException
Interactively pans the screen.

Remarks

There are two approaches to panning - this method, and the group PanStart, PanMoveTo, and PanStop. This method is the easiest to use as it takes care of all the mouse events and refreshing the display when pan is complete.

Call this method in the mouse down event and make certain you have a reference to the correct ScreenDisplay object. For example, if you are in layout view and you want to pan just the focus map, do not use the ScreenDisplay object associated with IMxDocument::ActiveView. Instead, get the focus Map via IMxDocument::FocusMap, and then get its ScreenDisplay.

Example:

MapControl mapControl; 
IActiveView pActiveView = mapControl.getActiveView();        
IScreenDisplay pScreenDisplay = pActiveView.getScreenDisplay();        
pScreenDisplay.trackPan();

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
trackPan in interface IScreenDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.panMoveTo(com.esri.arcgis.geometry.IPoint), IScreenDisplay.panStart(com.esri.arcgis.geometry.IPoint), IScreenDisplay.panStop()

panStart

public void panStart(IPoint mouseLocation)
              throws IOException,
                     AutomationException
Prepares display for panning.

Remarks

Call PanStart to initiate panning. The required point parameter specifies the pan's starting point. Call PanMoveTo next to specify a destination point.

The typical sequence for using the pan methods is as follows:

See TrackPan for an alternative panning approach.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
panStart in interface IScreenDisplay
Parameters:
mouseLocation - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.panMoveTo(com.esri.arcgis.geometry.IPoint), IScreenDisplay.panStart(com.esri.arcgis.geometry.IPoint), IScreenDisplay.panStop(), IScreenDisplay.trackPan()

panMoveTo

public void panMoveTo(IPoint mouseLocation)
               throws IOException,
                      AutomationException
Pans to a new point.

Remarks

PanMoveTo pans the display by calculating an offset distance between the start point supplied to PanStart and the destination point provided to this method. The recording cache is automatically redrawn each time PanMoveTo is called. Use the envelope PanStop returns to truly refresh the display.

The typical sequence for using the pan methods is as follows:

See TrackPan for an alternative panning approach.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
panMoveTo in interface IScreenDisplay
Parameters:
mouseLocation - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.panMoveTo(com.esri.arcgis.geometry.IPoint), IScreenDisplay.panStart(com.esri.arcgis.geometry.IPoint), IScreenDisplay.panStop(), IScreenDisplay.trackPan()

panStop

public IEnvelope panStop()
                  throws IOException,
                         AutomationException
Stops panning and returns new visible bounds.

Remarks

PanStop creates an Envelope that should be used to reset the extent of the active view. Because PanMoveTo redraws only the recording cache (bitmap), there are typically blank areas in the display. Call IActiveView::Refresh after calling PanStop to invalidate the entire display.

The typical sequence for using the pan methods is as follows:

See TrackPan for an alternative panning approach.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
panStop in interface IScreenDisplay
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.panMoveTo(com.esri.arcgis.geometry.IPoint), IScreenDisplay.panStart(com.esri.arcgis.geometry.IPoint), com.esri.arcgis.display.IActiveView, IScreenDisplay.panStop(), IScreenDisplay.trackPan()

trackRotate

public void trackRotate()
                 throws IOException,
                        AutomationException
Interactively rotates the screen.

Remarks

There are two approaches to rotating the display - this method and the group RotateStart, RotateMoveTo, RotateTimer, and RotateStop. This method is the easiest to use as it takes care of all the mouse events automatically, performs the final display rotation, and invalidates the display.

Call this method in the mouse down event and make certain you have a reference to the correct ScreenDisplay object. For example, if you are in layout view and you want to pan just the focus map, do not use the ScreenDisplay object associated with IMxDocument::ActiveView. Instead, get the focus Map via IMxDocument::FocusMap, and then get its ScreenDisplay.

Example:

The following java code excerpt shows this.

MapControl mapControl; 
IActiveView pActiveView = mapControl.getActiveView();        
IScreenDisplay pScreenDisplay = pActiveView.getScreenDisplay();       
pScreenDisplay.trackRotate();
 



Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
trackRotate in interface IScreenDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotateStart

public void rotateStart(IPoint mousePt,
                        IPoint centerPt)
                 throws IOException,
                        AutomationException
Prepares display for rotating. If centerPt is NULL, the center of the visible bounds is used.

Remarks

Call RotateStart to initiate rotating the display. The required point parameter specifies the starting point of the rotation. Call RotateMoveTo next to specify the rotation destination point, a rotation angle is calculated based on these two points.

The typical sequence for using the rotate methods is as follows:

See TrackRotate for an alternative rotating approach.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rotateStart in interface IScreenDisplay
Parameters:
mousePt - A reference to a com.esri.arcgis.geometry.IPoint (in)
centerPt - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.rotateTimer(), IDisplayTransformation.getRotation(), IScreenDisplay.rotateMoveTo(com.esri.arcgis.geometry.IPoint), IScreenDisplay.rotateStop(), IScreenDisplay.rotateStart(com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint)

rotateMoveTo

public void rotateMoveTo(IPoint pPoint)
                  throws IOException,
                         AutomationException
Rotates to new point.

Remarks

RotateMoveTo rotates the display based on the calculated angle between the start point supplied to RotateStart and the destination point provided to this method. Next call RotateTimer to show the rotation degree readout and repaint the display from cache.

The typical sequence for using the rotate methods is as follows:

See TrackRotate for an alternative rotating approach.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rotateMoveTo in interface IScreenDisplay
Parameters:
pPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.rotateTimer(), IDisplayTransformation.getRotation(), IScreenDisplay.rotateMoveTo(com.esri.arcgis.geometry.IPoint), IScreenDisplay.rotateStop(), IScreenDisplay.rotateStart(com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint)

rotateTimer

public void rotateTimer()
                 throws IOException,
                        AutomationException
Draws the rotated display. Call in response to WM_TIMER.

Remarks

RotateTimer shows the rotation degree readout and repaints the display from cache.

The typical sequence for using the rotate methods is as follows:

See TrackRotate for an alternative rotating approach.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rotateTimer in interface IScreenDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.rotateTimer(), IDisplayTransformation.getRotation(), IScreenDisplay.rotateMoveTo(com.esri.arcgis.geometry.IPoint), IScreenDisplay.rotateStop(), IScreenDisplay.rotateStart(com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint)

rotateStop

public double rotateStop()
                  throws IOException,
                         AutomationException
Stops rotating and returns new angle.

Remarks

RotateStop returns the final rotation angle. You must call IDisplayTransformation::Rotation with the final rotation angle to actually rotate the display.

The typical sequence for using the rotate methods is as follows:

See TrackRotate for an alternative rotating approach.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rotateStop in interface IScreenDisplay
Returns:
The degrees
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IScreenDisplay.rotateTimer(), IDisplayTransformation.getRotation(), IScreenDisplay.rotateMoveTo(com.esri.arcgis.geometry.IPoint), IScreenDisplay.rotateStop(), IScreenDisplay.rotateStart(com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint)

updateWindow

public void updateWindow()
                  throws IOException,
                         AutomationException
Forces a redraw.

Remarks

Use UpdateWindow to process pending Windows WM_PAINT messages immediately. This may be the case if you have a routine that takes a long time to execute and you need the window to refresh while the code executes. Typically, no drawing will occur until all your code has been executed and control returns to the ArcMap's message loop and the WM_PAINT message is handled. UpdateWindow forces the window to invalidate by sending a WM_PAINT message directly to the window; the normal ArcMap message queue is bypassed.

See UpdateWindow in MSDN for more information.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateWindow in interface IScreenDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDisplayTransformation

public IDisplayTransformation getDisplayTransformation()
                                                throws IOException,
                                                       AutomationException
The transformation used by the display.

Remarks

Each display object, like ScreenDisplay for example, manages (CoCreates) a DisplayTransformation object to convert coordinates between map units and device units. Use this property to get a reference to the DisplayTransformation object associated with this display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDisplayTransformation in interface IDisplay
Returns:
A reference to a com.esri.arcgis.display.IDisplayTransformation
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDisplayTransformation

public void setDisplayTransformation(IDisplayTransformation displayTransformation)
                              throws IOException,
                                     AutomationException
The transformation used by the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDisplayTransformation in interface IDisplay
Parameters:
displayTransformation - A reference to a com.esri.arcgis.display.IDisplayTransformation (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClipEnvelope

public IEnvelope getClipEnvelope()
                          throws IOException,
                                 AutomationException
The bounds of the invalid region. Use after StartDrawing and before FinishDrawing.

Remarks

The ClipEnvelope is the is the display transformation's fitted bounds (IDisplayTransformation::FittedBounds) intersected with the ClipGeometry if one exists.
This property is mostly used during drawing operations, for example, IDisplay's drawing functions clip (ITopologicalOperator::Clip) the object they are drawing against the ClipEnvelope to ensure that only the visible parts of the object are drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipEnvelope in interface IDisplay
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClipEnvelopes

public ISet getClipEnvelopes()
                      throws IOException,
                             AutomationException
The invalid region as a set of envelopes. Use after StartDrawing and before FinishDrawing.

Remarks

Use ISet::Reset and ISet::Next methods to iterate through the returned set of objects.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipEnvelopes in interface IDisplay
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClipGeometry

public IGeometry getClipGeometry()
                          throws IOException,
                                 AutomationException
User-specified clip shape. This shape is merged with the invalid region to arrive at the actual clip region. Must be specified before StartDrawing.

Remarks

Use the ClipGeometry property to shape the area data is drawn in. For example, if you had a map of the United States that contained many layers, you could set the ClipGeometry property on the focus Map's ScreenDisplay object equal to the geometry of a particular state thereby telling the map to only draw the data falling within the particular state's area. The ClipGeometry is used to cookie-cut all data before it is drawn.

See IMap::ClipGeometry for a more information and a sample.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClipGeometry in interface IDisplay
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setClipGeometry

public void setClipGeometry(IGeometry geometry)
                     throws IOException,
                            AutomationException
User-specified clip shape. This shape is merged with the invalid region to arrive at the actual clip region. Must be specified before StartDrawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setClipGeometry in interface IDisplay
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSuppressEvents

public boolean isSuppressEvents()
                         throws IOException,
                                AutomationException
Indicates if display object suppresses events.

Remarks

Use SuppressEvents to prevent the following events from being fired.

For example, IScreenDisplay::StartDrawing sets SuppressEvents to TRUE and FinishDrawing sets it back to FALSE, this prevents all transform events from firing during the drawing.

SuppressEvents is set to FALSE by default.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSuppressEvents in interface IDisplay
Returns:
The suppressEvents
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSuppressEvents

public void setSuppressEvents(boolean suppressEvents)
                       throws IOException,
                              AutomationException
Indicates if display object suppresses events.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSuppressEvents in interface IDisplay
Parameters:
suppressEvents - The suppressEvents (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFilter

public IDisplayFilter getFilter()
                         throws IOException,
                                AutomationException
Display filter. Must call while in a StartDrawing-FinishDrawing sequence. Set Filter to 0 to resume normal drawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFilter in interface IDisplay
Returns:
A reference to a com.esri.arcgis.display.IDisplayFilter
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFilterByRef

public void setFilterByRef(IDisplayFilter filter)
                    throws IOException,
                           AutomationException
Display filter. Must call while in a StartDrawing-FinishDrawing sequence. Set Filter to 0 to resume normal drawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setFilterByRef in interface IDisplay
Parameters:
filter - A reference to a com.esri.arcgis.display.IDisplayFilter (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHPalette

public int getHPalette()
                throws IOException,
                       AutomationException
Palette.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getHPalette in interface IDisplay
Returns:
The hPalette (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHPalette

public void setHPalette(int hPalette)
                 throws IOException,
                        AutomationException
Palette.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setHPalette in interface IDisplay
Parameters:
hPalette - The hPalette (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startDrawing

public void startDrawing(int hDC,
                         short cacheID)
                  throws IOException,
                         AutomationException
Prepare the display for drawing. Specify the device context and the cache to draw to (normally esriNoScreenCache). The ScreenDisplay coclass will automatically create a window device context if you specify hdc = 0.

Remarks

StartDrawing and FinishDrawing are used to manage clipping, symbols, and caching. Call StartDrawing and FinishDrawing anytime you want to draw to a device such as a display, printer, or cache (bitmap). However, if you are drawing in response to IActiveViewEvents::AfterDraw, the Map object automatically makes these calls for you.

StartDrawing has two parameters: hDc and cacheID. The hDc parameter specifies the target device where drawing will occur, usually a display, printer, or bitmap. The cacheID parameter activates a specific cache. In most cases, esriNoScreenCache should be used.

Specifying a cache sets it as the screen's active cache. When esriNoScreenCache is used, it sets the display's active cache to zero and drawing occurs directly in the device. Specify a cache when you don't want to draw to a screen directly and you instead want to draw to a cache (bitmap) that may ultimately be copied to the screen. For example, when ArcMap draws geography, it draws it to a specific cache and then the cache is copied to the screen. When the screen repaints, instead of drawing all the data from scratch again, the software checks if the cache is dirty or not and simply redraws the bitmap to save time if it can. When drawing to a cache, the hDc parameter should be the device context of the bitmap, use the IScreenDisplay::CacheMemDC property to get a particular cache's hDC.

Each time you need to change the cache you are drawing to, you must do so inside a new StartDrawing / FinishDrawing block. For example, ArcMap usually creates three caches: one for geography layers, one for graphics and annotation, and one for selections. ArcMap draws each of these phases within a separate StartDrawing / FinishDrawing block.

There are times when may need to draw shapes directly to screen without having them become part of a display cache. For example, drawing moving objects. In these cases, use IScreenDisplay::WindowDC to get the device context of the display and esriNoScreenCache as the cacheID.

If a zero is specified for the hDc parameter, the Windows API function GetDC is used to populate IScreenDisplay::WindowDC with the hDC of the main display and drawing is sent here.

As mentioned above, if you drawing in response to the IActiveView::AfterDraw event, the Map object calls StartDrawing and StopDrawing for you. Also, if the draw phase you are drawing after is cached, your drawings will be cached as well.
StartDrawing fires the IDisplayEvents::DisplayStarted event.

Example:

The following java code gives you an example drawing sequence.

<font face=”Courier New” size=2>
<pre>
IScreenDisplay pScreen;
boolean isCacheDirty = pScreen.isCacheDirty(esriScreenRecording);
if (isCacheDirty) // draw from scratch
{
IDisplay pIDisplay = new IDisplayProxy(pScreen);
pScreen.startRecording();
pIDisplay.startDrawing((int)hPaintDC, esriNoScreenCache);
DrawContents();
pScreen.finishDrawing();
pScreen.stopRecording();
} else // draw from offscreen bitmap
{
pScreen.drawCache((int)hPaintDC, esriScreenRecording, 0, 0);
}
</pre>
</font>

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
startDrawing in interface IDisplay
Parameters:
hDC - The hDC (A COM typedef) (in)
cacheID - The cacheID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.finishDrawing()

getHDC

public int getHDC()
           throws IOException,
                  AutomationException
The device context that the display is currently drawing to. Only valid between calls to StartDrawing and FinishDrawing.

Remarks

Returns the device context specified to StartDrawing. This may be the device context of a display, cache (bitmap), or some other device such as a printer. As StartDrawing is called frequently throughout the drawing pipeline, the hDc property continually changes and is therefore safe to use only within a single StartDrawing / FinishDrawing block.

This property does not provide a value to pass to IDisplay::StartDrawing. Instead, call IDisplay::StartDrawing with a value of 0 for the hDC as this will automatically use the Windows API function GetDC to populate IScreenDisplay::WindowDC with the hDC of the main display and drawing will occur there.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getHDC in interface IDisplay
Returns:
The hDC (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

finishDrawing

public void finishDrawing()
                   throws IOException,
                          AutomationException
Completes drawing.

Remarks

When FinishDrawing is called, all the caches get flushed to the screen.
FinishDrawing must be called before StartDrawing can be called again.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
finishDrawing in interface IDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

progress

public void progress(int vertexCount)
              throws IOException,
                     AutomationException
Call frequently during drawing process.

Remarks

Progress is called from the draw methods.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
progress in interface IDisplay
Parameters:
vertexCount - The vertexCount (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

drawPoint

public void drawPoint(IGeometry point)
               throws IOException,
                      AutomationException
Draws specified point on the display.

Remarks

DrawPoint draws a Point object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawPoint in interface IDisplay
Parameters:
point - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawMultipoint

public void drawMultipoint(IGeometry multipoint)
                    throws IOException,
                           AutomationException
Draws specified multipoint on the display.

Remarks

DrawMultipoint draws a Multipoint object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawMultipoint in interface IDisplay
Parameters:
multipoint - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawRectangle

public void drawRectangle(IEnvelope rectangle)
                   throws IOException,
                          AutomationException
Draws specified rectangle on the display.

Remarks

DrawRectangle draws a Envelope object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawRectangle in interface IDisplay
Parameters:
rectangle - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawPolyline

public void drawPolyline(IGeometry polyline)
                  throws IOException,
                         AutomationException
Draws specified line on the display.

Remarks

DrawPolyline draws a Polyline object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawPolyline in interface IDisplay
Parameters:
polyline - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawPolygon

public void drawPolygon(IGeometry polygon)
                 throws IOException,
                        AutomationException
Draws specified polygon on the display.

Remarks

DrawPolygon draws a Polygon object with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawPolygon in interface IDisplay
Parameters:
polygon - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

drawText

public void drawText(IGeometry shape,
                     String text)
              throws IOException,
                     AutomationException
Draws specified text on the display.

Remarks

DrawText draws a text string with the symbol that must be specified before hand with the SetSymbol method. All draw methods must be enclosed between the calls to StartDrawing and FinishDrawing unless you are drawing in response to the IActiveViewEvents::AfterDraw event.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
drawText in interface IDisplay
Parameters:
shape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
text - The text (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IDisplay.startDrawing(int, short)

setSymbol

public void setSymbol(ISymbol sym)
               throws IOException,
                      AutomationException
Sets the symbol used for drawing. Four different symbols can be specified simultaneously: Marker, Line, Fill, Text.

Remarks

Call this method before calling one of the Draw methods to set the symbol for the object about to be drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSymbol in interface IDisplay
Parameters:
sym - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIlluminationProps

public IIlluminationProps getIlluminationProps()
                                        throws IOException,
                                               AutomationException
Illumination properties used by the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getIlluminationProps in interface IDisplay
Returns:
A reference to a com.esri.arcgis.display.IIlluminationProps
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIlluminationProps

public void setIlluminationProps(IIlluminationProps illuminationProps)
                          throws IOException,
                                 AutomationException
Illumination properties used by the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIlluminationProps in interface IDisplay
Parameters:
illuminationProps - A reference to a com.esri.arcgis.display.IIlluminationProps (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStatistic

public double getStatistic(int property)
                    throws IOException,
                           AutomationException
The accumulated or instantaneous value of an statistic.

Product Availability

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

Specified by:
getStatistic in interface IGlobeStatInfo
Parameters:
property - A com.esri.arcgis.globecore.esriGlobeStat constant (in)
Returns:
The pValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startAccumulating

public void startAccumulating(int property)
                       throws IOException,
                              AutomationException
Start accumulating values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
startAccumulating in interface IGlobeStatInfo
Parameters:
property - A com.esri.arcgis.globecore.esriGlobeStat constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

stopAccumulating

public double stopAccumulating(int property)
                        throws IOException,
                               AutomationException
Stop accumulating values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
stopAccumulating in interface IGlobeStatInfo
Parameters:
property - A com.esri.arcgis.globecore.esriGlobeStat constant (in)
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNumFramesInAvg

public void setNumFramesInAvg(int property,
                              int num)
                       throws IOException,
                              AutomationException
Set Number of frames used in averaging.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setNumFramesInAvg in interface IGlobeStatInfo
Parameters:
property - A com.esri.arcgis.globecore.esriGlobeStat constant (in)
num - The num (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createLayerFromGmxXML

public IEnumLayer createLayerFromGmxXML(String cachePath)
                                 throws IOException,
                                        AutomationException
Creates the globe layer file for the globe cache given by gmx.xml configuration file.

Description

Use IGlobeDisplayUtil.CreateLayerFromGmxXML to create a layer file for a globe cache

cachePath - the full path for you data cache. It can include gmx.xml or just full path to the cache path folder.

ppLayers – returns an IEnumLayer. You can use IScene:AddLayers to add the returned layer to the globe.

Product Availability

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

Specified by:
createLayerFromGmxXML in interface IGlobeDisplayUtil
Parameters:
cachePath - The cachePath (in)
Returns:
A reference to a com.esri.arcgis.carto.IEnumLayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.