Index: DamClients/DamUI/trunk/src/Dam/Forms/DamSpatialEditorDecorator.cs =================================================================== diff -u -r3846 -r3848 --- DamClients/DamUI/trunk/src/Dam/Forms/DamSpatialEditorDecorator.cs (.../DamSpatialEditorDecorator.cs) (revision 3846) +++ DamClients/DamUI/trunk/src/Dam/Forms/DamSpatialEditorDecorator.cs (.../DamSpatialEditorDecorator.cs) (revision 3848) @@ -355,21 +355,9 @@ if (locationJob != null) { - // Show soil layer and surface line. - CurrentSoilProfile = locationJob.Location.GetSoilSurfaceProfile(FailureMechanismType, index, out probability); - GeometryProbabilities = locationJob.Location.GetGeometryProbabilities(FailureMechanismType); - if (csvExportData != null && (csvExportData.StabilityProfileName != CurrentSoilProfile.SoilProfile.Name)) - { - for (int i = 0; i < GeometryProbabilitiesCount; i++) - { - if (GeometryProbabilities[i].SoilGeometryName == csvExportData.StabilityProfileName) - { - CurrentSoilProfile = locationJob.Location.GetSoilSurfaceProfile(FailureMechanismType, i, out probability); - } - } - } - + DetermineCurrentSoilProfile(); + // Show soil layer and surface line. DrawSoilProfile(); DrawSoilProfileCurves(); DrawCharacteristicPoints(); @@ -378,37 +366,60 @@ // Add drawing object for original surfaceline DrawSurfaceLine(); - var startPoint = new Point(); - var endPoint = new Point(); - // Add drawing object for redesigned surfaceline - if (DoesResultMatchCurrentLocation()) - { - UpdateRedesignedSurfaceLine(); - // Add drawing object for slip circle - if (ResultSlice != null) - { - DrawSlipCircle(); - DetermineSlipCircleZoomLimits(out startPoint, out endPoint); - } - } + DrawResultsWhenAvailable(); + } + else + { + ClearPropertiesForEmptyLocation(); + } - decoratedSpatialEditor.EmptySelection = new EmptyShape(locationJob); + DataEventPublisher.AfterChange(this); + } + + private void DrawResultsWhenAvailable() + { + var startPoint = new Point(); + var endPoint = new Point(); + // Add drawing object for redesigned surfaceline + if (DoesResultMatchCurrentLocation()) + { + UpdateRedesignedSurfaceLine(); + // Add drawing object for slip circle if (ResultSlice != null) { - - decoratedSpatialEditor.Zoom(startPoint, endPoint); + DrawSlipCircle(); + DetermineSlipCircleZoomLimits(out startPoint, out endPoint); } - else - { - decoratedSpatialEditor.ZoomToExtents(); - } } + + decoratedSpatialEditor.EmptySelection = new EmptyShape(locationJob); + if (ResultSlice != null) + { + decoratedSpatialEditor.Zoom(startPoint, endPoint); + } else { - ClearPropertiesForEmptyLocation(); + decoratedSpatialEditor.ZoomToExtents(); } + } - DataEventPublisher.AfterChange(this); + private void DetermineCurrentSoilProfile() + { + CurrentSoilProfile = locationJob.Location.GetSoilSurfaceProfile(FailureMechanismType, index, out probability); + GeometryProbabilities = locationJob.Location.GetGeometryProbabilities(FailureMechanismType); + if (csvExportData != null && (csvExportData.StabilityProfileName != CurrentSoilProfile.SoilProfile.Name)) + { + for (int i = 0; i < GeometryProbabilitiesCount; i++) + { + if (csvExportData != null && + GeometryProbabilities[i].SoilGeometryName == csvExportData.StabilityProfileName) + { + CurrentSoilProfile = + locationJob.Location.GetSoilSurfaceProfile(FailureMechanismType, i, out probability); + index = i; + } + } + } } ///