public MoveShapeAction(Surface surface, Vector delta) { Surface = surface; Delta = delta; }
public MovePointsAction(Surface surface, Vertex vertex, Vector delta) { Surface = surface; Points = new [] { vertex }; Delta = delta; }
public MovePointsAction(Surface surface, IReadOnlyCollection<Vertex> points, Vector delta) { Surface = surface; Points = points; Delta = delta; }
private void EdgeOnMove(Line line, Vector vector) { App.Send(new MovePointsAction(State, new[] {line.A, line.B}, vector)); }
private void VertexOnMove(Store.Vertex vertex, Vector vector) { App.Send(new MovePointsAction(State, vertex, vector)); }
public Surface Move(Vector delta) { return Create(Position.Move(delta), Points, IsSelected, Name); }
public Surface MovePoint(Vertex vertex, Vector delta) { return Create(Position, Points.Replace(vertex, vertex.Move(delta)), IsSelected, Name); }
public Scene MovePoint(Surface surface, Vertex vertex, Vector delta) { return Create(Surfaces.Replace(surface, surface.MovePoint(vertex, delta))); }
public Scene MoveSurface(Surface surface, Vector delta) { return Create(Surfaces.Replace(surface, surface.Move(delta))); }
public Vertex Move(Vector delta) { return this + delta; }