示例#1
0
 /// <summary>
 /// 修改图元的类型
 /// </summary>
 /// <param name="index"></param>
 /// <param name="type"></param>
 public static void ChangePrimitiveType(int index, Primitive_type type)
 {
     unsafe
     {
         changePrimitiveType(index, type);
     }
 }
示例#2
0
 private void argument_TextChanged(object sender, EventArgs e)
 {
     if ((sender as TextBox).Focused)
     {
         updateType       = GetCurrentNode().type;
         updateIndex      = GetCurrentNode().index;
         isArgumentUpdate = true;
     }
 }
        /// <summary>
        /// 修改图元的类型
        /// </summary>
        /// <param name="index"></param>
        /// <param name="type"></param>
        public static bool ChangePrimitiveType(int index, Primitive_type type)
        {
            bool result = false;

            unsafe
            {
                result = changePrimitiveType(index, type);
            }
            return(result);
        }
示例#4
0
 private static extern void changePrimitive(
     int index,
     Primitive_type type,
     float c_x, float c_y, float c_z,
     float r, float g, float b, float a,
     float n_x, float n_y, float n_z,
     float radius,
     float p0_x, float p0_y, float p0_z,
     float p1_x, float p1_y, float p1_z,
     float p2_x, float p2_y, float p2_z
     );
 private static extern bool changePrimitive(
     int index,
     Primitive_type type,
     float c_x, float c_y, float c_z,
     float r, float g, float b, float a,
     float n_x, float n_y, float n_z,
     float radius,
     float p0_x, float p0_y, float p0_z,
     float p1_x, float p1_y, float p1_z,
     float p2_x, float p2_y, float p2_z,
     float uv0_u, float uv0_v,
     float uv1_u, float uv1_v,
     float uv2_u, float uv2_v
     );
示例#6
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;
                }
            }
        }
 public PrimitiveNode(Primitive_type type, int i)
 {
     this.type = type;
     index     = i;
 }
示例#8
0
 private static extern void changePrimitiveType(int index, Primitive_type type);