public SceneGenerator(Scene template) { mTemplate = template; }
private void DrawGraph3(ref PlotModel myModel, VehicleData v, Scene scene, double time, OxyColor c) { //detect discontinuities in position and split lists accordingly var prevPos = v.Position[0]; var sections = new List<List<XYPoint>>(); //set up first list and point sections.Add(new List<XYPoint>()); int currList = 0; sections[0].Add(prevPos); var positionData = new LineSeries(); positionData.Color = c; for (int i = 1; i < v.Position.Count; i++) { positionData.Points.Add(new DataPoint(v.Time[i], v.Angle[i])); if (time > 0 && v.Time[i] > time) { break; } } myModel.Series.Add(positionData); }
private void DrawGraph(ref PlotModel myModel, VehicleData v, Scene scene, OxyColor c) { //detect discontinuities in position and split lists accordingly var prevPos = v.Position[0]; var sections = new List<List<XYPoint>>(); //set up first list and point sections.Add(new List<XYPoint>()); int currList = 0; sections[0].Add(prevPos); for (int i = 1; i < v.Position.Count; i++) { var currPos = v.Position[i]; if (IsDiscontinuity(prevPos, currPos, 2.0f)) { currList++; sections.Add(new List<XYPoint>()); } sections[currList].Add(currPos); prevPos = currPos; } foreach (var section in sections) { var positionData = new LineSeries(); positionData.Color = c; positionData.Points.AddRange(section.Select(xy => (DataPoint)xy)); myModel.Series.Add(positionData); } //var lights = new ScatterSeries(); //lights.MarkerType = MarkerType.Circle; foreach (var light in scene.Lights) { LineSeries circle; if (light.Position != null) { circle = MakeCircle(light.Position[0], light.Position[1], light.Radius); } else { circle = new LineSeries(); foreach(List<double> d in light.Path) { circle.Points.Add(new DataPoint(d[0], d[1])); } circle.Points.Add(new DataPoint(light.Path[0][0], light.Path[0][1])); } circle.Color = Color.Black.ToOxyColor(); myModel.Series.Add(circle); //lights.Points.Add(new ScatterPoint(light.Position[0], light.Position[1],light.Radius)); } //myModel.Series.Add(lights); }
private void loadButton_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog(); ofd.InitialDirectory = @"H: \Users\Jack\Source\Repos\BraitenbergSimulator\BraitenbergSimulator\BraitenbergSimulator\yaml"; ofd.Filter = "yaml files (*.yaml)|*.yaml|All files (.*)|*.*"; ofd.FilterIndex = 0; ofd.RestoreDirectory = true; if (ofd.ShowDialog() == DialogResult.OK) { theScene = Scene.FromFile(ofd.FileName); } }