ArcGlobe


This document was published with and applies to ArcGIS 9.3.
A 10 version also exists. A 9.2 version also exists.
Supported with:
Library dependencies: System, SystemUI, Geometry, Display, Server, Output, Geodatabase, GISClient, ArcWeb, DataSourcesFile, DataSourcesGDB, DataSourcesOleDB, DataSourcesRaster, DataSourcesNetCDF, GeoDatabaseDistributed, GeoDatabaseExtensions, Carto, NetworkAnalysis, Location, GeoAnalyst, Animation, Maplex, Geoprocessing, NetworkAnalyst, Schematic, SpatialAnalyst, 3DAnalyst, GlobeCore, Publisher, TrackingAnalyst, Framework, GeoDatabaseUI, DisplayUI, OutputUI, Catalog, CatalogUI, CartoUI, DataSourcesRasterUI, ArcCatalog, ArcCatalogUI, ArcMap, ArcMapUI, AnimationUI, Editor, GeoReferenceUI, EditorExt, LocationUI, GeoDatabaseDistributedUI, GeoprocessingUI, OutputExtensions, OutputExtensionsUI, DataSourcesSMUUI, ArcScan, NetworkAnalystUI, SpatialAnalystUI, SchematicUI, 3DAnalystUI, ArcScene, GlobeCoreUI

Additional library information: Contents, Object Model Diagram

The ArcGlobe library contains the ArcGlobe application and its associated user interface (UI) components, commands, and tools. The Application and GMxDocument objects are defined and implemented by this library. Developers can use the Application object when customizing the ArcGlobe application or working with one of the ArcGlobe extensions.
 
Developers extend this library by creating commands, tools, and extensions for use in the ArcGlobe application.

The objects that implement this functionality are grouped into a number of library subsystems. These library subsystems are:

ArcGlobe application

Similar to other ArcGIS desktop applications such as ArcMap, ArcCatalog, and ArcScene, Application is the core object that represents the ArcGlobe desktop application. When you start ArcGlobe, the Application object is created and, in turn, instantiates all the objects it manages. Through this coclass, you can access properties and methods for the application and navigate to other elements, such as the document, window handle, and status bar.
 
The ArcGlobe objects are shown in the following diagram.
 
 
The following Visual Basic for Applications (VBA) code describes how to get a handle to the Application object directly.

If you're implementing commands and tools in Visual Basic (VB) DLLs, the classes get a hook to the Application object when they're instantiated as shown in the following code.
You can also create an AppRef object to get a reference to the current application as shown in the following VBA code.
Once you have a handle on the application, you have access to everything contained in it. The application is comprised of GMxDocument. The document is comprised of a Globe object as shown in the following diagram.
 

 
The globe has a GlobeDisplay in the GlobeCore library that references one or more viewers, each of which has a GlobeCamera object. If, for example, you want access to a viewer's camera, you can drill down through each object in the diagram to gain access to it.
 
Default layers in ArcGlobe
When ArcGlobe is opened, there are existing layers in the table of contents. These are the default layers that ship with ArcGlobe and are meant to be a background or starting point for using ArcGlobe. You can use the layers provided by default, provide your own, or not include default layers at all. The default layers can be modified using the methods and properties of the IGMxDefaultLayers interface.

ArcGlobe document

The ArcGlobe document is GMxDocument. Each running instance of ArcGlobe works with a current globe document, which is represented by GMxDocument. There is one GMxDocument per ArcGlobe session. GMxDocument is cocreatable, and the ArcGlobe application automatically creates this object when the application starts.
 
Contents views in ArcGlobe documents
Contents views are tabs in the ArcGlobe table of contents. The table of contents in ArcGlobe differs slightly from other ArcGIS applications. ArcGlobe ships with three contents views for displaying layers—the Display and Source pages are the same as ArcMap and ArcScene, and a third page categorizes layers by their type. The Type tab, which is unique to ArcGlobe, shows the layers in the table of contents based on whether they are draped, floating, or elevation layers. The layer ordering in ArcGlobe is a property of the Draped category under the Type tab. This layer ordering does not have a precedence in the ordering of layers in the 3D display.
 
The Display tab is the TOCGMxDisplayView object, the Source tab is the TOCGMxCatalogView object, and the Type tab is the TOCGMxTypeView. Developers can add new contents views by creating custom objects that implement the IContentsView interface. All contents views are managed by the GMxDocument object and must be registered in the ESRI Contents Views component category. The registered contents views are automatically created by the GMxDocument object when it is created. However, only one contents view can be active at a time. The IGMxDocument.CurrentContentsView property can be used to set and get a reference to the current contents view.
 
Filtering ArcGlobe documents
When browsing for ArcGlobe documents (*.3dd files), GxFilterGlobes (which maintains the document filter used by ArcGlobe) determines the documents that can be opened in ArcGlobe.