public static void AddOutlineToGraphicsLayer3D(IGraphicsContainer3D graphicsContainer3D, IGeometryCollection geometryCollection, IColor color, esriSimple3DLineStyle style, double width) { for (int i = 0; i < geometryCollection.GeometryCount; i++) { IGeometry geometry = geometryCollection.get_Geometry(i); graphicsContainer3D.AddElement(ElementUtilities.ConstructPolylineElement(geometry, color, style, width)); } }
public static void DrawLine(IGraphicsContainer3D lineGraphicsContainer3D, IPointCollection linePointCollection) { const esriSimple3DLineStyle lineStyle = esriSimple3DLineStyle.esriS3DLSTube; const double lineWidth = 0.25; IColor lineColor = ColorUtilities.GetColor(255, 0, 0); GeometryUtilities.MakeZAware(linePointCollection as IGeometry); GraphicsLayer3DUtilities.AddLineToGraphicsLayer3D(lineGraphicsContainer3D, linePointCollection as IGeometry, lineColor, lineStyle, lineWidth); }
private static void DrawAxis(IGraphicsContainer3D axesGraphicsContainer3D, IPoint axisFromPoint, IPoint axisToPoint, IColor axisColor, esriSimple3DLineStyle axisStyle, double axisWidth) { IPointCollection axisPointCollection = new PolylineClass(); axisPointCollection.AddPoint(axisFromPoint, ref _missing, ref _missing); axisPointCollection.AddPoint(axisToPoint, ref _missing, ref _missing); GeometryUtilities.MakeZAware(axisPointCollection as IGeometry); GraphicsLayer3DUtilities.AddAxisToGraphicsLayer3D(axesGraphicsContainer3D, axisPointCollection as IGeometry, axisColor, axisStyle, axisWidth); }
public static void DrawAxes(IGraphicsContainer3D axesGraphicsContainer3D) { const esriSimple3DLineStyle AxisStyle = esriSimple3DLineStyle.esriS3DLSTube; const double AxisWidth = 0.25; DrawAxis(axesGraphicsContainer3D, GeometryUtilities.ConstructPoint3D(-10, 0, 0), GeometryUtilities.ConstructPoint3D(10, 0, 0), ColorUtilities.GetColor(255, 0, 0), AxisStyle, AxisWidth); DrawAxis(axesGraphicsContainer3D, GeometryUtilities.ConstructPoint3D(0, -10, 0), GeometryUtilities.ConstructPoint3D(0, 10, 0), ColorUtilities.GetColor(0, 0, 255), AxisStyle, AxisWidth); DrawAxis(axesGraphicsContainer3D, GeometryUtilities.ConstructPoint3D(0, 0, -10), GeometryUtilities.ConstructPoint3D(0, 0, 10), ColorUtilities.GetColor(0, 255, 0), AxisStyle, AxisWidth); DrawEnd(axesGraphicsContainer3D, GeometryUtilities.ConstructPoint3D(10, 0, 0), GeometryUtilities.ConstructVector3D(0, 10, 0), 90, ColorUtilities.GetColor(255, 0, 0), 0.2 * AxisWidth); DrawEnd(axesGraphicsContainer3D, GeometryUtilities.ConstructPoint3D(0, 10, 0), GeometryUtilities.ConstructVector3D(10, 0, 0), -90, ColorUtilities.GetColor(0, 0, 255), 0.2 * AxisWidth); DrawEnd(axesGraphicsContainer3D, GeometryUtilities.ConstructPoint3D(0, 0, 10), null, 0, ColorUtilities.GetColor(0, 255, 0), 0.2 * AxisWidth); }
public static void DrawOutline(IGraphicsContainer3D outlineGraphicsContainer3D, IGeometry geometry) { const esriSimple3DLineStyle OutlineStyle = esriSimple3DLineStyle.esriS3DLSTube; const double OutlineWidth = 0.1; const int Black_R = 0; const int Black_G = 0; const int Black_B = 0; IColor outlineColor = ColorUtilities.GetColor(Black_R, Black_G, Black_B); outlineGraphicsContainer3D.DeleteAllElements(); GraphicsLayer3DUtilities.AddOutlineToGraphicsLayer3D(outlineGraphicsContainer3D, GeometryUtilities.ConstructMultiPatchOutline(geometry), outlineColor, OutlineStyle, OutlineWidth); }
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 void AddOutlineToGraphicsLayer3D(IGraphicsContainer3D graphicsContainer3D, IGeometryCollection geometryCollection, IColor color, esriSimple3DLineStyle style, double width) { for (int i = 0; i < geometryCollection.GeometryCount; i++) { IGeometry geometry = geometryCollection.get_Geometry(i); graphicsContainer3D.AddElement(ElementUtilities.ConstructPolylineElement(geometry, color, style, width)); } }
public static void AddLineToGraphicsLayer3D(IGraphicsContainer3D graphicsContainer3D, IGeometry geometry, IColor color, esriSimple3DLineStyle style, double width) { graphicsContainer3D.AddElement(ElementUtilities.ConstructPolylineElement(geometry, color, style, width)); }
private static void DrawAxis(IGraphicsContainer3D axesGraphicsContainer3D, IPoint axisFromPoint, IPoint axisToPoint, IColor axisColor, esriSimple3DLineStyle axisStyle, double axisWidth) { IPointCollection axisPointCollection = new PolylineClass(); axisPointCollection.AddPoint(axisFromPoint, ref _missing, ref _missing); axisPointCollection.AddPoint(axisToPoint, ref _missing, ref _missing); GeometryUtilities.MakeZAware(axisPointCollection as IGeometry); GraphicsLayer3DUtilities.AddAxisToGraphicsLayer3D(axesGraphicsContainer3D, axisPointCollection as IGeometry, axisColor, axisStyle, axisWidth); }
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 void AddAxisToGraphicsLayer3D(IGraphicsContainer3D graphicsContainer3D, IGeometry geometry, IColor color, esriSimple3DLineStyle style, double width) { graphicsContainer3D.AddElement(ElementUtilities.ConstructPolylineElement(geometry, color, style, width)); }