Exemple #1
0
        public TSOForm(Viewer viewer, MainForm owner_form)
        {
            InitializeComponent();

            TSOConfig tso_config = new TSOConfig();

            this.ClientSize = tso_config.ClientSize;
            this.Text       = "TSOView";
            this.AllowDrop  = true;

            for (int i = 0; i < keysEnabled.Length; i++)
            {
                keysEnabled[i] = true;
            }
            this.KeyDown += new KeyEventHandler(form_OnKeyDown);
            this.KeyUp   += new KeyEventHandler(form_OnKeyUp);

            this.DragDrop += new DragEventHandler(form_OnDragDrop);
            this.DragOver += new DragEventHandler(form_OnDragOver);

            this.viewer     = viewer;
            this.fig_form   = new FigureForm();
            this.owner_form = owner_form;

            if (viewer.InitializeApplication(this, true))
            {
                viewer.FigureEvent += delegate(object sender, EventArgs e)
                {
                    Figure fig;
                    if (viewer.TryGetFigure(out fig))
                    {
                        viewer.Camera.SetCenter(fig.Center);
                    }
                };
                viewer.FigureEvent += delegate(object sender, EventArgs e)
                {
                    Figure fig;
                    if (viewer.TryGetFigure(out fig))
                    {
                        fig_form.SetFigure(fig);
                    }
                    else
                    {
                        fig_form.Clear();
                    }
                };

                this.timer1.Enabled = true;

                viewer.Camera.Translation = new Vector3(0.0f, 0.0f, +50.0f);
            }
        }
Exemple #2
0
        public TSOForm(TSOConfig tso_config, string[] args)
        {
            InitializeComponent();
            this.ClientSize = tso_config.ClientSize;

            for (int i = 0; i < keysEnabled.Length; i++)
            {
                keysEnabled[i] = true;
            }
            this.KeyDown += new KeyEventHandler(form_OnKeyDown);
            this.KeyUp   += new KeyEventHandler(form_OnKeyUp);

            this.DragDrop += new DragEventHandler(form_OnDragDrop);
            this.DragOver += new DragEventHandler(form_OnDragOver);

            this.viewer        = new Viewer();
            viewer.DeviceSize  = tso_config.DeviceSize;
            viewer.ScreenColor = tso_config.ScreenColor;
            viewer.HohoAlpha   = tso_config.HohoAlpha;

            this.fig_form = new FigureForm();

            if (viewer.InitializeApplication(this, true))
            {
                viewer.FigureEvent += delegate(object sender, EventArgs e)
                {
                    Figure fig;
                    if (viewer.TryGetFigure(out fig))
                    {
                        fig_form.SetFigure(fig);
                    }
                    else
                    {
                        fig_form.Clear();
                    }
                };
                viewer.Camera.SetTranslation(0.0f, +10.0f, +44.0f);
                foreach (string arg in args)
                {
                    viewer.LoadAnyFile(arg, true);
                }
                if (viewer.FigureList.Count == 0)
                {
                    viewer.LoadAnyFile(Path.Combine(save_path, "system.tdcgsav.png"), true);
                }

                string script_file = Path.Combine(Application.StartupPath, "Script.cs");
                if (File.Exists(script_file))
                {
                    string assembly_file = Path.GetTempFileName();
                    var    script        = CSScript.Load(script_file, assembly_file, true, null).CreateInstance("TDCG.Script").AlignToInterface <IScript>();
                    script.Hello(viewer);
                }

                this.timer1.Enabled = true;
            }
        }
