com.esri.arcgis.controls
Interface IARGlobe

All Superinterfaces:
Serializable
All Known Implementing Classes:
ARGlobe, IARGlobeProxy

public interface IARGlobe
extends Serializable

Provides access to members that control the ARGlobe.

Description

The IARGlobe interface is a starting point for navigating around the globe, setting globe properties, and accessing any layer's contained within the globe.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.


Method Summary
 void centerAt(double longitude, double latitude)
          Moves the observer over the specified point.
 void centerAtBookmark(Object vBookmarkID)
          Zooms the globe display to the bookmark.
 int getAnimationCount()
          The number of animations in the globes's animation collection.
 String getAnimationName(int index)
          The name of the animation.
 IARLayer getARLayer(int index)
          The layer at the specified index.
 int getARLayerCount()
          The number of layers in the globe's layer collection.
 double getAzimuth()
          The azimuth of the observer in degrees.
 int getBookmarkCount()
          The number of bookmarks in the globe’s bookmark collection.
 String getBookmarkName(int index)
          The name of the bookmark.
 double getElevation()
          The distance between observer location and globe’s surface.
 int getGlobeUnits()
          The geographical units of the globe.
 void getObserverLocation(double[] longitude, double[] latitude, double[] elev)
          Gets the current observer location.
 double getPitch()
          The pitch of the observer in degrees.
 String getSpatialReferenceName()
          The name of the globe’s spatial reference.
 boolean getSurfacePoint(int x, int y, double[] longitude, double[] latitude, double[] elev)
          Converts a point in device coordinates (typically pixels) to coordinates in latitude and longitude.
 IARFeature locateARFeature(int x, int y)
          Searches the globe along a ray trace, returns the first feature in the ray.
 void playAnimation(Object vAnimationID)
          Plays an animation.
 IARFeatureSet queryARFeatures(IARSearchDef pSearchDef)
          Searches the globe using a search definition and returns an ARFeatureSet.
 IARFeatureCursor searchARFeatures(IARSearchDef pSearchDef)
          Searches the globe using a search definition and returns an ARFeatureCursor.
 void setAzimuth(double azimuth)
          The azimuth of the observer in degrees.
 void setElevation(double elev)
          The distance between observer location and globe’s surface.
 void setObserverLocation(double longitude, double latitude, double elev)
          Sets the current observer location.
 void setPitch(double pitch)
          The pitch of the observer in degrees.
 void zoomToBookmark(Object vBookmarkID)
          Zooms the globe display to the bookmark.
 void zoomToFullExtent()
          Zoom to the full extent of the globe.
 

Method Detail

getBookmarkCount

int getBookmarkCount()
                     throws IOException,
                            AutomationException
The number of bookmarks in the globe’s bookmark collection.

Description

The BookmarkCount property returns the number of spatial bookmarks within the ARGlobe.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBookmarkName

String getBookmarkName(int index)
                       throws IOException,
                              AutomationException
The name of the bookmark.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

zoomToBookmark

void zoomToBookmark(Object vBookmarkID)
                    throws IOException,
                           AutomationException
Zooms the globe display to the bookmark.

Description

Zooms to the spatial bookmark to make it visible on the display as the new viewing extent, changing the observer location. A bookmark name, or index within the bookmark collection, can be passed as the vBookmarkID parameter.

Specify a BookmarkName or a zero-based index to zoom to a spatial bookmark. For example, to zoom to the first spatial bookmark in the collection, pass an index of 0, and to zoom to the last spatial bookmark in the layer collection, pass an index of (BookmarkCount - 1).


Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
vBookmarkID - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

centerAtBookmark

void centerAtBookmark(Object vBookmarkID)
                      throws IOException,
                             AutomationException
Zooms the globe display to the bookmark.

Description

Centers the spatial bookmark in the display to make it visible. ARGlobe::Elevation and ARGlobe::Pitch, which partly determine the ARGlobe observers location and view, will change to that of the observer location when the spatial bookmark was created.

Specify a BookmarkName or a zero-based index to center a spatial bookmark. For example, to center the first spatial bookmark in the collection, pass an index of 0, and to center the last spatial bookmark in the layer collection, pass an index of (BookmarkCount - 1).

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
vBookmarkID - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAnimationCount

