## ParameterCollection

Related C++ Class: CParameterRefArray

### Introduced

v1.5

### Description

A collection of objects that implement the Parameter interface. In other words, each member of this collection is either of class Parameter or of any descendent class (ShaderParameter, ShaderArrayParameter, KinematicState, etc.). For a list of interfaces that implement the Parameter interface, see its object hierarchy.

### Methods

Filter | Find | GetAsText |

### Properties

Count | Item |  |

### Examples

#### 1. JScript Example

    /*

    	This example demonstrates how to access a shader's parameter collection

    */

    NewScene(null, false);

    // Set up a cylinder with a Color Ramp shader

    CreatePrim("Cylinder", "MeshSurface");

    var sh = CreateShaderFromProgID("MetaSL.Generator_color_ramp.1.0", "Sources.Materials.DefaultLib.Scene_Material");

    SIConnectShaderToCnxPoint("Sources.Materials.DefaultLib.Scene_Material.Color_Ramp.result",

    	"Sources.Materials.DefaultLib.Scene_Material.Phong.ambient", false);

    // Check the class of each parameter in the collection

    for (var i=0; i<sh.Parameters.Count; i++) {

    	var param = sh.Parameters.Item(i);

    	Application.LogMessage( param.ScriptName + " is a(n) " + Application.ClassName(param) );

    }

    // Expected output:

    // INFO : Name is a(n) Parameter

    // INFO : location is a(n) ShaderParameter

    // INFO : inputs is a(n) ShaderArrayParameter

    // INFO : interpolation_style is a(n) ShaderParameter

    // INFO : result is a(n) ShaderParameter

#### 2. VBScript Example

    set oRoot = Application.ActiveProject.ActiveScene.Root

    set oCube = oRoot.AddGeometry( "Cube", "MeshSurface" )

    for each oParam in oCube.Parameters

    	LogMessage oParam.Name

    next

### See Also

Parameter.AnimatedParameters Parameter.Parameters ProjectItem.Parameters ProjectItem.AnimatedParameters2 Shader.Parameters Shader.Parameters ShaderParameter.Targets X3DObject.NodeAnimatedParameters