Exemple #3
0
        public void FrameMove()
        {
            if (keysEnabled[keySave] && keys[keySave])
            {
                keysEnabled[keySave] = false;
                viewer.SaveToPng("sample.png");
            }
            if (keysEnabled[keyMotion] && keys[keyMotion])
            {
                keysEnabled[keyMotion] = false;
                viewer.MotionEnabled   = !viewer.MotionEnabled;
            }
            if (keysEnabled[keyShadow] && keys[keyShadow])
            {
                keysEnabled[keyShadow] = false;
                viewer.ShadowShown     = !viewer.ShadowShown;
            }
            if (keysEnabled[keySprite] && keys[keySprite])
            {
                keysEnabled[keySprite] = false;
                viewer.SpriteShown     = !viewer.SpriteShown;
            }
            if (keysEnabled[keyFigure] && keys[keyFigure])
            {
                keysEnabled[keyFigure] = false;
                viewer.NextFigure();
            }
            if (keysEnabled[keyDelete] && keys[keyDelete])
            {
                keysEnabled[keyDelete] = false;

                if (keys[(int)Keys.ControlKey])
                {
                    viewer.ClearFigureList();
                }
                else
                {
                    viewer.RemoveSelectedFigure();
                }
            }
            if (keysEnabled[keyCameraReset] && keys[keyCameraReset])
            {
                keysEnabled[keyCameraReset] = false;
                viewer.Camera.Reset();
                viewer.Camera.SetTranslation(0.0f, +10.0f, +44.0f);
            }
            if (keysEnabled[keyCenter] && keys[keyCenter])
            {
                keysEnabled[keyCenter] = false;
                viewer.Camera.ResetTranslation();
                Figure fig;
                if (viewer.TryGetFigure(out fig))
                {
                    viewer.Camera.SetCenter(fig.Center + fig.Translation);
                }
            }
            if (keysEnabled[keyFigureForm] && keys[keyFigureForm])
            {
                keys[keyFigureForm]        = false;
                keysEnabled[keyFigureForm] = true;
                // stale KeyUp event
                fig_form.Show();
                fig_form.Activate();
            }

            float keyL    = 0.0f;
            float keyR    = 0.0f;
            float keyU    = 0.0f;
            float keyD    = 0.0f;
            float keyPush = 0.0f;
            float keyPull = 0.0f;
            float keyZRol = 0.0f;

            if (keys[(int)Keys.Left])
            {
                keyL = 2.0f;
            }
            if (keys[(int)Keys.Right])
            {
                keyR = 2.0f;
            }
            if (keys[(int)Keys.PageUp])
            {
                keyU = 2.0f;
            }
            if (keys[(int)Keys.PageDown])
            {
                keyD = 2.0f;
            }
            if (keys[(int)Keys.Up])
            {
                keyPush = 1.0f;
            }
            if (keys[(int)Keys.Down])
            {
                keyPull = 1.0f;
            }
            if (keys[(int)Keys.A])
            {
                keyZRol = -2.0f;
            }
            if (keys[(int)Keys.D])
            {
                keyZRol = +2.0f;
            }

            if (Control.ModifierKeys == Keys.Shift)
            {
                Figure fig;
                if (viewer.TryGetFigure(out fig))
                {
                    fig.Move(keyR - keyL, keyU - keyD, keyPull - keyPush);
                }
            }
            else
            {
                viewer.Camera.Move(keyR - keyL, keyU - keyD, keyPull - keyPush);
                viewer.Camera.RotZ(DegreeToRadian(keyZRol));
            }
        }
