Example #1
0
        public void AddShpere( )
        {
            if (scenePanel_sceneList.InvokeRequired)
            {
                Add a = new Add(AddShpere);
                this.Invoke(a);
            }
            else
            {
                int index = scene.AddSphere();
                if (index == -1)
                {
                    MessageBox.Show("添加失败");
                    return;
                }

                PrimitiveNode p = new PrimitiveNode(Primitive_type.Sphere, index);

                p.Text = "sphere" + sphereIndex;

                scenePanel_sceneList.TopNode.Nodes.Add(p);
                scenePanel_sceneList.ExpandAll();
                ++sphereIndex;
            }
        }
Example #2
0
        public void RefreshTransormPanel()
        {
            if (argumentFocus)
            {
                return;
            }
            if (scenePanel_sceneList.InvokeRequired)
            {
                RefreshTransform r = new RefreshTransform(RefreshTransormPanel);
                this.Invoke(r);
            }
            else
            {
                PrimitiveNode pn = GetCurrentNode();
                if (pn == null || pn.Parent == null)
                {
                    return;
                }
                int            index = pn.index;
                Primitive_type p     = pn.type;
                //因为目前primitive类型较少,所以我在这里用了primitive,以后不一定,也许会用字典,也许会用其他的
                switch (p)
                {
                case Primitive_type.Default:
                    break;

                case Primitive_type.Sphere:
                    argumentPanel_transformPanelSphere.Visible   = true;
                    argumentPanel_transformPanelPlane.Visible    = false;
                    argumentPanel_transformPanelTriangle.Visible = false;
                    RefreshSphereArgument(index);
                    break;

                case Primitive_type.Triangle:
                    argumentPanel_transformPanelSphere.Visible   = false;
                    argumentPanel_transformPanelPlane.Visible    = false;
                    argumentPanel_transformPanelTriangle.Visible = true;
                    RefreshTriangleArgument(index);
                    break;

                case Primitive_type.Plane:
                    argumentPanel_transformPanelSphere.Visible   = false;
                    argumentPanel_transformPanelPlane.Visible    = true;
                    argumentPanel_transformPanelTriangle.Visible = false;
                    RefreshPlaneArgument(index);
                    break;
                }
            }
        }