ME3Explorer.CurveEd.CurveGraph.PathBetween C# (CSharp) Method

PathBetween() private method

private PathBetween ( Anchor a1, Anchor a2, CurveMode interpMode = CurveMode.CIM_Linear ) : void
a1 Anchor
a2 Anchor
interpMode CurveMode
return void
        private void PathBetween(Anchor a1, Anchor a2, CurveMode interpMode = CurveMode.CIM_Linear)
        {
            Line line;
            BezierSegment bez;
            switch (interpMode)
            {
                case CurveMode.CIM_Linear:
                    line = new Line();
                    line.bind(Line.X1Property, a1, "X");
                    line.bind(Line.Y1Property, a1, "Y", new YConverter(), ActualHeight);
                    line.bind(Line.X2Property, a2, "X");
                    line.bind(Line.Y2Property, a2, "Y", new YConverter(), ActualHeight);
                    graph.Children.Add(line);
                    break;
                case CurveMode.CIM_Constant:
                    line = new Line();
                    line.bind(Line.X1Property, a1, "X");
                    line.bind(Line.Y1Property, a1, "Y", new YConverter(), ActualHeight);
                    line.bind(Line.X2Property, a2, "X");
                    line.bind(Line.Y2Property, a1, "Y", new YConverter(), ActualHeight);
                    graph.Children.Add(line);
                    line = new Line();
                    line.bind(Line.X1Property, a2, "X");
                    line.bind(Line.Y1Property, a1, "Y", new YConverter(), ActualHeight);
                    line.bind(Line.X2Property, a2, "X");
                    line.bind(Line.Y2Property, a2, "Y", new YConverter(), ActualHeight);
                    graph.Children.Add(line);
                    break;
                case CurveMode.CIM_CurveAuto:
                case CurveMode.CIM_CurveUser:
                case CurveMode.CIM_CurveBreak:
                case CurveMode.CIM_CurveAutoClamped:
                    bez = new BezierSegment(this);
                    bez.Slope1 = a1.point.Value.LeaveTangent;
                    bez.Slope2 = a2.point.Value.ArriveTangent;
                    bez.bind(BezierSegment.X1Property, a1, "X");
                    bez.bind(BezierSegment.Y1Property, a1, "Y");
                    bez.bind(BezierSegment.X2Property, a2, "X");
                    bez.bind(BezierSegment.Y2Property, a2, "Y");
                    graph.Children.Add(bez);
                    a1.rightBez = bez;
                    a2.leftBez = bez;
                    break;
                default:
                    break;
            }
        }