Creating a toolbar of globe tools
TableOfContents.vb
' Copyright 2012 ESRI
' 
' All rights reserved under the copyright laws of the United States
' and applicable international laws, treaties, and conventions.
' 
' You may freely redistribute and use this sample code, with or
' without modification, provided you include the original copyright
' notice and use restrictions.
' 
' See the use restrictions.
' 

Imports Microsoft.VisualBasic
Imports System
Imports ESRI.ArcGIS.GlobeCore
Imports ESRI.ArcGIS.Analyst3D
Imports ESRI.ArcGIS.Carto

Namespace GlobeGraphicsToolbar
  Public Class TableOfContents
    Private _scene As IScene

    Public Sub New(ByVal globe As IGlobe)
      _scene = GetScene(globe)
    End Sub

    Private Function GetScene(ByVal globe As IGlobe) As IScene
      Dim scene As IScene

      scene = TryCast(globe, IScene)

      Return scene
    End Function

    Public Function LayerExists(ByVal name As String) As Boolean
      Dim exists As Boolean = False

      For i As Integer = 0 To _scene.LayerCount - 1
        Dim layer As ILayer = _scene.Layer(i)

        If layer.Name = name Then
          exists = True
          Exit For
        End If
      Next i

      Return exists
    End Function

    Public Sub ConstructLayer(ByVal name As String)
      Dim globeGraphicsLayer As IGlobeGraphicsLayer = New GlobeGraphicsLayerClass()

      Dim layer As ILayer = TryCast(globeGraphicsLayer, ILayer)

      layer.Name = name

      _scene.AddLayer(layer, True)
    End Sub

    Default Public ReadOnly Property Item(ByVal name As String) As ILayer
      Get
        Return GetLayer(name)
      End Get
    End Property

    Private Function GetLayer(ByVal name As String) As ILayer
      Dim layer As ILayer = Nothing

      For i As Integer = 0 To _scene.LayerCount - 1
        Dim currentLayer As ILayer = _scene.Layer(i)

        If currentLayer.Name = name Then
          layer = currentLayer
          Exit For
        End If
      Next i

      Return layer
    End Function
  End Class
End Namespace