Returns a parameter's DataSource (the object that is driving the parameter's
value, such as a Shader or an ActionSource). If no data
source is connected then Nothing is returned. If a parameter has both ActionSource and a
DataSource, it's the DataSource that is returned. This happens when an animated parameter
is connected to a source.
Note: You can Get any type of data source (ActionSource,
Constraint, FCurve, ImageClip,
Operator, Shader, StaticSource),
but you can only Set the shader type of data source. Shader parameters
support setting the source to another shader.
Note: Shader Compounds and Multi-Output Shaders have multiple output ports that require
the Source to be identified by an Output Parameter. In such case, GetSource
will return a Parameter and you can access the connected shader by calling Parameter.GetParent.
Tip: In VBScript it is possible to remove a DataSource by assigning "Nothing"
to the Source property. In JScript and Python the same effect can be achieved by calling
Parameter.Disconnect.
In the case of a ProxyParameter, the source of the master parameter is accessible
from this property. For example, if a parameter has an fcurve on it, and there is a proxy
parameter to that parameter, then the Source property of both parameter objects will return the
same fcurve object.
// get accessor DataSource rtn = Parameter.Source; // set accessor Parameter.Source = DataSource; |
' ' This example illustrates how to add an FCurve to a parameter and access it afterwards ' using the Parameter.Source property. ' NewScene , false dim values set oCube = Application.ActiveSceneRoot.AddGeometry( "Cube","MeshSurface" ) arrValues = Array( 0.00, 5.00, 1.00, 6.00, 2.00, 7.00, 3.00, 8.00, 4.00, 9.00, 5.00, 10.00 ) oCube.posx.AddFCurve2 arrValues set oSource = oCube.posx.Source Application.LogMessage "The source is : " & TypeName( oSource ) ' Remove the animation set oCube.posx.Source = Nothing set oSource = oCube.posx.Source Application.LogMessage "The source is : " & TypeName( oSource ) ' Expected result: 'INFO : The source is : FCurve 'INFO : The source is : Nothing |
/* See Shader.GetShaderParameterTargets for an example demonstrating how to traverse a shader tree from left to right using the Source property and right to left using the GetShaderParameterTargets method. */ |