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); }
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); }
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)); }