//============================================================ // <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); } } }
//============================================================ // <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); }