Ejemplo n.º 1
0
        public static MSelectionList DuplicateDags(MSelectionList list)
        {
            if (list == null)
            {
                return(null);
            }
            MSelectionList originSelect = GetSelectedList();

            CmdStrConstructor cc = new CmdStrConstructor("duplicate");

            cc.UpdateToggle("rr", true);
            List <string> targets = new List <string>();

            foreach (MDagPath dag in list.DagPaths())
            {
                targets.Add(dag.fullPathName);
            }
            cc.UpdateTargets(targets);
            MGlobal.executeCommand(cc.ToString());

            //string resultName = MGlobal.executeCommandStringResult("duplicate -rr");
            MSelectionList newList = GetSelectedList();

            Select(originSelect);
            return(newList);
        }
Ejemplo n.º 2
0
        public static MFnDependencyNode CreateShadingNode(ShadingNodeType snt, string nodeType)
        {
            //Debug.Log("try create shadingNode:" + snt + " :" + nodeType);
            CmdStrConstructor csc = new CmdStrConstructor("shadingNode");

            switch (snt)
            {
            case ShadingNodeType.Texture:
            {
                csc.UpdateToggle("at", true);
                break;
            }

            case ShadingNodeType.Utility:
            {
                csc.UpdateToggle("au", true);
                break;
            }

            case ShadingNodeType.Shader:
            {
                csc.UpdateToggle("as", true);
                break;
            }

            case ShadingNodeType.Light:
            {
                csc.UpdateToggle("al", true);
                break;
            }

            case ShadingNodeType.PostProcess:
            {
                csc.UpdateToggle("app", true);
                break;
            }

            case ShadingNodeType.Rendering:
            {
                csc.UpdateToggle("ar", true);
                break;
            }
            }
            csc.UpdateFinalAppend(nodeType);
            string cmdStr = csc.ToString();
            //Debug.Log("command:" + cmdStr);
            string nodeName = MGlobal.executeCommandStringResult(cmdStr, true);

            //Debug.Log("create node result:" + nodeName);
            return(new MFnDependencyNode(BasicFunc.GetObjectByName(nodeName)));
        }