Exemple #1
0
        private void MakeTreeView()
        {
            PoseDataNode posenode = new PoseDataNode(filename);

            PoseTreeView.Nodes.Add(posenode);
            // tahを展開する.
            if (posedata.scene)
            {
                PoseDataCameraNode camera = new PoseDataCameraNode(TextResource.Camera, posedata.camera);
                posenode.Nodes.Add(camera);
                foreach (TDCGExplorer.PNGPoseFigureData data in posedata.figures)
                {
                    PoseDataFigureNode figure = new PoseDataFigureNode(TextResource.Figure, data);
                    posenode.Nodes.Add(figure);
                    PoseDataLightNode light = new PoseDataLightNode(TextResource.Light, data.light);
                    figure.Nodes.Add(light);
                    PoseDataTMONode tmo = new PoseDataTMONode(TextResource.TMO, data.tmo);
                    figure.Nodes.Add(tmo);
                    PoseDataTSONode tso = new PoseDataTSONode(TextResource.TSO, data.tsos);
                    figure.Nodes.Add(tso);
                }
            }
            else
            {
                PoseDataCameraNode camera = new PoseDataCameraNode(TextResource.Camera, posedata.camera);
                PoseDataLightNode  light  = new PoseDataLightNode(TextResource.Light, posedata.figures[0].light);
                PoseDataTMONode    tmo    = new PoseDataTMONode(TextResource.TMO, posedata.figures[0].tmo);
                posenode.Nodes.Add(camera);
                posenode.Nodes.Add(light);
                posenode.Nodes.Add(tmo);
            }
            posenode.ExpandAll();
        }
Exemple #2
0
        private void toolStripMenuItemSaveTmo_Click(object sender, EventArgs e)
        {
            if (TDCGExplorer.TDCGExplorer.BusyTest() == true)
            {
                return;
            }

            PoseDataTMONode node = PoseTreeView.SelectedNode as PoseDataTMONode;

            if (node == null)
            {
                MessageBox.Show(TextResource.OnlyTMOFile, TextResource.Error, MessageBoxButtons.OK);
                return;
            }

            try
            {
                SaveFileDialog dialog = new SaveFileDialog();
                dialog.FileName         = filename + ".tmo";
                dialog.InitialDirectory = TDCGExplorer.TDCGExplorer.SystemDB.tahpath;
                dialog.Filter           = TextResource.TMOFileDescription;
                dialog.FilterIndex      = 0;
                dialog.Title            = TextResource.SelectSaveFileName;
                dialog.RestoreDirectory = true;
                dialog.OverwritePrompt  = true;
                dialog.CheckPathExists  = true;

                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    string tmofilename = dialog.FileName;
                    //File.Delete(tmofilename);
                    TDCGExplorer.TDCGExplorer.FileDelete(tmofilename);

                    using (MemoryStream ms = new MemoryStream(node.tmo.data))
                        using (Stream fileStream = File.Create(tmofilename))
                        {
                            BufferedStream bufferedDataStream = new BufferedStream(ms);
                            BufferedStream bufferedFileStream = new BufferedStream(fileStream);
                            CopyStream(bufferedDataStream, bufferedFileStream);

                            bufferedFileStream.Flush();
                            bufferedFileStream.Close();
                            bufferedDataStream.Close();
                        }
                }
            }
            catch (Exception ex)
            {
                TDCGExplorer.TDCGExplorer.SetToolTips(TextResource.Error + ":" + ex.Message);
            }
        }