Exemple #4
0
        public TSOForm(TSOConfig tso_config, string[] args)
        {
            InitializeComponent();
            this.ClientSize = tso_config.ClientSize;
            if (tso_config.PseudoFullScreen)
            {
                this.FormBorderStyle = FormBorderStyle.None;
            }
            if (tso_config.Keying)
            {
                this.TransparencyKey = tso_config.ScreenColor;
            }

            for (int i = 0; i < keysEnabled.Length; i++)
            {
                keysEnabled[i] = true;
            }
            this.KeyDown += new KeyEventHandler(form_OnKeyDown);
            this.KeyUp   += new KeyEventHandler(form_OnKeyUp);

            this.DragDrop += new DragEventHandler(form_OnDragDrop);
            this.DragOver += new DragEventHandler(form_OnDragOver);

            this.viewer        = new Viewer();
            viewer.Windowed    = tso_config.Windowed;
            viewer.DeviceSize  = tso_config.DeviceSize;
            viewer.ScreenColor = tso_config.ScreenColor;
            viewer.Ambient     = tso_config.Ambient;
            viewer.HohoAlpha   = tso_config.HohoAlpha;
            viewer.XRGBDepth   = tso_config.XRGBDepth;
            viewer.SetDepthMapFormat(tso_config.DepthMapFormat);
            viewer.SetNormalMapFormat(tso_config.NormalMapFormat);
            viewer.SetProjectionMode(tso_config.ProjectionMode);
            viewer.SetRenderMode(tso_config.RenderMode);
            viewer.MainGel   = tso_config.MainGel;
            viewer.ScreenDof = tso_config.ScreenDof;

            this.figureForm = new FigureForm();
            this.configForm = new ConfigForm();

            CameraConfig    camera_config    = new CameraConfig();
            DepthMapConfig  depthmap_config  = new DepthMapConfig();
            OcclusionConfig occlusion_config = new OcclusionConfig();
            DiffusionConfig diffusion_config = new DiffusionConfig();

            viewer.CameraConfig    = camera_config;
            viewer.DepthMapConfig  = depthmap_config;
            viewer.OcclusionConfig = occlusion_config;
            viewer.DiffusionConfig = diffusion_config;

            configForm.CameraConfig    = camera_config;
            configForm.DepthMapConfig  = depthmap_config;
            configForm.OcclusionConfig = occlusion_config;
            configForm.DiffusionConfig = diffusion_config;
            configForm.ConfigConnect();

            this.record = new Record(viewer, tso_config.RecordStep);

            if (viewer.InitializeApplication(this, true))
            {
                viewer.ConfigConnect();
                figureForm.SetViewer(viewer);
                viewer.FigureSelectEvent += delegate(object sender, EventArgs e)
                {
                    Figure fig;
                    if (viewer.TryGetFigure(out fig))
                    {
                        figureForm.SetFigure(fig);
                    }
                    else
                    {
                        figureForm.Clear();
                    }
                };
                viewer.Camera.SetTranslation(0.0f, +10.0f, +44.0f);
                foreach (string arg in args)
                {
                    viewer.LoadAnyFile(arg, true);
                }
                if (viewer.FigureList.Count == 0)
                {
                    viewer.LoadAnyFile(Path.Combine(save_path, "system.tdcgsav.png"), true);
                }

                this.timer1.Enabled = true;
            }
        }
