public static void TopRFT(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { TopRFTLines = new GLine[SpanVals.Length + 1]; //Case Of Cantilever Start Span if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { TopRFTLines[0] = new GLine(gCanvas, new Point(StartPointTopArr[0].X, StartPointTopArr[0].Y + 0.07 * scale), new Point(StartPointTopArr[0].X + 0.20 * (EndPointTopArr[0].X - StartPointTopArr[0].X), StartPointTopArr[0].Y + 0.07 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(TopRFTLines[0]); } for (int i = 1; i < TopRFTLines.Length - 1; i++) { TopRFTLines[i] = new GLine(gCanvas, new Point(EndPointTopArr[i - 1].X - 0.20 * (EndPointTopArr[i - 1].X - StartPointTopArr[i - 1].X), EndPointTopArr[i - 1].Y + 0.07 * scale), new Point(StartPointTopArr[i].X + 0.20 * (EndPointTopArr[i].X - StartPointTopArr[i].X), StartPointTopArr[i].Y + 0.07 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(TopRFTLines[i]); } //Case of Cantilever end Span if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { TopRFTLines[TopRFTLines.Length - 1] = new GLine(gCanvas, new Point(StartPointTopArr[TopRFTLines.Length - 2].X + 0.80 * (EndPointTopArr[TopRFTLines.Length - 2].X - StartPointTopArr[TopRFTLines.Length - 2].X), StartPointTopArr[TopRFTLines.Length - 2].Y + 0.07 * scale), new Point(EndPointTopArr[TopRFTLines.Length - 2].X, EndPointTopArr[TopRFTLines.Length - 2].Y + 0.07 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(TopRFTLines[TopRFTLines.Length - 1]); } }
public static void RightSecStirrups(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { StirrupsRightSec = new GLine[SpanVals.Length, 3]; double spacingRight = 0; for (int i = 0; i < StirrupsRightSec.GetLength(0) - 1; i++) { spacingRight = 0; for (int j = 0; j < StirrupsRightSec.GetLength(1); j++) { StirrupsRightSec[i, j] = new GLine(gCanvas, new Point(EndPointTopArr[i].X - (0.05 + spacingRight / 1000) * scale, EndPointTopArr[i].Y + 0.07 * scale) , new Point(EndPointBotArr[i].X - (0.05 + spacingRight / 1000) * scale, EndPointBotArr[i].Y /* - 0.07 * scale*/)); spacingRight += 150; //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(StirrupsRightSec[i, j]); } } //For cantilever at End if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { spacingRight = 0; for (int j = 0; j < StirrupsRightSec.GetLength(1); j++) { StirrupsRightSec[StirrupsRightSec.GetLength(0) - 1, j] = new GLine(gCanvas, new Point(EndPointTopArr[StirrupsRightSec.GetLength(0) - 1].X - (0.05 + spacingRight / 1000) * scale, EndPointTopArr[StirrupsRightSec.GetLength(0) - 1].Y + 0.07 * scale) , new Point(EndPointBotArr[StirrupsRightSec.GetLength(0) - 1].X - (0.05 + spacingRight / 1000) * scale, EndPointBotArr[StirrupsRightSec.GetLength(0) - 1].Y /* - 0.07 * scale*/)); spacingRight += 150; //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(StirrupsRightSec[StirrupsRightSec.GetLength(0) - 1, j]); } } }
public void ShowCanvas(GCanvas canvas) { if (showingCanvasIdx < 0 || showingCanvasIdx == (int)canvas) { return; } // 最後一次顯示的canvas隱藏 CanvasObjs[showingCanvasIdx].SetActive(false); // 更新目前顯示的canvas index showingCanvasIdx = (int)canvas; // 顯示canvas CanvasObjs[(int)canvas].SetActive(true); if (canvas == GCanvas.BattleHistory || canvas == GCanvas.Market || canvas == GCanvas.NormalStage || canvas == GCanvas.Setting || canvas == GCanvas.TeamInfo) { GeneralUIManager.instance.ShowBackButton(); } else { GeneralUIManager.instance.HideBackButton(); } }
/// <summary> /// Initialize the base controls /// </summary> public void init() { _Form = new GForm(); _Form.owner = _Owner; _Form.caller = _Caller; _Form.ecs_instance = _ECSInstance; _Form.bounds = new Rectangle(_Position.X, _Position.Y, _Dimensions.X, _Dimensions.Y); _Canvas = new GCanvas(); _Canvas.owner = _Owner; _Canvas.caller = _Caller; _Canvas.ecs_instance = _ECSInstance; _Canvas.bounds = new Rectangle(_Position.X, _Position.Y, _Dimensions.X, _Dimensions.Y); _Frame = new GFrame(); _Frame.owner = _Owner; _Frame.caller = _Caller; _Frame.ecs_instance = _ECSInstance; _Frame.bounds = new Rectangle(_Position.X, _Position.Y, _Dimensions.X, _Dimensions.Y); _Button = new GButton(); _Button.owner = _Owner; _Button.caller = _Caller; _Button.ecs_instance = _ECSInstance; _Button.bounds = new Rectangle(_Position.X, _Position.Y, _Dimensions.X, _ButtonHeight); }
public static void BotRFT(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { BotRFTLines = new GLine[SpanVals.Length]; //Case of Cantilever at start if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { BotRFTLines[0] = new GLine(gCanvas, new Point(StartPointBotArr[0].X + 0.15 * (EndPointBotArr[0].X - StartPointBotArr[0].X), StartPointBotArr[0].Y - 0.07 * scale), new Point(StartPointBotArr[0].X + 0.85 * (EndPointBotArr[0].X - StartPointBotArr[0].X), StartPointBotArr[0].Y - 0.07 * scale)); GeometryEngineRFT.Shapes["RFT"].Add(BotRFTLines[0]); } for (int i = 1; i < BotRFTLines.Length - 1; i++) { BotRFTLines[i] = new GLine(gCanvas, new Point(StartPointBotArr[i].X + 0.15 * (EndPointBotArr[i].X - StartPointBotArr[i].X), StartPointBotArr[i].Y - 0.07 * scale), new Point(StartPointBotArr[i].X + 0.85 * (EndPointBotArr[i].X - StartPointBotArr[i].X), StartPointBotArr[i].Y - 0.07 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(BotRFTLines[i]); } //Case of Cantilever End if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { BotRFTLines[BotRFTLines.Length - 1] = new GLine(gCanvas, new Point(StartPointBotArr[BotRFTLines.Length - 1].X + 0.15 * (EndPointBotArr[BotRFTLines.Length - 1].X - StartPointBotArr[BotRFTLines.Length - 1].X), StartPointBotArr[BotRFTLines.Length - 1].Y - 0.07 * scale), new Point(StartPointBotArr[BotRFTLines.Length - 1].X + 0.85 * (EndPointBotArr[BotRFTLines.Length - 1].X - StartPointBotArr[BotRFTLines.Length - 1].X), StartPointBotArr[BotRFTLines.Length - 1].Y - 0.07 * scale)); GeometryEngineRFT.Shapes["RFT"].Add(BotRFTLines[BotRFTLines.Length - 1]); } }
public static void LeftSecStirrups(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { StirrupsLeftSec = new GLine[SpanVals.Length, 3]; double spacingLeft = 0; //For Cantilever At Start: if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { spacingLeft = 0; for (int j = 0; j < StirrupsLeftSec.GetLength(1); j++) { StirrupsLeftSec[0, j] = new GLine(gCanvas, new Point(StartPointTopArr[0].X + 0.05 * scale + (spacingLeft / 1000) * scale, StartPointTopArr[0].Y + 0.07 * scale) , new Point(StartPointBotArr[0].X + 0.05 * scale + (spacingLeft / 1000) * scale, StartPointBotArr[0].Y /* - 0.07 * scale*/)); spacingLeft += 150; //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(StirrupsLeftSec[0, j]); } } for (int i = 1; i < StirrupsLeftSec.GetLength(0); i++) { spacingLeft = 0; for (int j = 0; j < StirrupsLeftSec.GetLength(1); j++) { StirrupsLeftSec[i, j] = new GLine(gCanvas, new Point(StartPointTopArr[i].X + 0.05 * scale + (spacingLeft / 1000) * scale, StartPointTopArr[i].Y + 0.07 * scale) , new Point(StartPointBotArr[i].X + 0.05 * scale + (spacingLeft / 1000) * scale, StartPointBotArr[i].Y /* - 0.07 * scale*/)); spacingLeft += 150; //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(StirrupsLeftSec[i, j]); } } }
/*--------------------------Bottom Lines-------------------------*/ public static void ConstructBotLines(GCanvas gCanvas, GeometryEngine GeometryEngineRFT) { for (int i = 0; i < SpanVals.Length; i++) { BotLineArr[i] = new GLine(gCanvas, StartPointBotArr[i], EndPointBotArr[i]); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(BotLineArr[i]); } }
public static void CreateTopRFTTxt(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { TopRFTTxt = new GText[SpanVals.Length + 1]; //Top Support RFT/*------------------*/ //Case Of Cantilever Start Span if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { if (nRebarTopSupport[0] > 0) { TopRFTTxt[0] = new GText(gCanvas, new Point(RFTCanvas.TopRFTLines[0].EndPoint.X /*+ 0.30 * SpanVals[0] * scale*/ , RFTCanvas.TopRFTLines[0].EndPoint.Y + 0.07 * scale), $"{nRebarTopSupport[0]}T{TopChosenDiameterArr[0]}"); GeometryEngineRFT.Shapes["Text"].Add(TopRFTTxt[0]); } else { TopRFTTxt[0] = new GText(gCanvas, new Point(RFTCanvas.TopRFTLines[0].EndPoint.X /*+ 0.30 * SpanVals[0] * scale*/ , RFTCanvas.TopRFTLines[0].EndPoint.Y + 0.07 * scale), $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(TopRFTTxt[0]); } } for (int i = 1; i < TopRFTTxt.Length - 1; i++) { if (nRebarTopSupport[i] > 0) { TopRFTTxt[i] = new GText(gCanvas, new Point(RFTCanvas.TopRFTLines[i].EndPoint.X /*+ 0.30 * SpanVals[i] * scale*/ , RFTCanvas.TopRFTLines[i].EndPoint.Y + 0.07 * scale), $"{nRebarTopSupport[i]}T{TopChosenDiameterArr[i]}"); GeometryEngineRFT.Shapes["Text"].Add(TopRFTTxt[i]); } else { TopRFTTxt[i] = new GText(gCanvas, new Point(RFTCanvas.TopRFTLines[i].EndPoint.X /*+ 0.30 * SpanVals[i] * scale*/ , RFTCanvas.TopRFTLines[i].EndPoint.Y + 0.07 * scale), $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(TopRFTTxt[i]); } } //Case of Cantilever end Span if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { if (nRebarTopSupport[TopRFTTxt.Length - 1] > 0) { TopRFTTxt[TopRFTTxt.Length - 1] = new GText(gCanvas, new Point(RFTCanvas.TopRFTLines[TopRFTTxt.Length - 1].EndPoint.X /*+ 0.30 * SpanVals[TopRFTTxt.Length - 1] * scale*/ , RFTCanvas.TopRFTLines[TopRFTTxt.Length - 1].EndPoint.Y + 0.07 * scale), $"{nRebarTopSupport[TopRFTTxt.Length - 1]}T{TopChosenDiameterArr[TopRFTTxt.Length - 1]}"); GeometryEngineRFT.Shapes["Text"].Add(TopRFTTxt[TopRFTTxt.Length - 1]); } else { TopRFTTxt[TopRFTTxt.Length - 1] = new GText(gCanvas, new Point(RFTCanvas.TopRFTLines[TopRFTTxt.Length - 1].EndPoint.X /*+ 0.30 * SpanVals[TopRFTTxt.Length - 1] * scale*/ , RFTCanvas.TopRFTLines[TopRFTTxt.Length - 1].EndPoint.Y + 0.07 * scale), $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(TopRFTTxt[TopRFTTxt.Length - 1]); } } }
public static void BotRFT(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { for (int i = 0; i < BotRFTLines.Length; i++) { BotRFTLines[i] = new GLine(gCanvas, new Point(StartPointBotArr[i].X + 0.15 * (EndPointBotArr[i].X - StartPointBotArr[i].X), StartPointBotArr[i].Y - 0.07 * scale), new Point(StartPointBotArr[i].X + 0.85 * (EndPointBotArr[i].X - StartPointBotArr[i].X), StartPointBotArr[i].Y - 0.07 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(BotRFTLines[i]); } }
public static void createConsole() { Entity e = UIFactory.ecs_instance.create(); GForm form = new GForm(); GCanvas canvas = new GCanvas(); GTextBox textBox = new GTextBox(); }
public static void CreateBottomRFTTxt(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { BotRFTTxt = new GText[SpanVals.Length]; //Case of Cantilever at start if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { if (nRebarBot[0] > 0) { BotRFTTxt[0] = new GText(gCanvas, new Point(RFTCanvas.StartPointBotArr[0].X + 0.30 * SpanVals[0] * scale , RFTCanvas.StartPointBotArr[0].Y - 0.30 * scale), $"{nRebarBot[0]}T{BotChosenDiameterArr[0]}"); GeometryEngineRFT.Shapes["Text"].Add(BotRFTTxt[0]); } else { BotRFTTxt[0] = new GText(gCanvas, new Point(RFTCanvas.StartPointBotArr[0].X + 0.30 * SpanVals[0] * scale , RFTCanvas.StartPointBotArr[0].Y - 0.30 * scale), $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(BotRFTTxt[0]); } } //Bottom Rft Text/*------------------*/ for (int i = 1; i < BotRFTTxt.Length - 1; i++) { if (nRebarBot[i] > 0) { BotRFTTxt[i] = new GText(gCanvas, new Point(RFTCanvas.StartPointBotArr[i].X + 0.30 * SpanVals[i] * scale , RFTCanvas.StartPointBotArr[i].Y - 0.30 * scale), $"{nRebarBot[i]}T{BotChosenDiameterArr[i]}"); GeometryEngineRFT.Shapes["Text"].Add(BotRFTTxt[i]); } else { BotRFTTxt[i] = new GText(gCanvas, new Point(RFTCanvas.StartPointBotArr[i].X + 0.30 * SpanVals[i] * scale , RFTCanvas.StartPointBotArr[i].Y - 0.30 * scale), $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(BotRFTTxt[i]); } } //Case of Cantilever End if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { if (nRebarBot[BotRFTTxt.Length - 1] > 0) { BotRFTTxt[BotRFTTxt.Length - 1] = new GText(gCanvas, new Point(RFTCanvas.StartPointBotArr[BotRFTTxt.Length - 1].X + 0.30 * SpanVals[BotRFTTxt.Length - 1] * scale , RFTCanvas.StartPointBotArr[BotRFTTxt.Length - 1].Y - 0.30 * scale), $"{nRebarBot[BotRFTTxt.Length - 1]}T{BotChosenDiameterArr[BotRFTTxt.Length - 1]}"); GeometryEngineRFT.Shapes["Text"].Add(BotRFTTxt[BotRFTTxt.Length - 1]); } else { BotRFTTxt[BotRFTTxt.Length - 1] = new GText(gCanvas, new Point(RFTCanvas.StartPointBotArr[BotRFTTxt.Length - 1].X + 0.30 * SpanVals[BotRFTTxt.Length - 1] * scale , RFTCanvas.StartPointBotArr[BotRFTTxt.Length - 1].Y - 0.30 * scale), $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(BotRFTTxt[BotRFTTxt.Length - 1]); } } }
/// <summary> /// creates a timed dialog /// </summary> /// <param name="caller"></param> /// <param name="dialog"></param> /// <param name="origin"></param> /// <param name="name"></param> /// <param name="duration"></param> public static void createTimedDialogWindow(Entity caller, String dialog, Vector2 origin, String name, int duration) { Entity e = ecs_instance.create(); DialogTimer timer = new DialogTimer(duration, ecs_instance); GForm form = new GForm(); form.caller = caller; form.owner = e; form.ecs_instance = ecs_instance; form.bounds = new Rectangle((int)origin.X, (int)origin.Y, 100, 50); GCanvas canvas = new GCanvas(); canvas.caller = caller; canvas.owner = e; canvas.ecs_instance = ecs_instance; canvas.bounds = new Rectangle((int)origin.X, (int)origin.Y, 200, 200); GTextBox textBox = new GTextBox(); textBox.caller = caller; textBox.owner = e; textBox.ecs_instance = ecs_instance; textBox.bounds = new Rectangle((int)origin.X, (int)origin.Y, 100, 10); textBox.font_name = "StartScreen"; textBox.background_name = "frame"; textBox.border = 10; textBox.text = dialog; textBox.text_color = Color.White; textBox.autosize = true; textBox.center_text = true; textBox.background_color = Color.Black; textBox.transparency = 0.75f; textBox.updating += timer.updateHandler; canvas.controls.Add(textBox); form.canvas_controls.Add(canvas); UserInterface ui = new UserInterface(form); //assign component and issue refresh ecs_instance.add_component(e, ui); ecs_instance.resolve(e); }
public static List <GCircle> ToCircles(this List <Point2D> points, GCanvas gCanvas, Brush fill = null, double radius = 5) { fill = fill ?? Brushes.Red; var result = new List <GCircle>(); foreach (var p in points) { result.Add(new GCircle(gCanvas, new Point(p.X, p.Y), radius) { Fill = fill, Stroke = Brushes.Black }); } return(result); }
public static void createHitPointLabel(Entity entity, int width, int height, Point position) { Entity e = ecs_instance.create(); HpLabelUpdater updater = new HpLabelUpdater(ecs_instance); GForm form = new GForm(); form.owner = e; form.ecs_instance = ecs_instance; form.bounds = new Rectangle(position.X, position.Y, width, height); GCanvas canvas = new GCanvas(); canvas.owner = e; canvas.ecs_instance = ecs_instance; canvas.bounds = new Rectangle(position.X, position.Y, width, height); GLabel label = new GLabel(); label.owner = e; label.caller = entity; label.ecs_instance = ecs_instance; label.bounds = new Rectangle(position.X, position.Y, width, height); label.font_name = "General"; label.border = 5; label.background_name = "frame"; label.background_color = Color.Gray; label.transparency = 1f; label.autosize = true; label.center_text = true; label.text = "XXX / XXX"; label.text_color = Color.Red; label.updating += updater.updateHandler; canvas.controls.Add(label); form.canvas_controls.Add(canvas); UserInterface ui = new UserInterface(form); ecs_instance.component_manager.add_component(e, ui); ecs_instance.resolve(e); }
public static void ConstructColLines(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { /*----------------------Bottom Start Lines----------------------*/ for (int i = 0; i < ColLinesBotStart.Length; i++) { ColLinesBotStart[i] = new GLine(gCanvas, StartPointBotArr[i], new Point(StartPointBotArr[i].X, StartPointBotArr[i].Y + 0.4 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesBotStart[i]); } /*----------------------Bottom End Lines----------------------*/ for (int i = 0; i < ColLinesBotEnd.Length; i++) { ColLinesBotEnd[i] = new GLine(gCanvas, EndPointBotArr[i], new Point(EndPointBotArr[i].X, EndPointBotArr[i].Y + 0.4 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesBotEnd[i]); } /*-----------------Top Start Lines---------------*/ for (int i = 0; i < ColLinesTopStart.Length; i++) { ColLinesTopStart[i] = new GLine(gCanvas, StartPointTopArr[i], new Point(StartPointTopArr[i].X, StartPointTopArr[i].Y - 0.40 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesTopStart[i]); } //Top End Lines for (int i = 0; i < ColLinesTopEnd.Length; i++) { ColLinesTopEnd[i] = new GLine(gCanvas, EndPointTopArr[i], new Point(EndPointTopArr[i].X, EndPointTopArr[i].Y - 0.40 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesTopEnd[i]); } /*-------------Start and End Column Lines-------------*/ GLine startColLine = new GLine(gCanvas, new Point(StartPointTopArr[0].X - 0.15 * scale, StartPointTopArr[0].Y - 0.40 * scale) , new Point(StartPointBotArr[0].X - 0.15 * scale, StartPointBotArr[0].Y + 0.40 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(startColLine); GLine endColLine = new GLine(gCanvas, new Point(EndPointTopArr[SpanVals.Length - 1].X + 0.15 * scale, EndPointTopArr[SpanVals.Length - 1].Y - 0.40 * scale) , new Point(EndPointBotArr[SpanVals.Length - 1].X + 0.15 * scale, EndPointBotArr[SpanVals.Length - 1].Y + 0.40 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(endColLine); }
public static void RightSecStirrups(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { double spacingRight = 0; for (int i = 0; i < StirrupsRightSec.GetLength(0); i++) { spacingRight = 0; for (int j = 0; j < StirrupsRightSec.GetLength(1); j++) { StirrupsRightSec[i, j] = new GLine(gCanvas, new Point(EndPointTopArr[i].X - (0.05 + spacingRight / 1000) * scale, EndPointTopArr[i].Y + 0.07 * scale) , new Point(EndPointBotArr[i].X - (0.05 + spacingRight / 1000) * scale, EndPointBotArr[i].Y /* - 0.07 * scale*/)); spacingRight += 150; //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(StirrupsRightSec[i, j]); } } }
public static List <GLine> ToLines(this List <Point2D> points, GCanvas gCanvas) { var result = new List <GLine>(); for (int i = 0; i < points.Count - 1; i += 2) { if (i == points.Count - 1) { return(result); } result.Add(new GLine(gCanvas, new Point2D(points[i].X, points[i].Y), new Point2D(points[i + 1].X, points[i + 1].Y)) { Fill = Brushes.Red, Stroke = Brushes.Red }); } return(result); }
public static void TopRFT(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { TopRFTLines[0] = new GLine(gCanvas, new Point(StartPointTopArr[0].X, StartPointTopArr[0].Y + 0.07 * scale), new Point(StartPointTopArr[0].X + 0.20 * (EndPointTopArr[0].X - StartPointTopArr[0].X), StartPointTopArr[0].Y + 0.07 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(TopRFTLines[0]); for (int i = 1; i < TopRFTLines.Length - 1; i++) { TopRFTLines[i] = new GLine(gCanvas, new Point(EndPointTopArr[i - 1].X - 0.20 * (EndPointTopArr[i - 1].X - StartPointTopArr[i - 1].X), EndPointTopArr[i - 1].Y + 0.07 * scale), new Point(StartPointTopArr[i].X + 0.20 * (EndPointTopArr[i].X - StartPointTopArr[i].X), StartPointTopArr[i].Y + 0.07 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(TopRFTLines[i]); } TopRFTLines[TopRFTLines.Length - 1] = new GLine(gCanvas, new Point(StartPointTopArr[TopRFTLines.Length - 2].X + 0.80 * (EndPointTopArr[TopRFTLines.Length - 2].X - StartPointTopArr[TopRFTLines.Length - 2].X), StartPointTopArr[TopRFTLines.Length - 2].Y + 0.07 * scale), new Point(EndPointTopArr[TopRFTLines.Length - 2].X, EndPointTopArr[TopRFTLines.Length - 2].Y + 0.07 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(TopRFTLines[TopRFTLines.Length - 1]); }
/// <summary> /// initialize menu /// </summary> public void init() { //setup form _Form = new GForm(); _Form.owner = _Owner; _Form.caller = _Caller; _Form.ecs_instance = _ECSInstance; _Form.bounds = new Rectangle(_Position.X, _Position.Y, _Width + 2 * _border, (_Height + _Spacing) * _ButtonCount + 2 * _border); //setup canvas _Canvas = new GCanvas(); _Canvas.owner = _Owner; _Canvas.caller = _Caller; _Canvas.ecs_instance = _ECSInstance; _Canvas.bounds = new Rectangle(_Position.X, _Position.Y, _Width + 2 * _border, (_Height + _Spacing) * _ButtonCount + 2 * _border); //setup frame _Frame = new GFrame(); _Frame.owner = _Owner; _Frame.caller = _Caller; _Frame.ecs_instance = _ECSInstance; _Frame.bounds = new Rectangle(_Position.X, _Position.Y, _Width + 2 * _border, (_Height + _Spacing) * _ButtonCount + 2 * _border); //_Canvas.Controls.Add(_Frame); for (int i = 0; i < _ButtonCount; i++) { GButton button = new GButton(); button.owner = _Owner; button.caller = _Caller; button.ecs_instance = _ECSInstance; button.bounds = new Rectangle(_Position.X + _border, _Position.Y + _border + i * (_Height + _Spacing), _Width, _Height); //_Canvas.Controls.Add(button); _Buttons.Add(button); } //_Form.CanvasControls.Add(_Canvas); }
public static GFrame createMousePointer(Point position, int width, int height, string textureName, InterfaceHandler handler) { Entity e = ecs_instance.create(); GForm form = new GForm(); form.owner = e; form.ecs_instance = ecs_instance; form.bounds = new Rectangle(position.X, position.Y, width, height); GCanvas canvas = new GCanvas(); canvas.owner = e; canvas.ecs_instance = ecs_instance; canvas.bounds = new Rectangle(position.X, position.Y, width, height); GFrame frame = new GFrame(); frame.owner = e; frame.ecs_instance = ecs_instance; frame.bounds = new Rectangle(position.X, position.Y, width, height); frame.background_name = textureName; frame.updating += handler; canvas.controls.Add(frame); form.canvas_controls.Add(canvas); UserInterface ui = new UserInterface(form); ecs_instance.component_manager.add_component(e, ui); ecs_instance.resolve(e); return(frame); }
public static void createFrame(Entity caller, Point Position, int height, int width, string textureName) { Entity e = ecs_instance.create(); GForm form = new GForm(); form.caller = caller; form.owner = e; form.ecs_instance = ecs_instance; form.bounds = new Rectangle(Position.X, Position.Y, width, height); GCanvas canvas = new GCanvas(); canvas.caller = caller; canvas.owner = e; canvas.ecs_instance = ecs_instance; canvas.bounds = new Rectangle(Position.X, Position.Y, width, height); GFrame frame = new GFrame(); frame.caller = caller; frame.owner = e; frame.ecs_instance = ecs_instance; frame.bounds = new Rectangle(Position.X, Position.Y, width, height); frame.background_name = textureName; canvas.controls.Add(frame); form.canvas_controls.Add(canvas); UserInterface ui = new UserInterface(form); ecs_instance.component_manager.add_component(e, ui); ecs_instance.resolve(e); }
public static void StirrupRightTxt(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { stirRightTxt = new GText[SpanVals.Length]; //Stirrups Text Left/*------------------*/ double fystr = -1; for (int i = 0; i < stirRightTxt.Length - 1; i++) { if (indexesRight[i] != -2) { if (indexesRight[i] < stirDiaArr240.Length) { fystr = 240; stirRightTxt[i] = new GText(gCanvas , new Point(RFTCanvas.StirrupsRightSec[i, 2].StartPoint.X - 0.7 * scale, RFTCanvas.StirrupsRightSec[i, 2].StartPoint.Y - 0.30 * scale) , $"Y{stirDiaArr240[indexesRight[i]]}@{spacingRightSec[i]}"); GeometryEngineRFT.Shapes["Text"].Add(stirRightTxt[i]); } else if (indexesRight[i] < stirDiaArr240.Length + stirDiaArr360.Length) { fystr = 360; stirRightTxt[i] = new GText(gCanvas , new Point(RFTCanvas.StirrupsRightSec[i, 2].StartPoint.X - 0.70 * scale, RFTCanvas.StirrupsRightSec[i, 2].StartPoint.Y - 0.30 * scale) , $"T{stirDiaArr360[indexesRight[i] - stirDiaArr240.Length]}@{spacingRightSec[i]}"); GeometryEngineRFT.Shapes["Text"].Add(stirRightTxt[i]); } else if (indexesRight[i] < stirDiaArr240.Length + stirDiaArr360.Length + stirDiaArr400.Length) { fystr = 400; stirRightTxt[i] = new GText(gCanvas , new Point(RFTCanvas.StirrupsRightSec[i, 2].StartPoint.X - 0.70 * scale, RFTCanvas.StirrupsRightSec[i, 2].StartPoint.Y - 0.30 * scale) , $"T{stirDiaArr400[indexesRight[i] - stirDiaArr360.Length - stirDiaArr240.Length]}"); GeometryEngineRFT.Shapes["Text"].Add(stirRightTxt[i]); } } else { stirRightTxt[i] = new GText(gCanvas , new Point(RFTCanvas.StirrupsRightSec[i, 2].StartPoint.X - 0.70 * scale, RFTCanvas.StirrupsRightSec[i, 2].StartPoint.Y - 0.30 * scale) , $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(stirRightTxt[i]); } } //Case Of Cantilever at right End #region Case of Cantilever at right end if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { if (indexesRight[stirRightTxt.Length - 1] != -2) { if (indexesRight[stirRightTxt.Length - 1] < stirDiaArr240.Length) { fystr = 240; stirRightTxt[stirRightTxt.Length - 1] = new GText(gCanvas , new Point(RFTCanvas.StirrupsRightSec[stirRightTxt.Length - 1, 2].StartPoint.X - 0.70 * scale, RFTCanvas.StirrupsRightSec[stirRightTxt.Length - 1, 2].StartPoint.Y - 0.30 * scale) , $"Y{stirDiaArr240[indexesRight[stirRightTxt.Length - 1]]}@{spacingRightSec[stirRightTxt.Length - 1]}"); GeometryEngineRFT.Shapes["Text"].Add(stirRightTxt[stirRightTxt.Length - 1]); } else if (indexesRight[stirRightTxt.Length - 1] < stirDiaArr240.Length + stirDiaArr360.Length) { fystr = 360; stirRightTxt[stirRightTxt.Length - 1] = new GText(gCanvas , new Point(RFTCanvas.StirrupsRightSec[stirRightTxt.Length - 1, 2].StartPoint.X - 0.70 * scale, RFTCanvas.StirrupsRightSec[stirRightTxt.Length - 1, 2].StartPoint.Y - 0.30 * scale) , $"T{stirDiaArr360[indexesRight[stirRightTxt.Length - 1] - stirDiaArr240.Length]}@{spacingRightSec[stirRightTxt.Length - 1]}"); GeometryEngineRFT.Shapes["Text"].Add(stirRightTxt[stirRightTxt.Length - 1]); } else if (indexesRight[stirRightTxt.Length - 1] < stirDiaArr240.Length + stirDiaArr360.Length + stirDiaArr400.Length) { fystr = 400; stirRightTxt[stirRightTxt.Length - 1] = new GText(gCanvas , new Point(RFTCanvas.StirrupsRightSec[stirRightTxt.Length - 1, 2].StartPoint.X - 0.70 * scale, RFTCanvas.StirrupsRightSec[stirRightTxt.Length - 1, 2].StartPoint.Y - 0.30 * scale) , $"T{stirDiaArr400[indexesRight[stirRightTxt.Length - 1] - stirDiaArr360.Length - stirDiaArr240.Length]}"); GeometryEngineRFT.Shapes["Text"].Add(stirRightTxt[stirRightTxt.Length - 1]); } } else { stirRightTxt[stirRightTxt.Length - 1] = new GText(gCanvas , new Point(RFTCanvas.StirrupsRightSec[stirRightTxt.Length - 1, 2].StartPoint.X - 0.70 * scale, RFTCanvas.StirrupsRightSec[stirRightTxt.Length - 1, 2].StartPoint.Y - 0.30 * scale) , $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(stirRightTxt[stirRightTxt.Length - 1]); } } #endregion }
public static void StirrupLeftTxt(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { stirLeftTxt = new GText[SpanVals.Length]; //Stirrups Text Left/*------------------*/ double fystr = -1; /*Case Of Cantilever at left End*/ #region Case of Cantilever at start if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { if (indexesLeft[0] != -2) { if (indexesLeft[0] < stirDiaArr240.Length) { fystr = 240; stirLeftTxt[0] = new GText(gCanvas , new Point(RFTCanvas.StirrupsLeftSec[0, 2].StartPoint.X, RFTCanvas.StirrupsLeftSec[0, 2].StartPoint.Y - 0.40 * scale) , $"Y{stirDiaArr240[indexesLeft[0]]}@{spacingLeftSec[0]}"); GeometryEngineRFT.Shapes["Text"].Add(stirLeftTxt[0]); } else if (indexesLeft[0] < stirDiaArr240.Length + stirDiaArr360.Length) { fystr = 360; stirLeftTxt[0] = new GText(gCanvas , new Point(RFTCanvas.StirrupsLeftSec[0, 2].StartPoint.X, RFTCanvas.StirrupsLeftSec[0, 2].StartPoint.Y - 0.40 * scale) , $"T{stirDiaArr360[indexesLeft[0] - stirDiaArr240.Length]}@{spacingLeftSec[0]}"); GeometryEngineRFT.Shapes["Text"].Add(stirLeftTxt[0]); } else if (indexesLeft[0] < stirDiaArr240.Length + stirDiaArr360.Length + stirDiaArr400.Length) { fystr = 400; stirLeftTxt[0] = new GText(gCanvas , new Point(RFTCanvas.StirrupsLeftSec[0, 2].StartPoint.X, RFTCanvas.StirrupsLeftSec[0, 2].StartPoint.Y - 0.40 * scale) , $"T{stirDiaArr400[indexesLeft[0] - stirDiaArr360.Length - stirDiaArr240.Length]}@{spacingLeftSec[0]}"); GeometryEngineRFT.Shapes["Text"].Add(stirLeftTxt[0]); } } else { stirLeftTxt[0] = new GText(gCanvas , new Point(RFTCanvas.StirrupsLeftSec[0, 2].StartPoint.X, RFTCanvas.StirrupsLeftSec[0, 2].StartPoint.Y - 0.40 * scale) , $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(stirLeftTxt[0]); } } #endregion for (int i = 1; i < stirLeftTxt.Length; i++) { if (indexesLeft[i] != -2) { if (indexesLeft[i] < stirDiaArr240.Length) { fystr = 240; stirLeftTxt[i] = new GText(gCanvas , new Point(RFTCanvas.StirrupsLeftSec[i, 2].StartPoint.X, RFTCanvas.StirrupsLeftSec[i, 2].StartPoint.Y - 0.40 * scale) , $"Y{stirDiaArr240[indexesLeft[i]]}@{spacingLeftSec[i]}"); GeometryEngineRFT.Shapes["Text"].Add(stirLeftTxt[i]); } else if (indexesLeft[i] < stirDiaArr240.Length + stirDiaArr360.Length) { fystr = 360; stirLeftTxt[i] = new GText(gCanvas , new Point(RFTCanvas.StirrupsLeftSec[i, 2].StartPoint.X, RFTCanvas.StirrupsLeftSec[i, 2].StartPoint.Y - 0.40 * scale) , $"T{stirDiaArr360[indexesLeft[i] - stirDiaArr240.Length]}@{spacingLeftSec[i]}"); GeometryEngineRFT.Shapes["Text"].Add(stirLeftTxt[i]); } else if (indexesLeft[i] < stirDiaArr240.Length + stirDiaArr360.Length + stirDiaArr400.Length) { fystr = 400; stirLeftTxt[i] = new GText(gCanvas , new Point(RFTCanvas.StirrupsLeftSec[i, 2].StartPoint.X, RFTCanvas.StirrupsLeftSec[i, 2].StartPoint.Y - 0.40 * scale) , $"T{stirDiaArr400[indexesLeft[i] - stirDiaArr360.Length - stirDiaArr240.Length]}@{spacingLeftSec[i]}"); GeometryEngineRFT.Shapes["Text"].Add(stirLeftTxt[i]); } } else { stirLeftTxt[i] = new GText(gCanvas , new Point(RFTCanvas.StirrupsLeftSec[i, 2].StartPoint.X, RFTCanvas.StirrupsLeftSec[i, 2].StartPoint.Y - 0.40 * scale) , $"Increase Dims"); GeometryEngineRFT.Shapes["Text"].Add(stirLeftTxt[i]); } } }
public static void ConstructColLines(GCanvas gCanvas, GeometryEngine GeometryEngineRFT, double scale) { ColLinesTopStart = new GLine[SpanVals.Length]; ColLinesTopEnd = new GLine[SpanVals.Length]; ColLinesBotStart = new GLine[SpanVals.Length]; ColLinesBotEnd = new GLine[SpanVals.Length]; /*----------------------Bottom Start Lines----------------------*/ //Case Of Cantilever at start if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { ColLinesBotStart[0] = new GLine(gCanvas, StartPointBotArr[0], new Point(StartPointBotArr[0].X, StartPointBotArr[0].Y + 0.4 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesBotStart[0]); } else { GLine comLineBotStart = new GLine(gCanvas, StartPointBotArr[0], new Point(StartPointBotArr[0].X - 0.15 * scale, StartPointBotArr[0].Y)); GeometryEngineRFT.Shapes["RFT"].Add(comLineBotStart); } for (int i = 1; i < ColLinesBotStart.Length; i++) { ColLinesBotStart[i] = new GLine(gCanvas, StartPointBotArr[i], new Point(StartPointBotArr[i].X, StartPointBotArr[i].Y + 0.4 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesBotStart[i]); } /*----------------------Bottom End Lines----------------------*/ for (int i = 0; i < ColLinesBotEnd.Length - 1; i++) { ColLinesBotEnd[i] = new GLine(gCanvas, EndPointBotArr[i], new Point(EndPointBotArr[i].X, EndPointBotArr[i].Y + 0.4 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesBotEnd[i]); } //Case Of Cantilever at End if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { ColLinesBotEnd[ColLinesBotEnd.Length - 1] = new GLine(gCanvas, EndPointBotArr[ColLinesBotEnd.Length - 1], new Point(EndPointBotArr[ColLinesBotEnd.Length - 1].X, EndPointBotArr[ColLinesBotEnd.Length - 1].Y + 0.4 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesBotEnd[ColLinesBotEnd.Length - 1]); } else { GLine comLineBotEnd = new GLine(gCanvas, EndPointBotArr[ColLinesBotEnd.Length - 1], new Point(EndPointBotArr[ColLinesBotEnd.Length - 1].X + 0.15 * scale, EndPointBotArr[ColLinesBotEnd.Length - 1].Y)); GeometryEngineRFT.Shapes["RFT"].Add(comLineBotEnd); } /*-----------------Top Start Lines---------------*/ //Case Of Cantilever at start if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { ColLinesTopStart[0] = new GLine(gCanvas, StartPointTopArr[0], new Point(StartPointTopArr[0].X, StartPointTopArr[0].Y - 0.4 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesTopStart[0]); } else { GLine comLineTopStart = new GLine(gCanvas, StartPointTopArr[0], new Point(StartPointTopArr[0].X - 0.15 * scale, StartPointTopArr[0].Y)); GeometryEngineRFT.Shapes["RFT"].Add(comLineTopStart); } for (int i = 1; i < ColLinesTopStart.Length; i++) { ColLinesTopStart[i] = new GLine(gCanvas, StartPointTopArr[i], new Point(StartPointTopArr[i].X, StartPointTopArr[i].Y - 0.40 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesTopStart[i]); } /*-----------------Top End Lines---------------*/ for (int i = 0; i < ColLinesTopEnd.Length - 1; i++) { ColLinesTopEnd[i] = new GLine(gCanvas, EndPointTopArr[i], new Point(EndPointTopArr[i].X, EndPointTopArr[i].Y - 0.40 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesTopEnd[i]); } //Case Of Cantilever at End if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { ColLinesTopEnd[ColLinesTopEnd.Length - 1] = new GLine(gCanvas, EndPointTopArr[ColLinesBotEnd.Length - 1], new Point(EndPointTopArr[ColLinesBotEnd.Length - 1].X, EndPointTopArr[ColLinesBotEnd.Length - 1].Y - 0.4 * scale));//--- //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(ColLinesTopEnd[ColLinesTopEnd.Length - 1]); } else { GLine comLineTopEnd = new GLine(gCanvas, EndPointTopArr[ColLinesBotEnd.Length - 1], new Point(EndPointTopArr[ColLinesBotEnd.Length - 1].X + 0.15 * scale, EndPointTopArr[ColLinesBotEnd.Length - 1].Y)); GeometryEngineRFT.Shapes["RFT"].Add(comLineTopEnd); } /*-------------Start and End Column Lines-------------*/ //Start Column Line //Case of Cantilever at start: if (GeometryEditorVM.GeometryEditor.RestraintsCollection[0].SelectedRestraint != Restraints.NoRestraints) { GLine startColLine = new GLine(gCanvas, new Point(StartPointTopArr[0].X - 0.15 * scale, StartPointTopArr[0].Y - 0.40 * scale) , new Point(StartPointBotArr[0].X - 0.15 * scale, StartPointBotArr[0].Y + 0.40 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(startColLine); } else { GLine startColLine = new GLine(gCanvas, new Point(StartPointTopArr[0].X - 0.15 * scale, StartPointTopArr[0].Y) , new Point(StartPointBotArr[0].X - 0.15 * scale, StartPointBotArr[0].Y)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(startColLine); } //End Colimn Line //Case of Cantilever at end if (GeometryEditorVM.GeometryEditor.RestraintsCollection[SpanVals.Length].SelectedRestraint != Restraints.NoRestraints) { GLine endColLine = new GLine(gCanvas, new Point(EndPointTopArr[SpanVals.Length - 1].X + 0.15 * scale, EndPointTopArr[SpanVals.Length - 1].Y - 0.40 * scale) , new Point(EndPointBotArr[SpanVals.Length - 1].X + 0.15 * scale, EndPointBotArr[SpanVals.Length - 1].Y + 0.40 * scale)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(endColLine); } else { GLine endColLine = new GLine(gCanvas, new Point(EndPointTopArr[SpanVals.Length - 1].X + 0.15 * scale, EndPointTopArr[SpanVals.Length - 1].Y) , new Point(EndPointBotArr[SpanVals.Length - 1].X + 0.15 * scale, EndPointBotArr[SpanVals.Length - 1].Y)); //add to the CANVAS GeometryEngineRFT.Shapes["RFT"].Add(endColLine); } }