Example #1
0
        private RectangleF[] createRectangles(PanelsContainer c)
        {
            PanelItem p = c.panels;

            List <RectangleF> rectangles = new List <RectangleF>();

            /*Create root panel*/
            int   rootX     = (int)c.pw.rootX;
            int   rootY     = (int)c.pw.rootY;
            Point rootPoint = new Point(rootX, rootY);

            /*Create root rotation*/
            DimensionsStructure dimension = new DimensionsStructure();

            dp = new DrawdPanel();
            dp.CurrentRootPoint = rootPoint;
            dp.Rotation         = dimension;
            dp.width            = (int)p.panelWidth;
            dp.height           = (int)p.panelHeight;
            dp.CalculateCoordinates();

            dwdList = new List <DrawdPanel>();
            dwdList.Add(dp);

            GetAll(p.AttachedPanels, dp, ref dwdList);

            foreach (DrawdPanel drawitem in dwdList)
            {
                rectangles.Add(drawitem.createRectangle());
            }
            return(rectangles.ToArray());
        }
Example #2
0
        private DrawdPanel CreateDrawPanel(PanelItem p, DrawdPanel parent, int attachedToSide)
        {
            DrawdPanel dp = new DrawdPanel();

            dp.height   = p.panelHeight;
            dp.width    = p.panelWidth;
            dp.offset   = p.hingeOffset;
            dp.Rotation = RotateNew(parent.Rotation, attachedToSide);

            dp.CurrentRootPoint = parent.GetRootPoint(dp.Rotation.Value, p.hingeOffset);

            dp.CalculateCoordinates();
            return(dp);
        }
Example #3
0
 private void GetAll(List <PanelItem> pl, DrawdPanel parent, ref List <DrawdPanel> drawdPanels)
 {
     foreach (PanelItem p in pl)
     {
         DimensionsStructure parentRotation = parent.Rotation;
         int        r   = p.attachedToSide;
         DrawdPanel tmp = CreateDrawPanel(p, parent, r);
         drawdPanels.Add(tmp);
         if (p.AttachedPanels != null)
         {
             GetAll(p.AttachedPanels, tmp, ref drawdPanels);
         }
     }
 }