Go to: Synopsis. Return value. Related. Flags. MEL examples.
vnnNode [-addMetaData string string] [-clearMetaData string] [-connected boolean] [-connectedTo string] [-createInputPort string string] [-createOutputPort string string] [-deletePort string] [-inputPort] [-listConnectedNodes] [-listPortChildren string] [-listPorts] [-outputPort] [-portFlags uint] [-portOptions string[]] [-portValues string] [-queryAcceptablePortDataTypes string] [-queryIsUnresolved] [-queryMetaData string] [-queryMetaDataAsString] [-queryMetaDatas] [-queryPortDataType string] [-queryPortDefaultValues string] [-queryPortMetaDataValue string string] [-queryTypeName] [-removeMetaData string string] [-resetPortDefaultValues string] [-setMetaData string string[]] [-setMetaDataFromString string] [-setPortDataType string string] [-setPortDefaultValues string string[]] [-setPortMetaDataValue string string string] [-setStateFlag string boolean]
[dg container] [/node name]
vnnNode is undoable, NOT queryable, and NOT editable.
The vnnNode command is used to operate vnnNode and query its port and connections.
The first argument is the full name of the DG node that the VNN node is in.
The second argument is the name of the full path of the VNN node.
string | The result of the operation |
vnn, vnnCompound, vnnConnect
addMetaData, clearMetaData, connected, connectedTo, createInputPort, createOutputPort, deletePort, inputPort, listConnectedNodes, listPortChildren, listPorts, outputPort, portFlags, portOptions, portValues, queryAcceptablePortDataTypes, queryIsUnresolved, queryMetaData, queryMetaDataAsString, queryMetaDatas, queryPortDataType, queryPortDefaultValues, queryPortMetaDataValue, queryTypeName, removeMetaData, resetPortDefaultValues, setMetaData, setMetaDataFromString, setPortDataType, setPortDefaultValues, setPortMetaDataValue, setStateFlag
Long name (short name) |
Argument types |
Properties |
|
-addMetaData(-amd)
|
string string
|
|
|
Add a value to a metatada.
The arguments are, in order, metadata name, metadata value to be added.
|
|
-clearMetaData(-cmd)
|
string
|
|
|
Remove all the values of a metatada.
The argument is the metadata name.
|
|
-connected(-c)
|
boolean
|
|
|
Used with "listPorts" to query the connected or
unconnected ports.
|
|
-connectedTo(-ct)
|
string
|

