Esempio n. 1
0
 private void ResetColumn(ILayersColumn column)
 {
     double[] wpfBoundaries = depthBoundaries.Select(b => (b - UpperDepth) * ScaleFactor).ToArray();
     for (int i = 0; i < wpfBoundaries.Length - 1; i++)
     {
         column.SetLayerHeight(i, wpfBoundaries[i + 1] - wpfBoundaries[i]);
     }
 }
Esempio n. 2
0
 public void RegisterColumn(ILayersColumn column)
 {
     double[] layerHeights = column.GetLayerHeights();
     if (depthBoundaries == null)
     {
         double[] layerHeightsMeters = layerHeights.Select(h => h / ScaleFactor).ToArray();
         depthBoundaries    = new double[layerHeightsMeters.Length + 1];
         depthBoundaries[0] = UpperDepth;
         for (var i = 0; i < layerHeightsMeters.Length; i++)
         {
             depthBoundaries[i + 1] = depthBoundaries[i] + layerHeightsMeters[i];
         }
     }
     else
     {
         if (layerHeights.Length + 1 != depthBoundaries.Length)
         {
             throw new InvalidOperationException(string.Format("Layer syncronizer controls {0} layers, but the layer being regestered contains {1} layers", depthBoundaries.Length - 1, layerHeights.Length));
         }
         ResetColumn(column);
     }
     columns.Add(column);
 }
Esempio n. 3
0
 public void UnregisterColumn(ILayersColumn column)
 {
     columns.Remove(column);
 }