public AddPointAfterAction(Surface surface, Vertex vertex, double x, double y) { Surface = surface; Vertex = vertex; X = x; Y = y; }
public MoveShapeAction(Surface surface, Vector delta) { Surface = surface; Delta = delta; }
public MovePointsAction(Surface surface, IReadOnlyCollection<Vertex> points, Vector delta) { Surface = surface; Points = points; Delta = delta; }
public MovePointsAction(Surface surface, Vertex vertex, Vector delta) { Surface = surface; Points = new [] { vertex }; Delta = delta; }
public RotateFigureAction(Surface surface, double agnle) { Surface = surface; Agnle = agnle; }
public SelectShapeAction(Surface surface) { Surface = surface; }
public Scene RemovePoint(Surface surface, Vertex vertex) { return Create(Surfaces.Replace(surface, surface.RemovePoint(vertex))); }
public Scene AddPoint(Surface surface, Vertex vertex, Vertex previous) { return Create(Surfaces.Replace(surface, surface.AddPoint(vertex, previous))); }
public Scene MovePoint(Surface surface, Vertex vertex, Vector delta) { return Create(Surfaces.Replace(surface, surface.MovePoint(vertex, delta))); }
public Scene Replace(Surface oldValue, Surface newValue) { return Create(Surfaces.Replace(oldValue, newValue)); }
public Scene MoveSurface(Surface surface, Vector delta) { return Create(Surfaces.Replace(surface, surface.Move(delta))); }
public Scene AddSurface(Surface surface) { return Create(Surfaces.Add(surface)); }
public RemovePointAction(Surface surface, Vertex vertex) { Surface = surface; Vertex = vertex; }
public ScaleFigureAction(Surface surface, double factor) { Surface = surface; Factor = factor; }