ArcGISPortalViewer.Controls.MeasureDisplayControl.UpdateDisplay C# (CSharp) Method

UpdateDisplay() private method

Raises the MeasureUpdated and updates display based on MeasureItemCollection, TotalLength and Area properties.
private UpdateDisplay ( Polyline polyline ) : void
polyline Polyline
return void
        private void UpdateDisplay(Polyline polyline)
        {
            Polygon area = null;
            if (polyline != null && polyline.Parts[0].Count > 2)
            {
                area = new Polygon(polyline.Parts, polyline.SpatialReference);
            }
            OnMeasureUpdated((Geometry)area ?? polyline);
            MapPoint previousPoint = null;
            int coordinateIndex = 0;
            foreach (var measureItem in MeasureItemCollection)
            {
                measureItem.CoordinateIndex = coordinateIndex++;
                if (previousPoint != null)
                {
                    measureItem.Length = GeometryEngine.GeodesicLength(
                        new Polyline(new MapPoint[]{ previousPoint, measureItem.Location },
                            measureItem.Location.SpatialReference),
                        GeodeticCurveType.GreatElliptic);
                }
                previousPoint = measureItem.Location;
            }

            MeasureSummary.TotalLength = polyline == null || polyline.Parts[0].Count < 2
                ? 0
                : GeometryEngine.GeodesicLength(polyline);
            MeasureSummary.Area = area == null
                ? 0
                : GeometryEngine.GeodesicArea(area);
        }