Add a new graphics layer and elements to a globe.
[C#]
///<summary>Add a new graphics layer and elements to a globe.</summary>
///
///<param name="globe">An IGlobe interface</param>
///<param name="graphicsLayerName">A System.String that is the display name of the new graphics layer. Example: "NewGraphicsLayer"</param>
///
///<remarks></remarks>
public void AddGraphicsLayerToGlobe(ESRI.ArcGIS.GlobeCore.IGlobe globe, System.String graphicsLayerName)
{
// Create and add the graphics layer to ArcGlobe
ESRI.ArcGIS.Carto.IGraphicsContainer globeGraphicsLayer = new ESRI.ArcGIS.GlobeCore.GlobeGraphicsLayerClass();
ESRI.ArcGIS.Carto.ILayer layer = (ESRI.ArcGIS.Carto.ILayer)globeGraphicsLayer; // Explicit cast
layer.Name = graphicsLayerName;
ESRI.ArcGIS.Analyst3D.IScene scene = globe as ESRI.ArcGIS.Analyst3D.IScene; // Reference or Boxing Conversion
// Add the graphics layer
scene.AddLayer(layer, true);
// Add a point graphics element to the graphics layer
ESRI.ArcGIS.Carto.IElement markerElement = new ESRI.ArcGIS.Carto.MarkerElementClass();
ESRI.ArcGIS.Analyst3D.ISimpleMarker3DSymbol simpleMarker3DSymbol = new ESRI.ArcGIS.Analyst3D.SimpleMarker3DSymbolClass();
simpleMarker3DSymbol.Style = ESRI.ArcGIS.Analyst3D.esriSimple3DMarkerStyle.esriS3DMSCone;
// Set symbol color and size
simpleMarker3DSymbol.ResolutionQuality = 1;
ESRI.ArcGIS.Display.IColor rgbColor = new ESRI.ArcGIS.Display.RgbColorClass();
rgbColor.RGB = 255;
ESRI.ArcGIS.Display.IMarkerSymbol markerSymbol = (ESRI.ArcGIS.Display.IMarkerSymbol)simpleMarker3DSymbol; // Explicit cast
markerSymbol.Color = rgbColor;
markerSymbol.Size = 100000;
// Set the geometry
ESRI.ArcGIS.Geometry.IPoint point = new ESRI.ArcGIS.Geometry.PointClass();
point.PutCoords(-47, 44);
markerElement.Geometry = point;
// Add to the graphics layer
ESRI.ArcGIS.Carto.IMarkerElement markerElement_2 = (ESRI.ArcGIS.Carto.IMarkerElement)markerElement; // Explicit Cast
markerElement_2.Symbol = markerSymbol;
globeGraphicsLayer.AddElement(markerElement, 1);
// Add a line graphics element to the graphics layer
ESRI.ArcGIS.Carto.IElement lineElement = new ESRI.ArcGIS.Carto.LineElementClass();
ESRI.ArcGIS.Analyst3D.ISimpleLine3DSymbol simpleLineSymbol3D = new ESRI.ArcGIS.Analyst3D.SimpleLine3DSymbolClass();
simpleLineSymbol3D.Style = ESRI.ArcGIS.Analyst3D.esriSimple3DLineStyle.esriS3DLSStrip;
// Set symbol color and size
simpleLineSymbol3D.ResolutionQuality = 1;
rgbColor.RGB = 255000;
ESRI.ArcGIS.Display.ILineSymbol lineSymbol = (ESRI.ArcGIS.Display.ILineSymbol)simpleLineSymbol3D; //Explicit cast
lineSymbol.Color = rgbColor;
lineSymbol.Width = 2;
// Set the geometry
ESRI.ArcGIS.Geometry.IPolyline polyline = new ESRI.ArcGIS.Geometry.PolylineClass();
ESRI.ArcGIS.Geometry.IPoint fromPoint = new ESRI.ArcGIS.Geometry.PointClass();
fromPoint.PutCoords(-30, 44);
polyline.FromPoint = fromPoint;
ESRI.ArcGIS.Geometry.IPoint toPoint = new ESRI.ArcGIS.Geometry.PointClass();
toPoint.PutCoords(-60, 44);
polyline.ToPoint = toPoint;
lineElement.Geometry = polyline;
// Add to the graphics layer
ESRI.ArcGIS.Carto.ILineElement lineElement_2 = (ESRI.ArcGIS.Carto.ILineElement)lineElement; // Explicit cast
lineElement_2.Symbol = lineSymbol;
globeGraphicsLayer.AddElement(lineElement, 1);
}
[Visual Basic .NET]
'''<summary>Add a new graphics layer and elements to a globe.</summary> ''' '''<param name="globe">An IGlobe interface</param> '''<param name="graphicsLayerName">A System.String that is the display name of the new graphics layer. Example: "NewGraphicsLayer"</param> ''' '''<remarks></remarks> Public Sub AddGraphicsLayerToGlobe(ByVal globe As ESRI.ArcGIS.GlobeCore.IGlobe, ByVal graphicsLayerName As System.String) ' Create and add the graphics layer to ArcGlobe Dim globeGraphicsLayer As ESRI.ArcGIS.Carto.IGraphicsContainer = New ESRI.ArcGIS.GlobeCore.GlobeGraphicsLayerClass Dim layer As ESRI.ArcGIS.Carto.ILayer = CType(globeGraphicsLayer, ESRI.ArcGIS.Carto.ILayer) 'Explicit Cast layer.Name = graphicsLayerName Dim scene As ESRI.ArcGIS.Analyst3D.IScene = CType(globe, ESRI.ArcGIS.Analyst3D.IScene) ' Explicit Cast ' Add the graphics layer scene.AddLayer(layer, True) ' Add a point graphics element to the graphics layer Dim markerElement As ESRI.ArcGIS.Carto.IElement = New ESRI.ArcGIS.Carto.MarkerElementClass Dim simpleMarker3DSymbol As ESRI.ArcGIS.Analyst3D.ISimpleMarker3DSymbol = New ESRI.ArcGIS.Analyst3D.SimpleMarker3DSymbolClass simpleMarker3DSymbol.Style = ESRI.ArcGIS.Analyst3D.esriSimple3DMarkerStyle.esriS3DMSCone ' Set symbol color and size simpleMarker3DSymbol.ResolutionQuality = 1 Dim rgbColor As ESRI.ArcGIS.Display.IColor = New ESRI.ArcGIS.Display.RgbColorClass rgbColor.RGB = 255 Dim markerSymbol As ESRI.ArcGIS.Display.IMarkerSymbol = CType(simpleMarker3DSymbol, ESRI.ArcGIS.Display.IMarkerSymbol) ' Explicit Cast markerSymbol.Color = rgbColor markerSymbol.Size = 100000 ' Set the geometry Dim point As ESRI.ArcGIS.Geometry.IPoint = New ESRI.ArcGIS.Geometry.PointClass point.PutCoords(-47, 44) markerElement.Geometry = point ' Add to the graphics layer Dim markerElement_2 As ESRI.ArcGIS.Carto.IMarkerElement = CType(markerElement, ESRI.ArcGIS.Carto.IMarkerElement) ' Explicit Cast markerElement_2.Symbol = markerSymbol globeGraphicsLayer.AddElement(markerElement, 1) ' Add a line graphics element to the graphics layer Dim lineElement As ESRI.ArcGIS.Carto.IElement = New ESRI.ArcGIS.Carto.LineElementClass Dim simpleLineSymbol3D As ESRI.ArcGIS.Analyst3D.ISimpleLine3DSymbol = New ESRI.ArcGIS.Analyst3D.SimpleLine3DSymbolClass simpleLineSymbol3D.Style = ESRI.ArcGIS.Analyst3D.esriSimple3DLineStyle.esriS3DLSStrip ' Set symbol color and size simpleLineSymbol3D.ResolutionQuality = 1 rgbColor.RGB = 255000 Dim lineSymbol As ESRI.ArcGIS.Display.ILineSymbol = CType(simpleLineSymbol3D, ESRI.ArcGIS.Display.ILineSymbol) ' Explicit Cast lineSymbol.Color = rgbColor lineSymbol.Width = 2 ' Set the geometry Dim polyline As ESRI.ArcGIS.Geometry.IPolyline = New ESRI.ArcGIS.Geometry.PolylineClass Dim fromPoint As ESRI.ArcGIS.Geometry.IPoint = New ESRI.ArcGIS.Geometry.PointClass fromPoint.PutCoords(-30, 44) polyline.FromPoint = fromPoint Dim toPoint As ESRI.ArcGIS.Geometry.IPoint = New ESRI.ArcGIS.Geometry.PointClass toPoint.PutCoords(-60, 44) polyline.ToPoint = toPoint lineElement.Geometry = Polyline ' Add to the graphics layer Dim lineElement_2 As ESRI.ArcGIS.Carto.ILineElement = CType(lineElement, ESRI.ArcGIS.Carto.ILineElement) ' Explicit Cast lineElement_2.Symbol = lineSymbol globeGraphicsLayer.AddElement(lineElement, 1) End Sub