public int RemoveMeshFromScene(string nodeName) { ObjectMeshDynamic omd = ObjectMeshDynamic.cast(editor.getNodeByName(nodeName)); if (omd != null) { if (oldSelection != null) { if (omd.getNode() == oldSelection.getNode()) { oldSelection.clearPtr(); } } Log.message("\nRemoving " + omd.getTypeName() + " node named " + nodeName + " from the scene.\n"); for (int i = 0; i < Objects.Count; i++) { if (string.Compare(Objects[i].getName(), nodeName) == 0) { Objects.Remove(Objects[i]); break; } } editor.removeNode(omd.getNode()); } return(1); }
public int AddMeshToScene(string fileName, string meshName, string materialName, dvec3 positon) { Mesh mesh = new Mesh(); ObjectMeshDynamic objectMeshDynamic; string new_property_name = string.Format(meshName + "_property"); if (fileName != null) { if (mesh.ToString() != mesh.load(fileName).ToString()) { Log.error("\n" + "Mesh文件打开错误" + "\n"); mesh.clear(); return(0); } else { objectMeshDynamic = new ObjectMeshDynamic(mesh); } } else { mesh.addBoxSurface("boxSurface", new vec3(0.5f, 0.5f, 0.5f)); objectMeshDynamic = new ObjectMeshDynamic(mesh); } objectMeshDynamic.setMaterial(materialName, "*"); objectMeshDynamic.setName(meshName); objectMeshDynamic.setWorldPosition(positon); properties.inheritProperty("surface_base_1", "my_property_lib.prop", new_property_name); objectMeshDynamic.setProperty(new_property_name, "*"); objectMeshDynamic.getProperty(0).setParameterString(objectMeshDynamic.getProperty(0).findParameter("material"), materialName); objectMeshDynamic.getProperty(0).setParameterInt(objectMeshDynamic.getProperty(0).findParameter("selected"), 0); objectMeshDynamic.setIntersection(1, 0); editor.addNode(objectMeshDynamic.getNode()); Objects.Add(objectMeshDynamic); Log.message("\n" + objectMeshDynamic + " add to the scene! \n"); return(1); }