This document is archived and information here might be outdated.  Recommended version.


IGlobeHeightProperties Interface (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > GlobeCore > ESRI.ArcGIS.GlobeCore > Interfaces > IG > IGlobeHeightProperties Interface
ArcGIS Developer Help

IGlobeHeightProperties Interface

Provides access to members that manipulate the height properties of a globe layer. Note: the IGlobeHeightProperties interface has been superseded by IGlobeHeightProperties2. Please consider using the more recent version.

Product Availability

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

Description

The IGlobeHeightProperties interface can be used to manage the height properties of a data layer in globe.

Members

Name Description
Method Apply Apply to the corresponding layer.
Method ApplyFeatureProperties Obtain feature geometry with the correct properties.
Read/write property BaseLayer The base layer.
Read-only property BaseLayerName The base layer name persisted.
Read/write property BaseOption The base option.
Read/write property ElevationExpression The elevation expression for features, in globe units.
Read/write property ElevationExpressionString The elevation expression string for features, in globe units.
Read/write property ExtrusionExpression The extrusion expression object.
Read/write property ExtrusionExpressionString The extrusion expression string.
Read/write property ExtrusionType The extrusion type.
Read/write property HasElevationValues Indicates whether the feature layer has elevation values.
Read/write property Offset The constant elevation offset in meters.
Read/write property UseElevationValues Indicates whether elevation values in the feature layer are used.
Read/write property ZFactor The z factor.

Classes that implement IGlobeHeightProperties

Classes Description
[C#]

The code below illustrates how we can use IGlobeHeightProperties set the base height of a draped layer, present in the TOC, to a raster elevation surface.

public void Drape_Layer_On_ElevationRaster(IGlobeDisplay pGlobeDisplay, ILayer pLayer)
{
 IGlobeDisplayLayers pGlobeDispLyrs = (IGlobeDisplayLayers) pGlobeDisplay;

 //Create elevation raster layer
 IRasterLayer pElevLayer = new RasterLayerClass();
 pElevLayer.CreateFromFilePath("C:\\temp\\elev_raster");

 //Create and add the GlobeLayerProperties extension
 //with the Type set to ElevationData
 IGlobeLayerProperties pLyr_GlobeLayerProps = new GlobeLayerPropertiesClass();
 pLyr_GlobeLayerProps.Type=esriGlobeDataType.esriGlobeDataElevation;

 ILayerExtensions pLyrExt = (ILayerExtensions) pElevLayer;
 pLyrExt.AddExtension(pLyr_GlobeLayerProps);

 //Set the base option for pLayer to be esriGlobeLayerBaseLayer
 //and its base layer to be pElevLayer
 IGlobeLayerProperties pDrapeLyr_GlobeLayerProps;
 pDrapeLyr_GlobeLayerProps  = pGlobeDispLyrs.FindGlobeProperties(pLayer);

 IGlobeHeightProperties pDrapeLyr_GlobeHeightProps;
 pDrapeLyr_GlobeHeightProps = pDrapeLyr_GlobeLayerProps.HeightProperties;

 pDrapeLyr_GlobeHeightProps.BaseLayer = pElevLayer;
 pDrapeLyr_GlobeHeightProps.BaseOption=esriGlobeLayerBaseOption.esriGlobeLayerBaseLayer;

 //Apply the height properties of the pLayer
 pDrapeLyr_GlobeHeightProps.Apply(pGlobeDisplay.Globe, pLayer);
 pGlobeDisplay.RefreshViewers();
}