Пример #1
0
        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);
        }
Пример #2
0
        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);
        }