About the 3D multipatch examples Sample
[C#]
ElementUtilities.cs
using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Display; using ESRI.ArcGIS.Analyst3D; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.esriSystem; namespace MultiPatchExamples { public static class ElementUtilities { private const double HighResolution = 1; private const esriUnits Units = esriUnits.esriUnknownUnits; public static IElement ConstructPolylineElement(IGeometry geometry, IColor color, esriSimple3DLineStyle style, double width) { ISimpleLine3DSymbol simpleLine3DSymbol = new SimpleLine3DSymbolClass(); simpleLine3DSymbol.Style = style; simpleLine3DSymbol.ResolutionQuality = HighResolution; ILineSymbol lineSymbol = simpleLine3DSymbol as ILineSymbol; lineSymbol.Color = color; lineSymbol.Width = width; ILine3DPlacement line3DPlacement = lineSymbol as ILine3DPlacement; line3DPlacement.Units = Units; ILineElement lineElement = new LineElementClass(); lineElement.Symbol = lineSymbol; IElement element = lineElement as IElement; element.Geometry = geometry; return element; } public static IElement ConstructMultiPatchElement(IGeometry geometry, IColor color) { ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbolClass(); simpleFillSymbol.Color = color; IElement element = new MultiPatchElementClass(); element.Geometry = geometry; IFillShapeElement fillShapeElement = element as IFillShapeElement; fillShapeElement.Symbol = simpleFillSymbol; return element; } } }
[Visual Basic .NET]
ElementUtilities.vb
Imports Microsoft.VisualBasic Imports System Imports ESRI.ArcGIS.Geometry Imports ESRI.ArcGIS.Display Imports ESRI.ArcGIS.Analyst3D Imports ESRI.ArcGIS.Carto Imports ESRI.ArcGIS.esriSystem Public Class ElementUtilities Private Const HighResolution As Double = 1 Private Const Units As esriUnits = esriUnits.esriUnknownUnits Private Sub New() End Sub Public Shared Function ConstructPolylineElement(ByVal geometry As IGeometry, ByVal color As IColor, ByVal style As esriSimple3DLineStyle, ByVal width As Double) As IElement Dim simpleLine3DSymbol As ISimpleLine3DSymbol = New SimpleLine3DSymbolClass() simpleLine3DSymbol.Style = style simpleLine3DSymbol.ResolutionQuality = HighResolution Dim lineSymbol As ILineSymbol = TryCast(simpleLine3DSymbol, ILineSymbol) lineSymbol.Color = color lineSymbol.Width = width Dim line3DPlacement As ILine3DPlacement = TryCast(lineSymbol, ILine3DPlacement) line3DPlacement.Units = Units Dim lineElement As ILineElement = New LineElementClass() lineElement.Symbol = lineSymbol Dim element As IElement = TryCast(lineElement, IElement) element.Geometry = geometry Return element End Function Public Shared Function ConstructMultiPatchElement(ByVal geometry As IGeometry, ByVal color As IColor) As IElement Dim simpleFillSymbol As ISimpleFillSymbol = New SimpleFillSymbolClass() simpleFillSymbol.Color = color Dim element As IElement = New MultiPatchElementClass() element.Geometry = geometry Dim fillShapeElement As IFillShapeElement = TryCast(element, IFillShapeElement) fillShapeElement.Symbol = simpleFillSymbol Return element End Function End Class