NodeSystem Class Reference

#include <nodesystem.h>

Inheritance diagram for NodeSystem:

Detailed Description

NodeSystem is the reference class of NodeSystemInterface.

A NodeSystem owns and manages a complete hierarchy of nodes and ports. NodeSystem is a copy-on-write reference, therefore each non-const method may create a copy of the original node system at first. However the copy is done by sharing the internal data, so it is a lightweight operation.

Traversal of a node system starts with GetRoot().

NodeSystem is a copy-on-write reference class, but you can't call non-const methods or MakeWritable directly. Instead, for modifications, you have to call BeginModification() to obtain write access to the hierarchy through a MutableRoot. As long as you make modifications, you have to ensure that no other thread uses the reference to the node system, or synchronize the threads in an appropriate way. As last step of a sequence of modifications you have to call MutableRoot::EndModification().

The implementation class of this interface is a final class, so you can't override it. However some behavior is delegated to NodeSystemClass and NodeSystemDerivationHandler to allow for customization of certain aspects.

See also
$ref usernodes_nodesystem
NodesLib @MAXON_ANNOTATION{refclass=false}

Public Member Functions

 MAXON_DEFAULT_REFERENCE_CONSTRUCTORS (NodeSystem, Reference)
 
ResultRef< NodeSystemInterfacePrivateMakeWritable ()
 

Member Function Documentation

◆ MAXON_DEFAULT_REFERENCE_CONSTRUCTORS()

MAXON_DEFAULT_REFERENCE_CONSTRUCTORS ( NodeSystem  ,
Reference   
)

◆ PrivateMakeWritable()

ResultRef<NodeSystemInterface> PrivateMakeWritable ( )