public void Simulate(double interval) { partialTimeStepInterval += interval; List<PointD> list = PredictNextPositions(1); if (partialTimeStepInterval > 1) { partialTimeStepInterval -= 1; if (list != null) { AddNewPosition(list[0]); Train(); position = list[0]; } } else { List<PointD> prev = GetPreviousPositions(); if ((prev != null) && (list != null)) { PointD last = prev[prev.Count - 1]; position.X = last.X * (1 - partialTimeStepInterval) + list[0].X * partialTimeStepInterval; position.Y = last.Y * (1 - partialTimeStepInterval) + list[0].Y * partialTimeStepInterval; } } }
public FinishState(PointD position, double angle) { this.position = new PointD(0, 0); this.orientation = new PointD(1, 0); this.Position = position; this.Angle = angle; }
public FinishState(PointD position, PointD orientation) { this.position = new PointD(0, 0); this.orientation = new PointD(1, 0); this.Position = position; this.Orientation = orientation; }
public FinishState(double[] arg) { this.position = new PointD(0, 0); this.orientation = new PointD(1, 0); this.Position = new PointD(arg[0], arg[1]); this.Orientation = new PointD(arg[2], arg[3]); }
public void SetPosition(PointD point) { positionPredictor = null; this.position = point; }
public void AddNewPosition(PointD point) { this.position = point; if (positionPredictor == null) positionPredictor = new PositionPredictor(45, 10); positionPredictor.AddPoint(point); }
public PredictablePosition(PointD point) { this.position = point; partialTimeStepInterval = 0; }
public PredictablePosition() { this.position = new PointD(0,0); partialTimeStepInterval = 0; }
public ObstacleState(PointD position, double radius) { pp = new PredictablePosition(position); this.radius = radius; }
public FinishModel(PointD position, double angle) { state = new FinishState(position, angle); finish = NavigationSimulator.Properties.Resources.finish; }
public ObstacleModel(PointD position, double radius) { state = new ObstacleState(position, radius); }