Exemple #1
0
        //============================================================
        // <T>Check 所有的复选框</T>
        //============================================================
        private void lsbScenes_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            FDrFolder folder = tvwCatalog.SelectedNode.Tag as FDrFolder;

            if (null != folder)
            {
                FDrSceneGroup group = folder.Tag as FDrSceneGroup;
                if (null != group)
                {
                    FDrScene scene = group.Scenes[lsbScenes.SelectedIndex];
                    qdrSceneProperty.LoadScene(scene);
                }
            }
        }
Exemple #2
0
        //============================================================
        // <T>设置数值。</T>
        //
        // @prama texture 纹理对象
        //============================================================
        public void LoadScene(FDrScene scene)
        {
            scene.Open();
            _scene = scene;
            // 建立目录树
            tvwCatalog.BeginUpdate();
            tvwCatalog.Nodes.Clear();
            //............................................................
            // 建立技术节点
            TreeNode sceneNode = new TreeNode("Scene: " + _scene.TechniqueName);

            sceneNode.ImageKey         = "scene";
            sceneNode.SelectedImageKey = "scene";
            tvwCatalog.Nodes.Add(sceneNode);
            //............................................................
            // 建立技术节点
            TreeNode techniqueNode = new TreeNode("Technique");

            techniqueNode.ImageKey         = "folder";
            techniqueNode.SelectedImageKey = "folder";
            tvwCatalog.Nodes.Add(techniqueNode);
            TreeNode techniqueDetailNode = new TreeNode(scene.Technique.Name);

            techniqueDetailNode.ImageKey         = "technique";
            techniqueDetailNode.SelectedImageKey = "technique";
            foreach (FDrScenePass pass in scene.Technique.Passes)
            {
                TreeNode passNode = new TreeNode(pass.Name);
                passNode.ImageKey         = "pass";
                passNode.SelectedImageKey = "pass";
                passNode.Tag = pass;
                techniqueDetailNode.Nodes.Add(passNode);
            }
            techniqueNode.Nodes.Add(techniqueDetailNode);
            //............................................................
            // 建立区域节点
            TreeNode regionNode = new TreeNode("Region");

            regionNode.ImageKey         = "folder";
            regionNode.SelectedImageKey = "folder";
            regionNode.Tag = _scene.Region;
            qdrSceneRegionProperty.LoadRegion(_scene.Region);
            // 建立相机节点
            TreeNode cameraNode = new TreeNode("Camera");

            cameraNode.ImageKey         = "item";
            cameraNode.SelectedImageKey = "item";
            cameraNode.Tag = _scene.Region.Camera;
            regionNode.Nodes.Add(cameraNode);
            // 建立光源节点
            TreeNode lightNode = new TreeNode("Light");

            lightNode.ImageKey         = "item";
            lightNode.SelectedImageKey = "item";
            lightNode.Tag = _scene.Region.Light;
            regionNode.Nodes.Add(lightNode);
            tvwCatalog.Nodes.Add(regionNode);
            qdrSceneLightProperty.LoadLight(_scene.Region.Light);
            //............................................................
            // 建立天空节点
            TreeNode skyNode = new TreeNode("Sky");

            skyNode.ImageKey         = "folder";
            skyNode.SelectedImageKey = "folder";
            foreach (FDrSceneDisplay display in scene.Sky.Displays)
            {
                TreeNode displayNode = new TreeNode(display.Source);
                displayNode.ImageKey         = "display";
                displayNode.SelectedImageKey = "display";
                displayNode.Tag = displayNode;
                skyNode.Nodes.Add(displayNode);
            }
            tvwCatalog.Nodes.Add(skyNode);
            //............................................................
            // 建立地图节点
            TreeNode mapNode = new TreeNode("Map");

            mapNode.ImageKey         = "folder";
            mapNode.SelectedImageKey = "folder";
            foreach (FDrSceneDisplay display in scene.Map.Displays)
            {
                TreeNode displayNode = new TreeNode(display.Source);
                displayNode.ImageKey         = "display";
                displayNode.SelectedImageKey = "display";
                displayNode.Tag = displayNode;
                mapNode.Nodes.Add(displayNode);
            }
            tvwCatalog.Nodes.Add(mapNode);
            //............................................................
            // 建立空间节点
            TreeNode spaceNode = new TreeNode("Space");

            spaceNode.ImageKey         = "folder";
            spaceNode.SelectedImageKey = "folder";
            foreach (FDrSceneDisplay display in scene.Space.Displays)
            {
                TreeNode displayNode = new TreeNode(display.Source);
                displayNode.ImageKey         = "display";
                displayNode.SelectedImageKey = "display";
                displayNode.Tag = displayNode;
                spaceNode.Nodes.Add(displayNode);
            }
            tvwCatalog.Nodes.Add(spaceNode);
            //............................................................
            tvwCatalog.EndUpdate();
            tvwCatalog.ExpandAll();
            SelectItem(null);
        }