public DesignViewViewModel(IDesignView view)
        {
            View = view;
            View3dMenuItems = new List<MenuItem>();
            Model.SelectedItem += Model_SelectedItem;

            Model.Initialize();

            var mediator = Mediator.Instance; //new Mediator(Model);
            mediator.DesignView = View;
            // mediator.Initialize3DController();
            ////var MenuManager = new MenuManager(mediator.Controller3D);

            ////MenuManager.AttachMenuToView(mainView3D);
            ////mediator.Add3DView(mainView3D);
            //mediator.AddTreeView(this.MainTreeView);
            //mediator.SectionEditorController.Initialize(_ThermalSectionEditor);
            //mediator.SectionEditorController.Create3DController(_ThermalSectionEditor.BalderView);
            //mediator.SectionEditorController.SelectedSection=SectionEditorController.TestCompositeThermalSection();
            //mediator.SectionEditorController.SetUpScene();

            //mediator.Add2DView(View.MainView2D);

            TreeViewdMenuItems = new List<MenuItem>();
        }
예제 #2
0
        public void Frame(IEnumerable <object> items)
        {
            IEnumerable <DomNode> rootDomNodes = DomNode.GetRoots(items.AsIEnumerable <DomNode>());
            AABB bound = new AABB();

            foreach (var item in items)
            {
                IBoundable boundable = null;
                DomNode    domItem   = item.As <DomNode>();
                if (domItem != null)
                {
                    foreach (var node in domItem.Lineage)
                    {
                        boundable = node.As <IBoundable>();
                        if (boundable != null)
                        {
                            break;
                        }
                    }
                }
                else
                {
                    Slot slot = item.As <Slot>();
                    boundable = slot.Owner.As <IBoundable>();
                }

                IVisible vn = boundable.As <IVisible>();
                if (boundable != null && (vn == null || vn.Visible))
                {
                    bound.Extend(boundable.BoundingBox);
                }
            }

            if (!bound.IsEmpty)
            {
                Sphere3F sphere = bound.ToSphere();
                sphere.Radius *= 3.0f;
                IDesignView designView = Globals.MEFContainer.GetExportedValue <IDesignView>();
                Util.ZoomOnSphere(designView.ActiveView.Camera, sphere);
            }
        }