Exemple #5
0
        public void FrameMove()
        {
            if (keysEnabled[keySave] && keys[keySave])
            {
                keysEnabled[keySave] = false;
                if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
                {
                    record.Start();
                }
                else
                {
                    SaveToPng();
                }
            }
            if (keysEnabled[keyMotion] && keys[keyMotion])
            {
                keysEnabled[keyMotion] = false;
                viewer.MotionEnabled   = !viewer.MotionEnabled;
            }
            if (keysEnabled[keyProjection] && keys[keyProjection])
            {
                keysEnabled[keyProjection] = false;
                SwitchProjectionMode();
            }
            if (keysEnabled[keyAmbient] && keys[keyAmbient])
            {
                keysEnabled[keyAmbient] = false;
                SwitchRenderMode(RenderMode.Ambient);
            }
            if (keysEnabled[keyDepthMap] && keys[keyDepthMap])
            {
                keysEnabled[keyDepthMap] = false;
                SwitchRenderMode(RenderMode.DepthMap);
            }
            if (keysEnabled[keyNormalMap] && keys[keyNormalMap])
            {
                keysEnabled[keyNormalMap] = false;
                SwitchRenderMode(RenderMode.NormalMap);
            }
            if (keysEnabled[keyOcclusion] && keys[keyOcclusion])
            {
                keysEnabled[keyOcclusion] = false;
                SwitchRenderMode(RenderMode.Occlusion);
            }
            if (keysEnabled[keyDiffusion] && keys[keyDiffusion])
            {
                keysEnabled[keyDiffusion] = false;
                SwitchRenderMode(RenderMode.Diffusion);
            }
            if (keysEnabled[keyShadow] && keys[keyShadow])
            {
                keysEnabled[keyShadow] = false;
                SwitchRenderMode(RenderMode.Shadow);
            }
            if (keysEnabled[keyConfigForm] && keys[keyConfigForm])
            {
                keys[keyConfigForm]        = false;
                keysEnabled[keyConfigForm] = true;
                // stale KeyUp event
                configForm.Show();
                configForm.Activate();
            }
            if (keysEnabled[keyFigure] && keys[keyFigure])
            {
                keysEnabled[keyFigure] = false;
                viewer.NextFigure();
            }
            if (keysEnabled[keyDelete] && keys[keyDelete])
            {
                keysEnabled[keyDelete] = false;

                if (keys[(int)Keys.ControlKey])
                {
                    viewer.ClearFigureList();
                }
                else
                {
                    viewer.RemoveSelectedFigure();
                }
            }
            if (keysEnabled[keyCameraReset] && keys[keyCameraReset])
            {
                keysEnabled[keyCameraReset] = false;
                viewer.Camera.Reset();
                viewer.Camera.SetTranslation(0.0f, +10.0f, +44.0f);
            }
            if (keysEnabled[keyCenter] && keys[keyCenter])
            {
                keysEnabled[keyCenter] = false;
                viewer.Camera.ResetTranslation();
                Figure fig;
                if (viewer.TryGetFigure(out fig))
                {
                    viewer.Camera.SetCenter(fig.Center + fig.Translation);
                }
            }
            if (keysEnabled[keyFigureForm] && keys[keyFigureForm])
            {
                keys[keyFigureForm]        = false;
                keysEnabled[keyFigureForm] = true;
                // stale KeyUp event
                figureForm.Show();
                figureForm.Activate();
            }

            float keyL    = 0.0f;
            float keyR    = 0.0f;
            float keyU    = 0.0f;
            float keyD    = 0.0f;
            float keyPush = 0.0f;
            float keyPull = 0.0f;

            if (keys[(int)Keys.Left])
            {
                keyL = 2.0f;
            }
            if (keys[(int)Keys.Right])
            {
                keyR = 2.0f;
            }
            if (keys[(int)Keys.PageUp])
            {
                keyU = 2.0f;
            }
            if (keys[(int)Keys.PageDown])
            {
                keyD = 2.0f;
            }
            if (keys[(int)Keys.Up])
            {
                keyPush = 1.0f;
            }
            if (keys[(int)Keys.Down])
            {
                keyPull = 1.0f;
            }

            if (Control.ModifierKeys == Keys.Shift)
            {
                Figure fig;
                if (viewer.TryGetFigure(out fig))
                {
                    fig.Move(keyR - keyL, keyU - keyD, keyPull - keyPush);
                }
            }
            else
            {
                viewer.Camera.Move(keyR - keyL, keyU - keyD, keyPull - keyPush);
            }
        }
