public FactorLineLoadDialog(SlopeDefineCanvas canvas, LineLoad load) { InitializeComponent(); this.canvas = canvas; this.load = load; // get units dependent scaling factor and strings double factor; string coordUnits, loadUnits; switch (canvas.Units) { case Units.Metres: factor = 0.0254; coordUnits = "m"; loadUnits = "kN/m"; break; case Units.Millimetres: factor = 25.4; coordUnits = "mm"; loadUnits = "kN/m"; break; case Units.Feet: factor = 1.0 / 12.0; coordUnits = "ft"; loadUnits = "lbf/ft"; break; default: factor = 1.0; coordUnits = "in"; loadUnits = "lbf/ft"; break; } // set units labels node1Units.Content = coordUnits; node2Units.Content = coordUnits; nLoad1Units.Content = loadUnits; nLoad2Units.Content = loadUnits; tLoad1Units.Content = loadUnits; tLoad2Units.Content = loadUnits; // set node coordinates double xCoord, yCoord; xCoord = (load.Nodes[0].Point.X - canvas.OriginOffsetX) / canvas.DpiX * factor * canvas.Scale; yCoord = (canvas.ActualHeight - load.Nodes[0].Point.Y - canvas.OriginOffsetY) / canvas.DpiY * factor * canvas.Scale; coords1.Content = string.Format("({0}, {1})", Math.Round(xCoord, 2), Math.Round(yCoord, 2)); xCoord = (load.Nodes[1].Point.X - canvas.OriginOffsetX) / canvas.DpiX * factor * canvas.Scale; yCoord = (canvas.ActualHeight - load.Nodes[1].Point.Y - canvas.OriginOffsetY) / canvas.DpiY * factor * canvas.Scale; coords2.Content = string.Format("({0}, {1})", Math.Round(xCoord, 2), Math.Round(yCoord, 2)); // set existing load values (if present) MaterialBlock parent = canvas.Substructs.Find(delegate(MaterialBlock mb) { return(mb.Material.Name != "NULL" && mb.LineLoads.Contains(load)); }); isLoadedN.IsEnabled = parent != null && load.IsLoadedN; isLoadedN.IsChecked = nFactor.IsEnabled = parent != null && load.IsActiveN; nFactor.Text = string.Format("{0}", Math.Round(load.NFactor, 3)); nLoad1.Text = string.Format("{0}", Math.Round(load.NLoad1, 2)); nLoad2.Text = string.Format("{0}", Math.Round(load.NLoad2, 2)); isLoadedT.IsEnabled = parent != null && load.IsLoadedT; isLoadedT.IsChecked = tFactor.IsEnabled = parent != null && load.IsActiveT; tFactor.Text = string.Format("{0}", Math.Round(load.TFactor, 3)); tLoad1.Text = string.Format("{0}", Math.Round(load.TLoad1, 2)); tLoad2.Text = string.Format("{0}", Math.Round(load.TLoad2, 2)); }
public ActivateFixityDialog(SlopeDefineCanvas canvas, LineConstraint lc) { InitializeComponent(); this.canvas = canvas; this.lc = lc; MaterialBlock parent = canvas.Substructs.Find(delegate(MaterialBlock mb) { return(mb.Material.Name != "NULL" && mb.LineConstraints.Contains(lc)); }); isFixedX.IsEnabled = parent != null && lc.IsFixedX; isFixedY.IsEnabled = parent != null && lc.IsFixedY; isFixedX.IsChecked = parent != null && lc.IsActiveX; isFixedY.IsChecked = parent != null && lc.IsActiveY; }
public ActivateFixityDialog(SlopeDefineCanvas canvas, DrawingPoint p) { InitializeComponent(); this.canvas = canvas; this.p = p; MaterialBlock parent = canvas.Substructs.Find(delegate(MaterialBlock mb) { return(mb.Material.Name != "NULL" && mb.BoundaryPoints.Contains(p)); }); isFixedX.IsEnabled = parent != null && p.IsFixedX; isFixedY.IsEnabled = parent != null && p.IsFixedY; isFixedX.IsChecked = parent != null && p.IsFixActiveX; isFixedY.IsChecked = parent != null && p.IsFixActiveY; List <LineConstraint> attachedLCs = new List <LineConstraint>(); canvas.Substructs.ForEach( delegate(MaterialBlock mb) { attachedLCs.AddRange(mb.LineConstraints.FindAll(delegate(LineConstraint lc) { return(lc.Nodes.Contains(p)); })); }); attachedLCs.ForEach( delegate(LineConstraint lc) { if (lc.IsActiveX) { isFixedX.IsEnabled = false; } if (lc.IsActiveY) { isFixedY.IsEnabled = false; } }); attachedLCs.Clear(); }