Accessing node data¶
What is a graph “node”?¶
A node
represents an operation in InstantTerra,
i.e. the generation of a terrain using a noise or even an erosion simulation.
These nodes and their parameters are accessible directly via the API.
// Create an instance of InstantTerra
InstantTerra instantTerra = new InstantTerra();
// Get the current graph and the list of nodes
Graph graph = instantTerra.GetProject().GetGraph();
List<Node> listOfNodes = graph.GetAllNodes();
// Get the first node of the graph
Node myNode = listOfNodes[0];
Changing a node name¶
myNode.SetName("New name");
Console.WriteLine(myNode.GetName());
To change or retrieve a node name, use the methods SetName(name)
and GetName
.
Changing a node comment¶
myNode.SetComment("New comment");
Console.WriteLine(myNode.GetComment());
To change or retrieve a node comment, use the methods
SetComment(comment)
and GetComment
.
Retrieving the node type¶
Console.WriteLine(myNode.GetNodeType());
To retrieve the node type, use the méthode GetNodeType
.
Retrieving the parameters’ list¶
// Returns the list of node parameters
string[] parameterList = myNode.GetParameterList();
parameterList.ForEach(Console.WriteLine);
The method GetParameterList()
returns the list of node parameters.
Determining if a parameter exists¶
// Returns true if the parameter exists
Console.WriteLine(myNode.HasParameter("ParameterName"));
See HasParameter(parameterName)
in the documentation.
Retrieving or setting a parameter value¶
// Get the value of the parameter
Console.WriteLine(myNode.GetParameterValue("offset_x"));
// Set the value of the parameter
myNode.SetParameterValue("offset_x", "1.0");
See GetParameterValue(parameterName)
and
SetParameterValue(parameterName, value)
.
Note
If the parameter name does not exist or if the set value is not valid, C# returns an error message with the description of the problem.