Exemple #6
0
        public TSOForm(TSOConfig tso_config, string[] args)
        {
            InitializeComponent();
            this.ClientSize = tso_config.ClientSize;
            this.AllowDrop  = true;

            for (int i = 0; i < keysEnabled.Length; i++)
            {
                keysEnabled[i] = true;
            }
            this.KeyDown += new KeyEventHandler(form_OnKeyDown);
            this.KeyUp   += new KeyEventHandler(form_OnKeyUp);

            this.DragDrop += new DragEventHandler(form_OnDragDrop);
            this.DragOver += new DragEventHandler(form_OnDragOver);

            this.viewer   = new Viewer(false);
            this.fig_form = new FigureForm();
            this.tbr      = new TransBoneRotation();

            if (viewer.InitializeApplication(this, true))
            {
                viewer.FigureEvent += delegate(object sender, EventArgs e)
                {
                    Figure fig;
                    if (viewer.TryGetFigure(out fig))
                    {
                        viewer.Camera.SetCenter(fig.Center);
                    }
                };
                viewer.FigureEvent += delegate(object sender, EventArgs e)
                {
                    Figure fig;
                    if (viewer.TryGetFigure(out fig))
                    {
                        fig_form.SetFigure(fig);
                    }
                    else
                    {
                        fig_form.Clear();
                    }
                };
                foreach (string arg in args)
                {
                    viewer.LoadAnyFile(arg, true);
                }

                // �����|�[�Y��TMO�𓾂Ă���
                Figure fig_forPose;
                viewer.TryGetFigure(out fig_forPose);
                tbr.SetInitPose(fig_forPose);

                /*string script_file = Path.Combine(Application.StartupPath, "Script.cs");
                 * if (File.Exists(script_file))
                 * {
                 *  var script = CSScript.Load(script_file).CreateInstance("TDCG.Script").AlignToInterface<IScript>();
                 *  script.Hello(viewer);
                 * }*/

                this.timer1.Enabled = true;

                viewer.Camera.Translation = new Vector3(0.0f, 0.0f, +50.0f);
            }
        }
Exemple #7
0
        public void FrameMove()
        {
            if (keysEnabled[keySave] && keys[keySave])
            {
                keysEnabled[keySave] = false;
                viewer.SaveToBitmap("sample.bmp");
            }
            if (keysEnabled[keyMotion] && keys[keyMotion])
            {
                keysEnabled[keyMotion] = false;
                viewer.SwitchMotionEnabled();
            }
            if (keysEnabled[keyShadow] && keys[keyShadow])
            {
                keysEnabled[keyShadow] = false;
                viewer.SwitchShadowShown();
            }
            if (keysEnabled[keySprite] && keys[keySprite])
            {
                keysEnabled[keySprite] = false;
                viewer.SwitchSpriteShown();
            }
            if (keysEnabled[keyFigure] && keys[keyFigure])
            {
                keysEnabled[keyFigure] = false;
                viewer.NextFigure();
            }
            if (keysEnabled[keyDelete] && keys[keyDelete])
            {
                keysEnabled[keyDelete] = false;

                if (keys[(int)Keys.ControlKey])
                {
                    viewer.ClearFigureList();
                }
                else
                {
                    viewer.RemoveSelectedFigure();
                }
            }
            if (keysEnabled[keyCameraReset] && keys[keyCameraReset])
            {
                keysEnabled[keyCameraReset] = false;
                camera.Reset();
                Figure fig;
                if (viewer.TryGetFigure(out fig))
                {
                    camera.SetCenter(fig.Center);
                }
            }
            if (keysEnabled[keyFigureForm] && keys[keyFigureForm])
            {
                keys[keyFigureForm]        = false;
                keysEnabled[keyFigureForm] = true;
                // stale KeyUp event
                fig_form.Show();
                fig_form.Activate();
            }

            float keyL    = 0.0f;
            float keyR    = 0.0f;
            float keyU    = 0.0f;
            float keyD    = 0.0f;
            float keyPush = 0.0f;
            float keyPull = 0.0f;
            float keyZRol = 0.0f;

            if (keys[(int)Keys.Left])
            {
                keyL = 2.0f;
            }
            if (keys[(int)Keys.Right])
            {
                keyR = 2.0f;
            }
            if (keys[(int)Keys.PageUp])
            {
                keyU = 2.0f;
            }
            if (keys[(int)Keys.PageDown])
            {
                keyD = 2.0f;
            }
            if (keys[(int)Keys.Up])
            {
                keyPush = 1.0f;
            }
            if (keys[(int)Keys.Down])
            {
                keyPull = 1.0f;
            }
            if (keys[(int)Keys.A])
            {
                keyZRol = -2.0f;
            }
            if (keys[(int)Keys.D])
            {
                keyZRol = +2.0f;
            }

            camera.Move(keyR - keyL, keyU - keyD, keyPull - keyPush);
            camera.RotZ(DegreeToRadian(keyZRol));
        }