About
maxon::nodes::NodeSystemInterface is a node system. This is the fundamental data structure which is being edited by a user through the maxon::GraphModelInterface from the graph.framework. A node system stores a hierarchy of objects (nodes and ports) and connections.
- Note
- Node systems support COW behaviour.
To traverse a node system, the classes maxon::nodes::Node, maxon::nodes::PortList and maxon::nodes::Port exist. See Nodes Manual.
Access
The node system is obtained with:
See NodesGraphModelInterface Manual and NodeMaterial Manual.
const maxon::nodes::NodesGraphModelRef& graph = nodeMaterial->GetGraph(nodeSpaceID)
iferr_return;
Definition: nodesystem.h:835
#define iferr_return
Definition: resultbase.h:1519
Use
The node system gives access to its nodes via the root node:
See Nodes Manual.
for (
auto c :
node.GetChildren())
{
}
Definition: nodesystem.h:2218
Py_UNICODE c
Definition: unicodeobject.h:1200
#define DiagnosticOutput(formatString,...)
Definition: debugdiagnostics.h:176
A modification to a node system is handled with:
- maxon::nodes::NodeSystemInterface::BeginModification(): Indicates the beginning of a sequence of modifications and returns the root node of this node system as a MutableRoot.
- maxon::nodes::NodeSystemInterface::BeginInstantiationModification():
- maxon::nodes::NodeSystemInterface::BeginSubstitutionModification():
- maxon::nodes::NodeSystemInterface::IsFinalized(): Returns true if this node system is in finalized state. A node system is in finalized state after maxon::nodes::MutableRoot::EndModification() has been called
- Note
- Typically a node system is edited as a graph model, see GraphModelInterface Manual.
Modifications are obtained with:
The values of node attributes are edited with:
The node system can be serialized with:
Node Template:
Further functions are: