Provides script language access to C++ objects of this type.
Function members are as follows:
Return Type | Function Name | Documentation |
---|---|---|
int32 | AcquireValue | Moves, or copies, the value from the source <VariableNode> to the destination <VariableNode>. Value acquisition is accomplished by copying or moving. Move is not available in all use cases. |
int32 | Clear | Calls the <VariableNode> object's clear function. |
string | GetBindingString | Returns the variable's binding string such as "const" or "uniform". Provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
string | GetCompleteName | Returns the complete name string by concatenating the variable's prefix, variable name, and suffix strings. |
<Node> | GetImplicitIndex | This option is undocumented at present. |
int32 | GetRenderDownloadStatus | Returns a flag that indicates the render download status, which provides hints about whether or not a constant or buffer variable has been successfully downloaded to the rendering device. This refers to the RenderDownloadStatus enumeration. Please see TYPE_SERVICE_ENUMERATION_UTIL.SSL in the application scripts folder for more information. |
string | GetValueString | Returns the value string, such as 'false' or '{ 1, 0, 0, 1}'. This string is guaranteed to be parseable. |
int32 | GetViewFromObject | Populates an <MemberView> object with important <VariableNode> parameters. |
int32 | IsArrayType | Returns true if the <VariableNode> is an array type such as <BooleanArrayNode> or <Float32VectorArrayNode>. |
int32 | IsBlockBinding | Returns true if the <VariableNode> is being used as part of a uniform buffer or shader buffer. You can test more specifically by calling IsShaderBufferBinding or IsUniformBufferBinding. |
int32 | IsBoolType | Returns true if the <VariableNode> is any Boolean type such as <BooleanNode> or <BooleanVectorNode>. |
int32 | IsColorType | Returns true if the <VariableNode> is any <Color> type such as <ColorNode> or <ColorArrayNode>. |
int32 | IsFloat16Type | Returns true if the <VariableNode> is any <float16> type such as <Float16Node> or <Float16VectorNode>. |
int32 | IsFloat32Type | Returns true if the <VariableNode> is any <float32> type such as <Float32Node> or <Float32VectorNode>. |
int32 | IsFloat64Type | Returns true if the <VariableNode> is any <float64> type. |
int32 | IsInt16Type | Returns true if the <VariableNode> is any <int16> type such as <Int16Node> or <Int16VectorNode>. |
int32 | IsInt32Type | Returns true if the <VariableNode> is any <int32> type such as <Int32Node> or <Int32VectorNode>. |
int32 | IsInt64Type | Returns true if the <VariableNode> is any <int64> type such as <Int64Node>. |
int32 | IsInt8Type | Returns true if the <VariableNode> is any <int8> type such as <Int8Node or <Int8VectorNode. |
int32 | IsIntegralType | Returns true if the <VariableNode> is any integral type such as <Int32Node>, <Uint32Node>, <Int32ArrayNode, or <Uint32ArrayNode. |
int32 | IsMatrixArrayType | Returns true if the <VariableNode> is any matrix array type such as <Float32MatrixArrayNode> or <Float64MatrixArrayNode>. |
int32 | IsMatrixType | Returns true if the <VariableNode> is any matrix type such as <Float32MatrixNode> or <Float32MatrixArrayNode>. |
int32 | IsReadbackBinding | Returns true if the <VariableNode> is being used for GPU readback. For example: as part of a <ShaderBufferReadbackNode> or <TextureReadbackNode>. |
int32 | IsSamplerType | Returns true if the <VariableNode> is a <SamplerNode>. |
int32 | IsScalarArrayType | Returns true if the <VariableNode> is any scalar array type such as <BooleanArrayNode> or <Float32ArrayNode. |
int32 | IsScalarType | Returns true if the <VariableNode> is a scalar type such as <BooleanNode> or <Float32Node>. |
int32 | IsShaderBufferBinding | Returns true if the <VariableNode> is being used as part of a shader buffer. |
int32 | IsStale | Returns true if the <VariableNode> is stale. This value cannot be set in SSL, only retrieved. |
int32 | IsStructBinding | Returns true if the <VariableNode> is being used as part of a <StructNode> |
int32 | IsStructType | Returns true if the <VariableNode> is a <StructInstanceNode> or <StructInstanceArrayNode>. |
int32 | IsUint16Type | Returns true if the <VariableNode> is any <uint16> type such as <Uint16Node> or <Uint16VectorNode>. |
int32 | IsUint32Type | Returns true if the <VariableNode> is any <uint32> type. |
int32 | IsUint64Type | Returns true if the <VariableNode> is any <uint64> type such as <Uint64Node>. |
int32 | IsUint8Type | Returns true if the <VariableNode> is any <uint8> type such as <Uint8Node> or <Uint8VectorNode>. |
int32 | IsUniformBinding | Returns true if the <VariableNode> is declared as a uniform at global scope. |
int32 | IsUniformBufferBinding | Returns true if the <VariableNode> is being used as part of a uniform buffer. |
int32 | IsVectorArrayType | Returns true if the <VariableNode> is any scalar array type such as <BooleanVectorArrayNode> or <Float32VectorArrayNode>. |
int32 | IsVectorType | Returns true if the <VariableNode> is a vector type such as <Float32VectorNode> or <Int32VectorNode>. |
int32 | MakeAttribute | Sets the <VariableNode> binding type to attribute. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeBuffer | Sets the <VariableNode> binding type to buffer. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeCompilerDirective | Sets the <VariableNode> binding type to compiler_directive. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeConst | Sets the <VariableNode> binding type to const. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeIn | Sets the <VariableNode> binding type to in. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeLocal | Sets the <VariableNode> binding type to local. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeNone | Sets the <VariableNode> binding type to none. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeOut | Sets the <VariableNode> binding type to out. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeSubroutine | Sets the <VariableNode> binding type to subroutine. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeUniform | Sets the <VariableNode> binding type to uniform. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | MakeVarying | Sets the <VariableNode> binding type to varying. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects. |
int32 | Match | Returns true if NodeB is an exact match for the <VariableNode>. This includes type, vector dimension, array size, and other parameters such as struct type and sampler type. |
int32 | Prints all the declared names and values for the <VariableNode> sub-class. | |
int32 | SetCompleteName | Undocumented at present. |
int32 | SetObjectParametersFromView | Configures the the <VariableNode> object's data members, array count, vector dimension, or matrix dimensions, etc. with the parameters stored in the <MemberView> object submitted to this function. |
Object members are as follows:
Type Name | Accessor Name | Documentation |
---|---|---|
<DataCaptureList> | DataCaptureList | Returns a pointer to the <DataCaptureList> object. This object stores <DataCapture> objects that are 'nested' inside. For example: A <DataCapture> object may be stored in a <VariableNode> representing an array, such as <Float32ArrayNode>, and <DataCapture> sub-objects stored in this <DataCaptureList> may set individual array values. |
<Node> | LocalDataSource | Gets or sets a pointer to the <VariableNode> object's local data source. |
<Node> | LocalDataSourceLink | Gets or sets a pointer to the <VariableNode> object's local data source. If the local data source is a <NodeLink>, this function returns the <Node> pointed at by the <NodeLink>. |
<Node> | OperatorDataSource | Gets or sets a pointer to the <VariableNode> object's operator data source. |
<Node> | OperatorDataSourceLink | Gets or sets a pointer to the <VariableNode> object's operator data source. If the operator data source is a <NodeLink>, this function returns the <Node> pointed at by the <NodeLink>. |
<LanguageQualifier> | Qualifier | Deprecated. Use the <VariableNode> object's <QualifierList> object or <GlslQualifierManager> instead. |
<QualifierList> | QualifierList | Returns a pointer to the <VariableNode> object's underlying <QualifierList> object. For debug purposes only. Prefer using <GlslQualifierManager> to manage <VariableNode> qualifiers. |
int32 | BindToRenderInfo | Gets or sets the BindTo<RenderInfo> flag. If true, the <VariableNode> is bound to the <RenderInfo> when it is rendered. |
int32 | BindingContext | Gets or set the binding context which provides a hint about how the <VariableNode> is being used. This value refers to the BindingContext enumeration. Please see TYPE_SERVICE_ENUMERATION_UTIL.SSL in the application scripts folder for more information. |
int32 | BindingType | Deprecated, but provided for compatibility purposes. Gets or sets the binding type. This value refers to the BindingType enumeration. Please see TYPE_SERVICE_ENUMERATION_UTIL.SSL in the application scripts folder for more information. |
int32 | DataCaptureEnabled | Gets or sets the 'DataCaptureEnabled' flag. Any resident <DataCapture> objects are processed if this flag is enabled. Otherwise, they are not processed. |
string | Flags | Deprecated. |
string | NamePrefix | Gets or sets the <VariableNode> object's name prefix. For example, in the expression 'vs_position', you might use 'vs_' as the name prefix. |
string | NameSuffix | Gets or sets the <VariableNode> object's name suffix. For example, in the expression 'vs_position_gs', you might use 'gs_' as the name suffix. |
string | RefreshFunction | Gets or sets the <VariableNode> object's refresh function. Provided to allow users to implement a refresh command for some use cases. |
int32 | RenderDownloadEnabled | Gets or sets the 'RenderDownloadEnabled' flag. The <VariableNode> is downloaded to the GPU if this flag is enabled. Otherwise, it is not downloaded. Note that the relevant GLSL shader code must use this <VariableNode>, or it won't be downloaded to the GPU regardless of this flag. |
int32 | RenderDownloadFrequency | Sets or gets the frequency with which the node's value is updated on the GPU. At present, this supports updating once when the application loads the document, or once per frame. This refers to the RenderDownloadFrequency enumeration. Please see TYPE_SERVICE_ENUMERATION_UTIL.SSL in the application scripts folder for more information. |
string | Variable | Gets or set the <VariableNode> object's name. For example, in the expression 'vec3 normal;', normal is the variable value. |