<VariableNode> Data Interface

Provides script language access to C++ objects of this type.

Class HierarchyType » Node » VariableNode

Function Members

Function members are as follows:

Return Type Function Name Documentation
int32AcquireValueMoves, 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.
int32ClearCalls the <VariableNode> object's clear function.
stringGetBindingStringReturns the variable's binding string such as "const" or "uniform". Provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
stringGetCompleteNameReturns the complete name string by concatenating the variable's prefix, variable name, and suffix strings.
<Node>GetImplicitIndexThis option is undocumented at present.
int32GetRenderDownloadStatusReturns 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.
stringGetValueStringReturns the value string, such as 'false' or '{ 1, 0, 0, 1}'. This string is guaranteed to be parseable.
int32GetViewFromObjectPopulates an <MemberView> object with important <VariableNode> parameters.
int32IsArrayTypeReturns true if the <VariableNode> is an array type such as <BooleanArrayNode> or <Float32VectorArrayNode>.
int32IsBlockBindingReturns 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.
int32IsBoolTypeReturns true if the <VariableNode> is any Boolean type such as <BooleanNode> or <BooleanVectorNode>.
int32IsColorTypeReturns true if the <VariableNode> is any <Color> type such as <ColorNode> or <ColorArrayNode>.
int32IsFloat16TypeReturns true if the <VariableNode> is any <float16> type such as <Float16Node> or <Float16VectorNode>.
int32IsFloat32TypeReturns true if the <VariableNode> is any <float32> type such as <Float32Node> or <Float32VectorNode>.
int32IsFloat64TypeReturns true if the <VariableNode> is any <float64> type.
int32IsInt16TypeReturns true if the <VariableNode> is any <int16> type such as <Int16Node> or <Int16VectorNode>.
int32IsInt32TypeReturns true if the <VariableNode> is any <int32> type such as <Int32Node> or <Int32VectorNode>.
int32IsInt64TypeReturns true if the <VariableNode> is any <int64> type such as <Int64Node>.
int32IsInt8TypeReturns true if the <VariableNode> is any <int8> type such as <Int8Node or <Int8VectorNode.
int32IsIntegralTypeReturns true if the <VariableNode> is any integral type such as <Int32Node>, <Uint32Node>, <Int32ArrayNode, or <Uint32ArrayNode.
int32IsMatrixArrayTypeReturns true if the <VariableNode> is any matrix array type such as <Float32MatrixArrayNode> or <Float64MatrixArrayNode>.
int32IsMatrixTypeReturns true if the <VariableNode> is any matrix type such as <Float32MatrixNode> or <Float32MatrixArrayNode>.
int32IsReadbackBindingReturns true if the <VariableNode> is being used for GPU readback. For example: as part of a <ShaderBufferReadbackNode> or <TextureReadbackNode>.
int32IsSamplerTypeReturns true if the <VariableNode> is a <SamplerNode>.
int32IsScalarArrayTypeReturns true if the <VariableNode> is any scalar array type such as <BooleanArrayNode> or <Float32ArrayNode.
int32IsScalarTypeReturns true if the <VariableNode> is a scalar type such as <BooleanNode> or <Float32Node>.
int32IsShaderBufferBindingReturns true if the <VariableNode> is being used as part of a shader buffer.
int32IsStaleReturns true if the <VariableNode> is stale. This value cannot be set in SSL, only retrieved.
int32IsStructBindingReturns true if the <VariableNode> is being used as part of a <StructNode>
int32IsStructTypeReturns true if the <VariableNode> is a <StructInstanceNode> or <StructInstanceArrayNode>.
int32IsUint16TypeReturns true if the <VariableNode> is any <uint16> type such as <Uint16Node> or <Uint16VectorNode>.
int32IsUint32TypeReturns true if the <VariableNode> is any <uint32> type.
int32IsUint64TypeReturns true if the <VariableNode> is any <uint64> type such as <Uint64Node>.
int32IsUint8TypeReturns true if the <VariableNode> is any <uint8> type such as <Uint8Node> or <Uint8VectorNode>.
int32IsUniformBindingReturns true if the <VariableNode> is declared as a uniform at global scope.
int32IsUniformBufferBindingReturns true if the <VariableNode> is being used as part of a uniform buffer.
int32IsVectorArrayTypeReturns true if the <VariableNode> is any scalar array type such as <BooleanVectorArrayNode> or <Float32VectorArrayNode>.
int32IsVectorTypeReturns true if the <VariableNode> is a vector type such as <Float32VectorNode> or <Int32VectorNode>.
int32MakeAttributeSets the <VariableNode> binding type to attribute. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeBufferSets the <VariableNode> binding type to buffer. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeCompilerDirectiveSets the <VariableNode> binding type to compiler_directive. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeConstSets the <VariableNode> binding type to const. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeInSets the <VariableNode> binding type to in. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeLocalSets the <VariableNode> binding type to local. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeNoneSets the <VariableNode> binding type to none. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeOutSets the <VariableNode> binding type to out. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeSubroutineSets the <VariableNode> binding type to subroutine. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeUniformSets the <VariableNode> binding type to uniform. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MakeVaryingSets the <VariableNode> binding type to varying. This is provided for compatibility purposes only. Prefer using <GlslQualifierManager> to add qualifiers to <VariableNode> objects.
int32MatchReturns 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.
int32PrintPrints all the declared names and values for the <VariableNode> sub-class.
int32SetCompleteNameUndocumented at present.
int32SetObjectParametersFromViewConfigures 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

Object members are as follows:

Type Name Accessor Name Documentation
<DataCaptureList>DataCaptureListReturns 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>LocalDataSourceGets or sets a pointer to the <VariableNode> object's local data source.
<Node>LocalDataSourceLinkGets 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>OperatorDataSourceGets or sets a pointer to the <VariableNode> object's operator data source.
<Node>OperatorDataSourceLinkGets 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>QualifierDeprecated. Use the <VariableNode> object's <QualifierList> object or <GlslQualifierManager> instead.
<QualifierList>QualifierListReturns a pointer to the <VariableNode> object's underlying <QualifierList> object. For debug purposes only. Prefer using <GlslQualifierManager> to manage <VariableNode> qualifiers.
int32BindToRenderInfoGets or sets the BindTo<RenderInfo> flag. If true, the <VariableNode> is bound to the <RenderInfo> when it is rendered.
int32BindingContextGets 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.
int32BindingTypeDeprecated, 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.
int32DataCaptureEnabledGets or sets the 'DataCaptureEnabled' flag. Any resident <DataCapture> objects are processed if this flag is enabled. Otherwise, they are not processed.
stringFlagsDeprecated.
stringNamePrefixGets or sets the <VariableNode> object's name prefix. For example, in the expression 'vs_position', you might use 'vs_' as the name prefix.
stringNameSuffixGets or sets the <VariableNode> object's name suffix. For example, in the expression 'vs_position_gs', you might use 'gs_' as the name suffix.
stringRefreshFunctionGets or sets the <VariableNode> object's refresh function. Provided to allow users to implement a refresh command for some use cases.
int32RenderDownloadEnabledGets 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.
int32RenderDownloadFrequencySets 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.
stringVariableGets or set the <VariableNode> object's name. For example, in the expression 'vec3 normal;', normal is the variable value.