This document is archived and information here might be outdated. Recommended version. |
Draws graphic buffers around the selected features in the map using distance units specified.
///<summary>Draws graphic buffers around the selected features in the map using distance units specified.</summary> /// ///<param name="activeView">An IActiveView interface.</param> ///<param name="distance">A System.Double that is the distance in map units around the select features to draw a graphic buffer. Example: 10</param> /// ///<remarks></remarks> public void CreateGraphicBuffersAroundSelectedFeatures(ESRI.ArcGIS.Carto.IActiveView activeView, System.Double distance) { //parameter check if (activeView == null || distance < 0) { return; } ESRI.ArcGIS.Carto.IMap map=activeView.FocusMap; // Clear any previous buffers from the screen ESRI.ArcGIS.Carto.IGraphicsContainer graphicsContainer=(ESRI.ArcGIS.Carto.IGraphicsContainer)map; // Explicit Cast graphicsContainer.DeleteAllElements(); // Verify there is a feature(s) selected if (map.SelectionCount == 0) { return; } // Reset to the first selected feature ESRI.ArcGIS.Geodatabase.IEnumFeature enumFeature=(ESRI.ArcGIS.Geodatabase.IEnumFeature)map.FeatureSelection; // Explicit Cast enumFeature.Reset(); ESRI.ArcGIS.Geodatabase.IFeature feature=enumFeature.Next(); // Buffer all the selected features by the buffer distance and create a new polygon element from each result ESRI.ArcGIS.Geometry.ITopologicalOperator topologicalOperator; ESRI.ArcGIS.Carto.IElement element; while (!(feature == null)) { topologicalOperator=(ESRI.ArcGIS.Geometry.ITopologicalOperator)feature.Shape; // Explicit Cast element=new ESRI.ArcGIS.Carto.PolygonElementClass(); element.Geometry=topologicalOperator.Buffer(distance); graphicsContainer.AddElement(element, 0); feature=enumFeature.Next(); } activeView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGraphics, null, null); }
'''<summary>Draws graphic buffers around the selected features in the map using distance units specified.</summary> ''' '''<param name="activeView">An IActiveView interface.</param> '''<param name="distance">A System.Double that is the distance in map units around the select features to draw a graphic buffer. Example: 10</param> ''' '''<remarks></remarks> Public Sub CreateGraphicBuffersAroundSelectedFeatures(ByVal activeView As ESRI.ArcGIS.Carto.IActiveView, ByVal distance As System.Double) 'parameter check If activeView Is Nothing OrElse distance < 0 Then Return End If Dim map As ESRI.ArcGIS.Carto.IMap=activeView.FocusMap ' Clear any previous buffers from the screen Dim graphicsContainer As ESRI.ArcGIS.Carto.IGraphicsContainer=CType(map, ESRI.ArcGIS.Carto.IGraphicsContainer) ' Explicit Cast graphicsContainer.DeleteAllElements() ' Verify there is a feature(s) selected If map.SelectionCount=0 Then Return End If ' Reset to the first selected feature Dim enumFeature As ESRI.ArcGIS.Geodatabase.IEnumFeature=CType(map.FeatureSelection, ESRI.ArcGIS.Geodatabase.IEnumFeature) ' Explicit Cast enumFeature.Reset() Dim feature As ESRI.ArcGIS.Geodatabase.IFeature=enumFeature.Next() ' Buffer all the selected features by the buffer distance and create a new polygon element from each result Dim topologicalOperator As ESRI.ArcGIS.Geometry.ITopologicalOperator Dim element As ESRI.ArcGIS.Carto.IElement Do While Not (feature Is Nothing) topologicalOperator=CType(feature.Shape, ESRI.ArcGIS.Geometry.ITopologicalOperator) ' Explicit Cast element=New ESRI.ArcGIS.Carto.PolygonElementClass() element.Geometry=topologicalOperator.Buffer(distance) graphicsContainer.AddElement(element, 0) feature=enumFeature.Next() Loop activeView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGraphics, Nothing, Nothing) End Sub