private void RenameSelected(object sender, RoutedEventArgs e)
 {
     BasicFunc.IterateSelectedObjects((mo) =>
     {
         MFnDependencyNode node = new MFnDependencyNode(mo);
         node.setName(GetNewName(node.name));
     });
 }
 private void RenameHierachy(object sender, RoutedEventArgs e)
 {
     BasicFunc.IterateSelectedDags((dag) =>
     {
         List <MDagPath> dags = BasicFunc.GetHierachyAll(dag);
         foreach (MDagPath d in dags)
         {
             MFnDependencyNode node = new MFnDependencyNode(d.node);
             node.setName(GetNewName(node.name));
         }
     });
 }
Example #3
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);
        }
Example #4
0
 public static void RenameTextures(MSelectionList list)
 {
     if (list == null)
     {
         Debug.Log("list null");
         return;
     }
     for (int i = 0; i < list.length; i++)
     {
         MObject mo = new MObject();
         list.getDependNode((uint)i, mo);
         MFnDependencyNode imageNode = new MFnDependencyNode(mo);
         MPlug             plug      = imageNode.findPlug(ConstantValue.plugName_fileTexPath);
         string            filePath  = plug.asString();
         Debug.Log("filePath:" + filePath);
         string fileName = BasicFunc.GetFileName(filePath);
         Debug.Log("fileName:" + fileName);
         imageNode.setName(fileName);
     }
 }
Example #5
0
 public static void RenameMaterials(MSelectionList list)
 {
     if (list == null)
     {
         Debug.Log("list null");
         return;
     }
     for (int i = 0; i < list.length; i++)
     {
         MObject mo = new MObject();
         list.getDependNode((uint)i, mo);
         MFnDependencyNode matNode    = new MFnDependencyNode(mo);
         MPlug             plug       = matNode.findPlug(ConstantValue.plugName_matColorInput);
         MPlug             sourcePlug = plug.source;
         if (sourcePlug != null)
         {
             MFnDependencyNode sourceNode = new MFnDependencyNode(sourcePlug.node);
             matNode.setName("mat_" + sourceNode.name);
         }
     }
 }
Example #6
0
        public static void ConvertToRSMaterial(MFnDependencyNode matNode, bool deleteOrigin)
        {
            //replace output to shadingEngine
            MPlug      plug_matColorOutput     = matNode.findPlug(ConstantValue.plugName_matColorOutput);
            MPlugArray plugArr_matColorOutDest = new MPlugArray();

            plug_matColorOutput.destinations(plugArr_matColorOutDest);
            //get textures
            MPlug plug_matColorInput   = matNode.findPlug(ConstantValue.plugName_matColorInput);
            MPlug plug_matTransparency = matNode.findPlug(ConstantValue.plugName_matTransparency);

            MFnDependencyNode rsArchiNode = CreateShadingNode(ShadingNodeType.Shader, ConstantValue.nodeName_RS_Architectural);

            if (matNode.name.StartsWith("mat_"))
            {
                rsArchiNode.setName("rs" + matNode.name);
            }
            else
            {
                rsArchiNode.setName("rsmat_" + matNode.name);
            }
            MPlug       plug_rsArchiDiffuse     = rsArchiNode.findPlug(ConstantValue.plugName_RS_diffuse);
            MPlug       plug_rsArchiTransColor  = rsArchiNode.findPlug(ConstantValue.plugName_RS_transColor);
            MPlug       plug_rsArchiTransWeight = rsArchiNode.findPlug(ConstantValue.plugName_RS_transWeight);
            MPlug       plug_rsArchiOutColor    = rsArchiNode.findPlug(ConstantValue.plugName_RS_outColor);
            MDGModifier dGModifier = new MDGModifier();

            for (int i = 0; i < plugArr_matColorOutDest.length; i++)
            {
                dGModifier.disconnect(plug_matColorOutput, plugArr_matColorOutDest[i]);
                dGModifier.connect(plug_rsArchiOutColor, plugArr_matColorOutDest[i]);
            }

            CopyShaderParam(plug_matColorInput, plug_rsArchiDiffuse);
            //if (plug_matColorInput.source == null)
            //{
            //    plug_rsArchiDiffuse.child(0).setFloat(plug_matColorInput.child(0).asFloat());
            //    plug_rsArchiDiffuse.child(1).setFloat(plug_matColorInput.child(1).asFloat());
            //    plug_rsArchiDiffuse.child(2).setFloat(plug_matColorInput.child(2).asFloat());
            //}
            //else
            //{
            //    dGModifier.connect(plug_matColorInput.source, plug_rsArchiDiffuse);
            //}

            CopyShaderParam(plug_matTransparency, plug_rsArchiTransColor);
            if (plug_matTransparency.child(0).asFloat() == 0 && plug_matTransparency.child(1).asFloat() == 0 && plug_matTransparency.child(2).asFloat() == 0)
            {
                plug_rsArchiTransWeight.setFloat(1);
            }
            else
            {
                plug_rsArchiTransWeight.setFloat(0);
            }
            //if (plug_matTransparency.source == null)
            //{
            //    //plug_rsArchiTransColor.setValue(plug_matColorInput.asMObject());
            //    float matTransparency = plug_matTransparency.asFloat();
            //    if (matTransparency == 0)
            //    {
            //        plug_rsArchiTransWeight.setFloat(0);
            //        plug_rsArchiTransColor.child(0).setFloat(0);
            //        plug_rsArchiTransColor.child(1).setFloat(0);
            //        plug_rsArchiTransColor.child(2).setFloat(0);
            //    }
            //    else
            //    {
            //        plug_rsArchiTransWeight.setFloat(1);
            //        plug_rsArchiTransColor.child(0).setFloat(plug_matTransparency.child(0).asFloat());
            //        plug_rsArchiTransColor.child(1).setFloat(plug_matTransparency.child(1).asFloat());
            //        plug_rsArchiTransColor.child(2).setFloat(plug_matTransparency.child(2).asFloat());
            //    }
            //}
            //else
            //{
            //    dGModifier.connect(plug_matTransparency.source, plug_rsArchiTransColor);
            //    plug_rsArchiTransWeight.setFloat(1);
            //}
            if (deleteOrigin)
            {
                dGModifier.deleteNode(matNode.objectProperty);
            }
            dGModifier.doIt();
        }
        private void RenameSingle(object sender, RoutedEventArgs e)
        {
            MFnDependencyNode node = new MFnDependencyNode(BasicFunc.GetSelectedObject(0));

            node.setName(GetNewName(node.name));
        }