コード例 #1
0
 public AddPointAfterAction(Surface surface, Vertex vertex, double x, double y)
 {
     Surface = surface;
     Vertex = vertex;
     X = x;
     Y = y;
 }
コード例 #2
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
 private Surface(
     Vertex position,
     IReadOnlyCollection<Vertex> points,
     bool isSelected,
     string name)
 {
     Points = ImmutableList.CreateRange(points);
     Position = position;
     IsSelected = isSelected;
     Name = name;
 }
コード例 #3
0
 public MovePointsAction(Surface surface, Vertex vertex, Vector delta)
 {
     Surface = surface;
     Points = new [] { vertex };
     Delta = delta;
 }
コード例 #4
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
 public Surface RemovePoint(Vertex vertex)
 {
     return Create(Position, Points.Remove(vertex), IsSelected, Name);
 }
コード例 #5
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
 public Surface AddPoint(Vertex vertex, Vertex previous)
 {
     return Create(Position, Points.Insert(Points.IndexOf(previous) + 1, vertex), IsSelected, Name);
 }
コード例 #6
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
 public Surface MovePoint(Vertex vertex, Vector delta)
 {
     return Create(Position, Points.Replace(vertex, vertex.Move(delta)), IsSelected, Name);
 }
コード例 #7
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
 public Scene RemovePoint(Surface surface, Vertex vertex)
 {
     return Create(Surfaces.Replace(surface, surface.RemovePoint(vertex)));
 }
コード例 #8
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
 public Scene AddPoint(Surface surface, Vertex vertex, Vertex previous)
 {
     return Create(Surfaces.Replace(surface, surface.AddPoint(vertex, previous)));
 }
コード例 #9
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
 public Scene MovePoint(Surface surface, Vertex vertex, Vector delta)
 {
     return Create(Surfaces.Replace(surface, surface.MovePoint(vertex, delta)));
 }
コード例 #10
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
 public Line(Vertex a, Vertex b)
 {
     A = a;
     B = b;
 }
コード例 #11
0
ファイル: Scene.cs プロジェクト: alexander-karpov/Shelter
        public static Surface Create(
            Vertex position,
            IReadOnlyCollection<Vertex> points,
            bool isSelected,
            string name)
        {
            if (points.Count < 3)
            {
                throw new InvalidOperationException(nameof(points.Count) + " should be more than 3");
            }

            return new Surface(position, points, isSelected, name);
        }
コード例 #12
0
 public RemovePointAction(Surface surface, Vertex vertex)
 {
     Surface = surface;
     Vertex = vertex;
 }
コード例 #13
0
 public AddSurfaceAction(Vertex position, IReadOnlyCollection<Vertex> points, string name)
 {
     Position = position;
     Points = points;
     Name = name;
 }