コード例 #1
0
        public List <ObjectDTO> SceneReconstruction(int planId)
        {
            List <ObjectDTO> objects = new List <ObjectDTO>();

            List <BoxDTO> BoxesInPlan = Boxs.BoxesInPlan(planId);

            foreach (BoxDTO box in BoxesInPlan)
            {
                List <BoardDTO>  BoardsInBox  = Boards.BoardsInBox(box.Id);
                List <DrawerDTO> DrawersInBox = Drawers.DrawersInBox(box.Id);
                List <DoorDTO>   DoorsInBox   = Doors.DoorsInBox(box.Id);

                List <bool> PozicijeFioka = new List <bool>();
                List <bool> PozicijeVrata = new List <bool>();

                for (int i = 0; i < BoardsInBox.Count + 1; i++)
                {
                    PozicijeFioka.Add(false);
                    PozicijeVrata.Add(false);
                }

                foreach (DrawerDTO d in DrawersInBox)
                {
                    PozicijeFioka[d.pregrada] = true;
                }

                foreach (DoorDTO d in DoorsInBox)
                {
                    PozicijeVrata[d.pregrada] = true;
                }

                ObjectDTO o = new ObjectDTO()
                {
                    Width          = box.Width,
                    Height         = box.Height,
                    Depth          = box.Depth,
                    Name           = box.Name,
                    BoardThickness = box.BoardThickness,
                    PositionX      = box.PositionX,
                    PositionY      = box.PositionY,
                    PositionZ      = box.PositionZ,
                    Texture        = box.Texture,
                    childs         = BoardsInBox,
                    nizFioka       = DrawersInBox,
                    pozicije_fioka = PozicijeFioka,
                    nizVrata       = DoorsInBox,
                    pozicije_vrata = PozicijeVrata,
                    vertikalno     = box.vertikalno,
                    horizontalno   = box.horizontalno,
                    globalX        = box.globalX,
                    globalY        = box.globalY,
                    globalZ        = box.globalZ
                };

                objects.Add(o);
            }

            return(objects);
        }