|
|
Used with "listConnectedNodes" to query the nodes
that are connected to the specified ports.
|
|
-createInputPort(-cip)
|
string string
|
|
|
Add a new port to a node that can support any number of
input ports.
|
|
-createOutputPort(-cop)
|
string string
|
|
|
Add a new port to a node that can support any number of
output ports.
|
|
-deletePort(-dp)
|
string
|
|
|
Remove a port from a node that can support any
number of input/output ports.
|
|
-inputPort(-ip)
|
|
|
|
Used with "listPorts" to query all internal ports which
connect to any input ports in the compound.
|
|
-listConnectedNodes(-lcn)
|
|
|
|
Used to list nodes which are connected to the specified
node. The returned result is a list of node names.
|
|
-listPortChildren(-lpc)
|
string
|
|
|
List the children of specified port.
|
|
-listPorts(-lp)
|
|
|
|
List ports on the specified node.
Can be used with flags "inputPort", "outputPort" and
"connected" to narrow the query.
|
|
-outputPort(-op)
|
|
|
|
Used with "listPorts" to query all nodes which
connect to any output ports in the compound.
|
|
-portFlags(-cpf)
|
uint
|
|
|
Used with "createInputPort" or "createOutputPort" to specify
the flags on the port. See vnnPort command.
|
|
-portOptions(-cpo)
|
string[]
|
|
|
Used with "createInputPort" or "createOutputPort" to specify
a list of options on the created port.
|
|
-portValues(-cpv)
|
string
|
|
|
Used with "createInputPort" or "createOutputPort" to specify the default value of a new port
|
|
-queryAcceptablePortDataTypes(-qat)
|
string
|
|
|
Get the list of acceptable types for the given port of an unresolved node.
The acceptable types are based on the overloads that match the currently defined ports of the node.
|
|
-queryIsUnresolved(-qiu)
|
|
|
|
Query if the node is unresolved.
A node is considered unresolved if it is part of an overload set, and has
at least one port that is both unconnected and has an undefined type.
|
|
-queryMetaData(-qmd)
|
string
|
|
|
Query the value(s) of a metadata.
|
|
-queryMetaDataAsString(-mas)
|
|
|
|
Gets all metadata as a string. The format is documented with the setMetaDataFromString flag
|
|
-queryMetaDatas(-qms)
|
|
|
|
Query all the available metadatas.
|
|
-queryPortDataType(-qpt)
|
string
|
|
|
Query the data type of a specified port.
This is normally used with the vnnNode command, even when the node is a compounds.
When used with the vnnCompound command, the ports modified are the internal ones.
|
|
-queryPortDefaultValues(-qpv)
|
string
|
|
|
Get the default value of a port when it is not connected. For ports with scalar
data types (e.g., float or string), this will return a single string value. For
ports with structure data types (e.g., a vector or matrix of floats like float3
or float3x3), this will return an array of string values.
This command is typically used with the vnnNode command, even when the node is a
compound. When used with the vnnCompound command, it applies to the internal
ports.
|
|
-queryPortMetaDataValue(-qpm)
|
string string
|
|
|
Query the metadata value of a specified port.
The first argument is the port to query, the second is the type of metadata
to query.
This is normally used with the vnnNode command, even when the node is a compounds.
When used with the vnnCompound command, the ports modified are the internal ones.
|
|
-queryTypeName(-qtn)
|
|
|
|
Used to query the fundamental type of a node
such as "runtimeName,libraryName,typeName"
|
|
-removeMetaData(-rmd)
|
string string
|
|
|
Remove a value from a metatada.
The arguments are, in order, metadata name, metadata value to be removed.
|
|
-resetPortDefaultValues(-rpv)
|
string
|
|
|
Not currently implemented by Bifrost.
Resets the default value(s) of a compound port
The port cannot be connected.
The argument is the port name.
This is normally used with the vnnNode command, even when the node is a compounds.
When used with the vnnCompound command, the ports modified are the internal ones.
|
|
-setMetaData(-smd)
|
string string[]
|
|
|
Set the value of a metatada.
The arguments are, in order, metadata name, metadata values to be set.
|
|
-setMetaDataFromString(-mfs)
|
string
|
|
|
Set metadata using a string. This allows creating hierarchies of metadata.
The values of keys that already exist will be replaced with the new values.
The format is key=values separated by semi-colons, and braces
to define a sub-list of key/value pairs. Quotes are optional, but strings
using spaces or separators must be quoted. Quotes and backslashes can be escaped
with a backslash. Python-style single quotes are not accepted.
Example of format:
"house=red;car="blue and green"
"house=red,blue,yellow;hat={color=yellow;height="high"};cake={flavor="choco";topping="plenty"}
|
|
-setPortDataType(-spt)
|
string string
|
|
|
Set the data type of a specified compound port.
This is normally used with the vnnNode command, even when the node is a compounds.
When used with the vnnCompound command, the ports modified are the internal ones.
|
|
-setPortDefaultValues(-spv)
|
string string[]
|
|
|
Set the value of a port when it is not connected. The arguments are the port
name and the corresponding value(s). The value argument is an array of strings
that must contain the correct number of elements based on the data type of the
port (e.g., three elements for a float3 data type). For scalar data types (e.g.,
float or string), a single string value can be used.
This command is typically used with the vnnNode command, even when the node is a
compound. When used with the vnnCompound command, the ports that are modified
are the internal ones.
|
|
-setPortMetaDataValue(-spm)
|
string string string
|
|
|
Set the metadata value of a specified compound port. The arguments are, in order,
port name, metadata name, metadata value to be set.
This is normally used with the vnnNode command, even when the node is a compounds.
When used with the vnnCompound command, it refers to the internal ports.
|
|
-setStateFlag(-ssf)
|
string boolean
|
|
|
Set whether or not the node state flag with the specified mnemonic is active.
|
|
Flag can appear in Create mode of command
|
Flag can appear in Edit mode of command
|
Flag can appear in Query mode of command
|
Flag can be used more than once in a command.
|
file -f -new;
createNewBifrostGraphCmd;
vnnCompound "bifrostGraphShape1" "/" -addNode "BifrostGraph,Core::String,string_to_array";
print("All ports :\n");
print(`vnnNode "bifrostGraphShape1" "/string_to_array/string_strip_whitespace" -listPorts`);
print("\n");
print("Connected ports :\n");
print(`vnnNode "bifrostGraphShape1" "/string_to_array/string_strip_whitespace" -listPorts -connected true`);
print("\n");
print("Unconnected ports :\n");
print(`vnnNode "bifrostGraphShape1" "/string_to_array/string_strip_whitespace" -listPorts -connected false`);
print("\n");
print("Connected input and output ports :\n");
print(`vnnNode "bifrostGraphShape1" "/string_to_array/string_strip_whitespace" -listPorts -connected true -inputPort`);
print(`vnnNode "bifrostGraphShape1" "/string_to_array/string_strip_whitespace" -listPorts -connected true -outputPort`);
print("\n");
print("All connected nodes :\n");
print(`vnnNode "bifrostGraphShape1" "/string_to_array/string_strip_whitespace" -listConnectedNodes`);
print("\n");
print("Nodes connected to the stripped port :\n");
print(`vnnNode "bifrostGraphShape1" "/string_to_array/string_strip_whitespace" -listConnectedNodes -connectedTo "stripped"`);
print("\n");
print("Separator is :'" + `vnnNode "bifrostGraphShape1" "/string_to_array/split_string" -queryPortDefaultValues "separator"` + "'");
// Result: ',' //
print("\n");
// query port type
print("Port Type is " + `vnnNode "bifrostGraphShape1" "/string_to_array/split_string" -queryPortDataType "separator"`);
// Result: string //
print("\n");
// query node type
vnnCompound "bifrostGraphShape1" "/" -addNode "BifrostGraph,Core::Math,euler_to_quaternion";
print("Node Type is " + `vnnNode "bifrostGraphShape1" "/euler_to_quaternion/if4" -queryTypeName`);
// Result: BifrostGraph,Core::Logic,if //
print("\n");
// create port and connect
vnnCompound "bifrostGraphShape1" "/" -addNode "BifrostGraph,Core::Math,add";
vnnCompound "bifrostGraphShape1" "/" -addNode "BifrostGraph,Core::Math,subtract";
vnnNode "bifrostGraphShape1" "/subtract" -createInputPort "input" "auto";
vnnConnect "bifrostGraphShape1" "/add.output" "/subtract.input";
// port meta-data
file -f -new;
createNewBifrostGraphCmd;
vnnCompound "bifrostGraphShape1" "/" -addNode "BifrostGraph,File::Geometry,read_Alembic";
vnnNode "bifrostGraphShape1" "/read_Alembic" -setPortMetaDataValue "filename" "UIWidget" "FileBrowserWidget";
print("UIWidget is : " + `vnnNode "bifrostGraphShape1" "/read_Alembic" -queryPortMetaDataValue "filename" "UIWidget"` + "\n");
// create a value node of type array<float3> and set its value and size
vnnCompound "bifrostGraphShape1" "/" -addNode "BifrostGraph,Core::Constants,array<Math::float3>";
vnnNode "bifrostGraphShape1" "/value" -setPortDefaultValues "value" "{10, 20, 30}";
vnnNode "bifrostGraphShape1" "/value" -setMetaData "valuenode_size" "3";
// the array will be assigned 3 float3 elements, each of values (10, 20, 30)
// alternatively
vnnNode "bifrostGraphShape1" "/value" -setPortDefaultValues "value" "{{10, 20, 30, 40, 50, 60}}";
// or
vnnNode "bifrostGraphShape1" "/value" -setPortDefaultValues "value" "{10, 20, 30, 40, 50, 60}";
// the array will be assigned 2 float3 elements, (10, 20, 30) and (40, 50, 60)
// create a value node of type array<array<float3>> and set its values
vnnCompound "bifrostGraphShape1" "/" -addNode "BifrostGraph,Core::Constants,array<array<Math::float3>>";
vnnNode "bifrostGraphShape1" "/value" -setPortDefaultValues "value" "{{{1, 2, 3, 4, 5, 6}, {7, 8, 9, 0, 1, 2, 3, 4, 5}, {6, 7, 8}}}";
// value contains 3 elements :
// #0 : array<float3> with 2 elements (1, 2, 3) and (4, 5, 6)
// #1 : array<float3> with 3 elements (7, 8, 9), (0, 1, 2) and (3, 4, 5)
// #2 : array<float3> with a single element (6, 7, 8)
// create a value node of user-structured type and set its values
// struct User::MyStruct {
// float force
// float3 direction
// array<int> indices
// array<float3> points
// string name
//}
// this example assumes that the "User::MyStruct" type was declared by the user in a Bifrost json file
vnnCompound "bifrostGraphShape1" "/" -addNode "BifrostGraph,Core::Constants,User::MyStruct";
vnnNode "bifrostGraphShape1" "/value" -setPortDefaultValues "value" "{5.2, 1.2, -0.3, 4.5, {0, 1, 2, 0, 2, 1}, {1, 2, 3, 4, 5, 6, 7, 8, 9}, myString}";
// value.force = 5.2
// value.direction = 1.2, -0.3, 4.5
// value.indices = {0, 1, 2, 0, 2, 1}
// value.points = {1, 2, 3, 4, 5, 6, 7, 8, 9}
// value.name = 'myString'