Ejemplo n.º 1
0
        public static MDagPath CreateCurve(MVector[] positions, string curveName, int degree = 1, MFnNurbsCurve.Form form = MFnNurbsCurve.Form.kOpen)
        {
            MPointArray points = new MPointArray();

            for (int i = 0; i < positions.Length; i++)
            {
                points.Add(new MPoint(positions[i]));
            }
            return(CreateCurve(points, curveName, degree, form));
            //string cmdStr = "cmds.curve(n='" + curveName + "',d=1,p=[";
            //for (int i = 0; i < ptCount; i++)
            //{
            //    if (i != 0)
            //    {
            //        cmdStr += ",";
            //    }
            //    cmdStr += ToCMDSParamStr(points[i]);
            //}
            //int[] indices = new int[ptCount];
            //for (int i = 0; i < ptCount; i++)
            //{
            //    indices[i] = i;
            //}
            //cmdStr += "],k=[" + ToCMDSParamStr(indices, ptCount) + "])";
            //Debug.Log(cmdStr);
            //string resultName = MGlobal.executePythonCommandStringResult(cmdStr);
            //return GetDagPathByName(resultName);
        }
Ejemplo n.º 2
0
        public static MDagPath CreateCurve(MPointArray points, string curveName, int degree = 1, MFnNurbsCurve.Form form = MFnNurbsCurve.Form.kOpen)
        {
            MDoubleArray indices = new MDoubleArray();

            for (int i = 0; i < points.Count; i++)
            {
                indices.Add(i);
            }

            MFnNurbsCurve     nc           = new MFnNurbsCurve();
            MObject           curveObject  = nc.create(points, indices, (uint)degree, form, false, false);
            MDagPath          curveDagPath = MDagPath.getAPathTo(curveObject);
            MFnDependencyNode dn           = new MFnDependencyNode(curveObject);

            dn.setName(curveName);
            return(curveDagPath);
        }
Ejemplo n.º 3
0
        public static MDagPath CreateCurve(MPoint[] pts, string curveName, int degree = 1, MFnNurbsCurve.Form form = MFnNurbsCurve.Form.kOpen)
        {
            MPointArray points = new MPointArray(pts);

            return(CreateCurve(points, curveName, degree, form));
        }