About the Creating a toolbar of globe tools Sample
[C#]
StyleElement.cs
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Analyst3D;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.GlobeCore;
namespace GlobeGraphicsToolbar
{
public class StyleElement
{
private IElement _element;
private IGlobeGraphicsElementProperties _elementProperties;
public StyleElement(IGeometry geometry, double size, IStyleGalleryItem styleGalleryItem)
{
_element = GetElement(geometry, size, styleGalleryItem);
_elementProperties = GetElementProperties();
}
private IElement GetElement(IGeometry geometry, double size, IStyleGalleryItem styleGalleryItem)
{
IElement element;
IMarkerElement markerElement = new MarkerElementClass();
element = markerElement as IElement;
IMarkerSymbol markerSymbol = styleGalleryItem.Item as IMarkerSymbol;
markerSymbol.Size = size;
element.Geometry = geometry;
markerElement.Symbol = markerSymbol;
return element;
}
private IGlobeGraphicsElementProperties GetElementProperties()
{
IGlobeGraphicsElementProperties elementProperties = new GlobeGraphicsElementPropertiesClass();
elementProperties.DrapeElement = true;
elementProperties.Illuminate = true;
return elementProperties;
}
public IElement Element
{
get
{
return _element;
}
}
public IGlobeGraphicsElementProperties ElementProperties
{
get
{
return _elementProperties;
}
}
}
}
[Visual Basic .NET]
StyleElement.vb
Imports Microsoft.VisualBasic Imports System Imports ESRI.ArcGIS.Geometry Imports ESRI.ArcGIS.Carto Imports ESRI.ArcGIS.Analyst3D Imports ESRI.ArcGIS.Display Imports ESRI.ArcGIS.GlobeCore Namespace GlobeGraphicsToolbar Public Class StyleElement Private _element As IElement Private _elementProperties As IGlobeGraphicsElementProperties Public Sub New(ByVal geometry As IGeometry, ByVal size As Double, ByVal styleGalleryItem As IStyleGalleryItem) _element = GetElement(geometry, size, styleGalleryItem) _elementProperties = GetElementProperties() End Sub Private Function GetElement(ByVal geometry As IGeometry, ByVal size As Double, ByVal styleGalleryItem As IStyleGalleryItem) As IElement Dim element As IElement Dim markerElement As IMarkerElement = New MarkerElementClass() element = TryCast(markerElement, IElement) Dim markerSymbol As IMarkerSymbol = TryCast(styleGalleryItem.Item, IMarkerSymbol) markerSymbol.Size = size element.Geometry = geometry markerElement.Symbol = markerSymbol Return element End Function Private Function GetElementProperties() As IGlobeGraphicsElementProperties Dim elementProperties As IGlobeGraphicsElementProperties = New GlobeGraphicsElementPropertiesClass() elementProperties.DrapeElement = True elementProperties.Illuminate = True Return elementProperties End Function Public ReadOnly Property Element() As IElement Get Return _element End Get End Property Public ReadOnly Property ElementProperties() As IGlobeGraphicsElementProperties Get Return _elementProperties End Get End Property End Class End Namespace