public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            CompositeFigure f = obj as CompositeFigure;

            if (f == null)
            {
                return(false);
            }

            bool b = true;

            if (children.Count != f.children.Count)
            {
                return(false);
            }
            for (int i = 0; i < children.Count; i++)
            {
                b &= children[i].Equals(f.children[i]);
            }

            return(b);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            // 7
            IFigure         dc7 = new Circle(new Point(0.0, -50.0), 50.0);
            IFigure         dr7 = new Rectangle(new Point(50, 50), new Point(150, 50), new Point(150, 150), new Point(50, 150));
            IFigure         dt7 = new Triangle(new Point(-150, 50), new Point(-50, 50), new Point(-100, 150));
            CompositeFigure cf7 = new CompositeFigure(dc7, dr7, dt7);

            AShower shower = new WindowShower(100.0, 100.0);
            User    user   = new User();

            user.AddFigure(dc7);
            user.AddFigure(dr7);
            user.AddFigure(dt7);

            //user.Show(shower);

            user.DecorateWithShadow(2);
            user.AddFigure(cf7);
            user.DelFigure(cf7);
            user.MakeComposite(0, 1, 2);
            user.DecorateWithBorder(0);

            user.Show(shower);

            user.Undo(5);

            user.Show(shower);

            Console.ReadKey();
        }
Exemple #3
0
        static void Main(string[] args)
        {
            // 7
            IFigure dc7 = new Circle(new Point(0.0, -50.0), 50.0);
            IFigure dr7 = new Rectangle(new Point(50, 50), new Point(150, 50), new Point(150, 150), new Point(50, 150));
            IFigure dt7 = new Triangle(new Point(-150, 50), new Point(-50, 50), new Point(-100, 150));
            CompositeFigure cf7 = new CompositeFigure(dc7, dr7, dt7);

            AShower shower = new WindowShower(100.0, 100.0);
            User user = new User();

            user.AddFigure(dc7);
            user.AddFigure(dr7);
            user.AddFigure(dt7);

            //user.Show(shower);

            user.DecorateWithShadow(2);
            user.AddFigure(cf7);
            user.DelFigure(cf7);
            user.MakeComposite(0, 1, 2);
            user.DecorateWithBorder(0);

            user.Show(shower);

            user.Undo(5);

            user.Show(shower);

            Console.ReadKey();
        }
 public override IFigure Clone()
 {
     CompositeFigure res = new CompositeFigure();
     foreach (IFigure f in children)
     {
         res.Add(f.Clone());
     }
     return res;
 }
        public override IFigure Clone()
        {
            CompositeFigure res = new CompositeFigure();

            foreach (IFigure f in children)
            {
                res.Add(f.Clone());
            }
            return(res);
        }
 public DelFigureCommand(CompositeFigure figures, IFigure f)
 {
     this.figures = figures;
     this.f = f;
 }
 public DelFigureCommand(CompositeFigure figures, IFigure f)
 {
     this.figures = figures;
     this.f       = f;
 }
 public ShadowDecoratorCommand(CompositeFigure figures, IFigure f)
 {
     this.f  = f;
     this.cf = figures;
 }
 public MakeCompositeCommand(CompositeFigure figures, params IFigure[] arr)
 {
     this.figures = figures;
     this.arr     = arr;
     cf           = new CompositeFigure(arr);
 }
 public MakeCompositeCommand(CompositeFigure figures, params IFigure[] arr)
 {
     this.figures = figures;
     this.arr = arr;
     cf = new CompositeFigure(arr);
 }
 public ClearCommand(CompositeFigure figures)
 {
     this.figures = figures;
 }
 public ShadowDecoratorCommand(CompositeFigure figures, IFigure f)
 {
     this.f = f;
     this.cf = figures;
 }
 public ClearCommand(CompositeFigure figures)
 {
     this.figures = figures;
 }