v4.0
Removes a TextureLayerPort
from the texture layer. This actually disconnects it and causes the
layer to no longer affect that shader property.
It is valid to have texture layers which have no port connections,
these empty layers act like placeholders, and do not affect the
rendered result in any way. They will maintain their ordering in
the containers in which they appear. Of course, new port
connections can be added to them at any time.
TextureLayer.RemoveTextureLayerPort( Object in_varPort ); |
TextureLayer.RemoveTextureLayerPort( Port ); |
Parameter | Type | Description |
---|---|---|
Port | TextureLayerPort or String | Texture layer port to remove from this texture layer. |
// This example shows creation of texture layer ports, // plus enumerating and removing them. oRoot = ActiveProject.ActiveScene.Root; oSph = oRoot.AddGeometry( "Sphere", "MeshSurface" ); oMat = oSph.AddMaterial( "Phong" ); oPhong = oMat.Shaders(0); // Add a layer at the end. oLayer = oPhong.CreateTextureLayer( "DirtLayer" ); // Add some texture layer port connections on this layer. oPorts = new Array(3); oPorts[0] = oLayer.AddTextureLayerPort( oPhong.parameters( "ambient" ) ); oPorts[1] = oLayer.AddTextureLayerPort( oPhong.parameters( "diffuse" ) ); oPorts[2] = oLayer.AddTextureLayerPort( oPhong.parameters( "specular" ) ); Application.LogMessage( "Created " + oLayer.TextureLayerPorts.count + " ports." ); for ( i = 0; i < oLayer.TextureLayerPorts.count; i++ ) { oPort = oLayer.TextureLayerPorts(i); Application.LogMessage( (i+1) + ": " + oPort ); } oLayer.RemoveTextureLayerPort( oPorts[1] ); oLayer.RemoveTextureLayerPort( oLayer.fullname + "." + oPorts[2].name ); count = oLayer.TextureLayerPorts.count; Application.LogMessage( "Only " + count + " remain(s) after removal." ); for ( i = 0; i < count; i++ ) { Application.LogMessage( (i+1) + ": " + oLayer.TextureLayerPorts.item(i) ); } // This example should log something like: //INFO : "Created 3 ports." //INFO : "1: sphere.Material.Phong.DirtLayer.ambient" //INFO : "2: sphere.Material.Phong.DirtLayer.diffuse" //INFO : "3: sphere.Material.Phong.DirtLayer.specular" //INFO : "Only 1 remain(s) after removal." //INFO : "1: sphere.Material.Phong.DirtLayer.ambient" |
' This example shows creation of texture layer ports, ' plus enumerating and removing them. set oRoot = ActiveProject.ActiveScene.Root set oSph = oRoot.AddGeometry( "Sphere", "MeshSurface" ) set oMat = oSph.AddMaterial( "Phong" ) set oPhong = oMat.Shaders(0) ' Add a layer at the end. set oLayer = oPhong.CreateTextureLayer( "DirtLayer" ) ' Add some texture layer port connections on this layer. dim oPorts(2) set oPorts(0) = oLayer.AddTextureLayerPort( oPhong.parameters( "ambient" ) ) set oPorts(1) = oLayer.AddTextureLayerPort( oPhong.parameters( "diffuse" ) ) set oPorts(2) = oLayer.AddTextureLayerPort( oPhong.parameters( "specular" ) ) logmessage "Created " & oLayer.TextureLayerPorts.count & " ports." i = 1 for each oPort in oLayer.TextureLayerPorts logmessage i & ": " & oPort i = i + 1 next oLayer.RemoveTextureLayerPort oPorts(1) oLayer.RemoveTextureLayerPort oLayer.fullname & "." & oPorts(2).name count = oLayer.TextureLayerPorts.count logmessage "Only " & count & " remain(s) after removal." for i = 0 to count - 1 logmessage i + 1 & ": " & oLayer.TextureLayerPorts.item(i) next ' This example should log something like: 'INFO : "Created 3 ports." 'INFO : "1: sphere.Material.Phong.DirtLayer.ambient" 'INFO : "2: sphere.Material.Phong.DirtLayer.diffuse" 'INFO : "3: sphere.Material.Phong.DirtLayer.specular" 'INFO : "Only 1 remain(s) after removal." 'INFO : "1: sphere.Material.Phong.DirtLayer.ambient" |