int getAnimationCount()
                      throws IOException,
                             AutomationException
The number of animations in the globes's animation collection.

Description

The AnimationCount property returns the number of Animations within the ARGlobe animation collection. The ARGlobe animation collection only contains animations published with the currently open document.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAnimationName

String getAnimationName(int index)
                        throws IOException,
                               AutomationException
The name of the animation.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

playAnimation

void playAnimation(Object vAnimationID)
                   throws IOException,
                          AutomationException
Plays an animation.

Description

Plays the animation. An animation name, or index within the animation collection, can be passed as the vAnimationID parameter.

Remarks

The Animation Window is visible depending on the value of the showAnimationWindow parameter. The Animation Window provides simple controls to play and stop animations. By default showAnimationWindow is false and animations are played without the window.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
vAnimationID - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getARLayerCount

int getARLayerCount()
                    throws IOException,
                           AutomationException
The number of layers in the globe's layer collection.

Description

The ARLayerCount property returns the number of ARLayers within the ARGlobe.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getARLayer

IARLayer getARLayer(int index)
                    throws IOException,
                           AutomationException
The layer at the specified index.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.controls.IARLayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReferenceName

String getSpatialReferenceName()
                               throws IOException,
                                      AutomationException
The name of the globe’s spatial reference.

Description

Returns the name of the spatial reference the ARGlobe is using to display data.

Remarks

For PMF's published from ArcGlobe 9.2, this property will always return GCS_WGS_84.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The sSpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGlobeUnits

int getGlobeUnits()
                  throws IOException,
                         AutomationException
The geographical units of the globe.

Description

GlobeUnits provide context to measurements of distance and elevation.

Remarks

GlobeUnits are determined prior to publishing the PMF document, by setting the Globe Display units within ArcGlobe.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
A com.esri.arcgis.controls.esriARUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setElevation

void setElevation(double elev)
                  throws IOException,
                         AutomationException
The distance between observer location and globe’s surface.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

getElevation

double getElevation()
                    throws IOException,
                           AutomationException
The distance between observer location and globe’s surface.

Description

The altitude, relative to sea level, of the current observer location.

Remarks

Elevation is measured in Kilometers.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The elev
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

centerAt

void centerAt(double longitude,
              double latitude)
              throws IOException,
                     AutomationException
Moves the observer over the specified point.

Description

The CenterAt method positions the supplied geographic coordinates in the center of the ARGlobe display area. ARGlobe::Pitch and ARGlobe::Elevation remain unchanged.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

getSurfacePoint

boolean getSurfacePoint(int x,
                        int y,
                        double[] longitude,
                        double[] latitude,
                        double[] elev)
                        throws IOException,
                               AutomationException
Converts a point in device coordinates (typically pixels) to coordinates in latitude and longitude.

Description

Given a screen coordinate in pixels, this method returns the longitude and latitude of the point on the ARGlobe surface at the screen X and Y location. It also returns the elevation of the globe surface at that point.

Remarks

Latitude and longitude are measured in decimal degrees. Elevation is measured in Kilometers.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
x - The x (in)
y - The y (in)
longitude - The longitude (in/out: use single element array)
latitude - The latitude (in/out: use single element array)
elev - The elev (in/out: use single element array)
Returns:
The bHitGlobe
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

zoomToFullExtent

void zoomToFullExtent()
                      throws IOException,
                             AutomationException
Zoom to the full extent of the globe.

Description

Changes the ARGlobe's viewing extent to show the full extent of all data layers, causing the observer location to change. The ZoomToFullExtent method automatically refreshes the ARGlobe display area.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryARFeatures

IARFeatureSet queryARFeatures(IARSearchDef pSearchDef)
                              throws IOException,
                                     AutomationException
Searches the globe using a search definition and returns an ARFeatureSet.

Description

Queries the ARGlobe based upon an attribute or spatial query as defined by the ARSearchDef. Only ARLayer objects with a Searchable property set to true within the ARGlobe will be searched.

All ARFeature objects matching the query are instantiated in the ARFeatureSet. If the number of features could be very large, this may not be desirable as it may result in a long delay and consume a large amount of memory. Instead use the SearchARFeatures method. If there are no features matching the query the IARFeatureSet::ARFeatureCount property will return 0.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
pSearchDef - A reference to a com.esri.arcgis.controls.IARSearchDef (in)
Returns:
A reference to a com.esri.arcgis.controls.IARFeatureSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

searchARFeatures

IARFeatureCursor searchARFeatures(IARSearchDef pSearchDef)
                                  throws IOException,
                                         AutomationException
Searches the globe using a search definition and returns an ARFeatureCursor.

Description

Searches the ARGlobe based upon an attribute or spatial query as defined by the ARSearchDef. Only ARLayer objects with a Searchable property set to true within the ARGlobe will be searched.

Use the ARFeatureCursor to retrieve each ARFeature one at a time. If there are no ARFeature objects matching the query the first call to IARFeatureCursor::NextARFeature will return nothing.

Remarks

The SearchARFeatures method will return an error if the currently loaded document was not published with permission to QueryFeatures. Use the IARControl::HasDocumentPermission method to determine this.
If there is an error with the query, such as ill-formed SQL, the error returned will contain an error description from the underlying database.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
pSearchDef - A reference to a com.esri.arcgis.controls.IARSearchDef (in)
Returns:
A reference to a com.esri.arcgis.controls.IARFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

locateARFeature

IARFeature locateARFeature(int x,
                           int y)
                           throws IOException,
                                  AutomationException
Searches the globe along a ray trace, returns the first feature in the ray.

Description

Given a screen coordinate in pixels, this method returns the first ARFeature located along an imaginary line from the observer location to the specified point on the ARGlobe surface.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
x - The x (in)
y - The y (in)
Returns:
A reference to a com.esri.arcgis.controls.IARFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setObserverLocation

void setObserverLocation(double longitude,
                         double latitude,
                         double elev)
                         throws IOException,
                                AutomationException
Sets the current observer location.

Description

Sets the current observer location. The observer location is described as a point on the ARGlobe’s surface above which the observer is located at a given elevation. The point on the ARGlobe's surface is intersected by an imaginary line from the center of the globe to the observers location. Elevation sets the altitude, relative to sea level, of the observer location.

Remarks

Observer location latitude and longitude are measured in decimal degrees. Observer location elevation is measured in Kilometers.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

getObserverLocation

void getObserverLocation(double[] longitude,
                         double[] latitude,
                         double[] elev)
                         throws IOException,
                                AutomationException
Gets the current observer location.

Description

Returns the current observer location. The current observer location is described using a point on the ARGlobe’s surface beneath the current observer location and the current observer elevation. The point on the ARGlobe's surface is intersected by an imaginary line from the center of the globe to the observers location. Elevation returns the altitude, relative to sea level, of the current observer location.

Remarks

Observer location latitude and longitude are measured in decimal degrees. Observer location elevation is measured in Kilometers.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Parameters:
longitude - The longitude (in/out: use single element array)
latitude - The latitude (in/out: use single element array)
elev - The elev (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPitch

double getPitch()
                throws IOException,
                       AutomationException
The pitch of the observer in degrees.

Description

Pitch is an angle between the line of sight, and the tangent of the observer’s imaginary circular orbit.

Remarks

Setting the ARGlobe::Pitch = 0 will orientate the observer to look straight down towards the ARGlobe surface, likewise, setting the ARGlobe::Pitch = 180 will orientate the observer to look straight up away from the ARGlobe surface.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The pitch
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPitch

void setPitch(double pitch)
              throws IOException,
                     AutomationException
The pitch of the observer in degrees.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

getAzimuth

double getAzimuth()
                  throws IOException,
                         AutomationException
The azimuth of the observer in degrees.

Description

The azimuth is an angle, measured clockwise in decimal degrees, that represents the observers view direction relative to the North Pole.

Remarks

Setting the ARGlobe::Azimuth = 0 will orientate the observer to look directly North, likewise, setting the ARGlobe::Azimuth = 180 will orientate the observer to look directly south. The Azimuth property can be used to rotate the observer on a point.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Returns:
The azimuth
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAzimuth

void setAzimuth(double azimuth)
                throws IOException,
                       AutomationException
The azimuth of the observer in degrees.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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