This namespace contains the API of the nodes framework.
Namespaces | |
details | |
InPortComponentAccessTypes | |
MATERIALEXCHANGE | |
MaterialNodeSpaces | |
NODESPACE | |
OutPortComponentAccessTypes | |
PREVIEW | |
PREVIEWIMAGEREQUEST | |
PREVIEWIMAGESUBSCRIPTION | |
Typedefs | |
using | ComponentAccessDef = StrongRef< ComponentAccessType > |
using | ComponentAccessDefWithId = Tuple< StrongRef< ComponentAccessType >, Id > |
using | LanguageDictionary = DataDictionary |
using | PortDescriptionProvider = Delegate< Result< void >(DataDictionary &description, const GraphNode &port, const Id &category)> |
using | PortEnumDescriptionProvider = Delegate< Result< void >(const GraphNode &port, const CString &additionalArgs, Int enumEntryIdx, DataDictionary &description, const Id &category)> |
using | ConstantOptimizer = Delegate< Result< Data >(const ConstDataPtr &value)> |
using | OriginalGraph = Tuple< nodes::NodesGraphModelRef, TimeStamp > |
template<Bool MUTABLE> | |
using | GNodeSelector = typename std::conditional< MUTABLE, MutableGNode, GNode >::type |
template<Bool MUTABLE> | |
using | PortListSelector = typename std::conditional< MUTABLE, MutablePortList, PortList >::type |
template<Bool MUTABLE> | |
using | PortSelector = typename std::conditional< MUTABLE, MutablePort, Port >::type |
using | Connection = Tuple< Port, Wires > |
using | MutableConnection = Tuple< MutablePort, Wires > |
template<Bool MUTABLE> | |
using | ConnectionSelector = typename std::conditional< MUTABLE, MutableConnection, Connection >::type |
template<Bool MUTABLE> | |
using | NodeSelector = typename std::conditional< MUTABLE, MutableNode, Node >::type |
template<typename BASE > | |
using | PortFunctionsSuper = typename std::conditional< BASE::HAS_ERROR, typename std::conditional< BASE::MUTABLE, MutablePortListFunctions< BASE >, PortListFunctions< BASE > >::type, PortListSelector< BASE::MUTABLE > >::type |
using | NodePathArraySet = ArraySet< NodePath, true, FastNodePathHash > |
using | NodePathArraySetRef = StrongCOWRef< NodePathArraySet > |
using | SampleFloat32 = Vec4< Float32 > |
using | SamplesFloat32 = BaseArray< SampleFloat32 > |
using | SamplesFloat32Ref = StrongRef< SamplesFloat32 > |
using | SamplesFloat32ConstRef = StrongRef< const SamplesFloat32 > |
using | PreviewImageSubscriptionResultFunc = Delegate< void(PREVIEW::STAGE stage, const ImageTextureRef &image)> |
Enumerations | |
enum class | PORT_CONNECTION_STATE { NONE , SAME_LEVEL , OUTER_LEVEL , PROPAGATED , AUTO_PROPAGATED , NORMAL_MASK , PROPAGATED_MASK } |
enum class | GNODE_FLAGS : UInt64 { NONE , DIRECT_PORT , DERIVED_PORT_INHERITED , DERIVED_PORT_SYNTHESIZED , CONTEXT_SOURCE , CONTEXT_TARGET , FUNCTION_INSTANTIATION , CONTEXT_PARAMETER_PORT , TAPPING_PORT , DERIVATION_FILTER_SOURCE , DERIVATION_FILTER_TARGET , ALL_MASK } |
enum class | VALUEMODE : Char { NONE , DYNAMIC , CONSTANT } |
enum class | PORT_FLAGS { NONE , HIDDEN , USED_FOR_TEMPLATE_ARGUMENT , USED_FOR_INPUTPORTTYPE_TEMPLATE_ARGUMENT , CONSTANT , VARIADIC , VARIADIC_TEMPLATE , INHERITS_NESTED_PORTS , SYNTHESIZES_NESTED_PORTS , HAS_CHILDREN , USED_FOR_INPUTBUNDLE_TEMPLATE_ARGUMENT , CHAIN , DYNAMIC , USED_FOR_DYNAMIC_TYPE , USED_FOR_TEMPLATE_MASK } |
enum class | UNDO_MODE { NONE , START , ADD } |
Functions | |
MAXON_DATATYPE (ComponentAccessType, "net.maxon.nodes.datatype.componentaccesstype") | |
MAXON_ATTRIBUTE (Id, ComponentAccessBundle, "componentaccessbundleport2") | |
MAXON_ATTRIBUTE (Id, ComponentAccessChild, "componentaccesschild2") | |
MAXON_ATTRIBUTE (ComponentAccessDefWithId, ComponentAccessDefAttr, "componentaccessdef") | |
MAXON_REGISTRY (ComponentAccessDef, InPortComponentAccessTypes, "net.maxon.node.registry.inportcomponentaccess") | |
MAXON_REGISTRY (ComponentAccessDef, OutPortComponentAccessTypes, "net.maxon.node.registry.outportcomponentaccess") | |
MAXON_ATTRIBUTE (void, NodeCategoryExistingNodes, "net.maxon.nodecategory.existingnodes") | |
MAXON_ATTRIBUTE (DataDictionary, PortDescriptionData, "portDescriptionData") | |
MAXON_ATTRIBUTE (DataDictionary, PortDescriptionUi, "portDescriptionUi") | |
MAXON_ATTRIBUTE (LazyLanguageDictionary, PortDescriptionStringLazy, "portDescriptionStringLazy") | |
MAXON_ATTRIBUTE (DataDescriptionDefinition, NodeDescriptionData, "nodeDescriptionData") | |
MAXON_ATTRIBUTE (DataDescriptionDefinition, NodeDescriptionUi, "nodeDescriptionUi") | |
MAXON_ATTRIBUTE (LazyLanguageStringDataDescriptionDefinition, NodeDescriptionStringLazy, "nodeDescriptionStringLazy") | |
MAXON_REGISTRY (PortDescriptionProvider, PortDescriptionProviders, "net.maxon.nodes.portdescriptionproviders") | |
MAXON_REGISTRY (PortEnumDescriptionProvider, PortEnumDescriptionProviders, "net.maxon.nodes.portenumdescriptionproviders") | |
MAXON_DATATYPE (NodeOrTemplate, "net.maxon.node.datatype.nodeortemplate") | |
MAXON_INTERNED_ID ("net.maxon.node.port.nodesystem", NodeSystemPort) | |
MAXON_DECLARATION (NodeSystemClass, BaseCoreNodesNodeSystemClass, "net.maxon.corenode.basenodesystemclass") | |
MAXON_DECLARATION (NodeSystemClass, CoreNodesNodeSystemClass, "net.maxon.corenode.nodesystemclass") | |
MAXON_DECLARATION (Factory< DescriptionProcessor(Delegate< Result< Bool >(const NodeSystemClass &cls)> &&support)>, CoreNodesDescriptionProcessor, "net.maxon.corenode.factory.descriptionprocessor") | |
MAXON_REGISTRY (ConstantOptimizer, ConstantOptimizers, "net.maxon.nodes.registry.constantoptimizers") | |
MAXON_ATTRIBUTE (Bool, FunctionResult, "functionresult") | |
MAXON_ATTRIBUTE (Bool, NoCleanupOnFinalize, "skipfinalizemodification") | |
MAXON_REGISTRY (ImportAdapter, ImportAdapters, "net.maxon.node.registry.importadapters") | |
class NodeTemplate | MAXON_FORWARD ("maxon/nodetemplate.h") |
MAXON_ATTRIBUTE (void, Messages, "messages") | |
enum maxon::nodes::PORT_CONNECTION_STATE | MAXON_ENUM_FLAGS (PORT_CONNECTION_STATE) |
MAXON_ATTRIBUTE (PORT_CONNECTION_STATE, PortConnectionState, "portconnectionstate") | |
MAXON_DECLARATION (Class< NodeSystemManagerRef >, NodeSystemManagerClass, "net.maxon.node.class.nodesystemmanager") | |
MAXON_DECLARATION (Class< NodesGraphModelRef >, NodesGraphModelClass, "net.maxon.node.class.nodesgraphmodel") | |
Result< Node > | ToNode (const GraphNode &node) |
Result< PortList > | ToPortList (const GraphNode &node) |
Result< Port > | ToPort (const GraphNode &node) |
Result< MutableNode > | ToMutableNode (const GraphNode &node) |
Result< MutablePortList > | ToMutablePortList (const GraphNode &node) |
Result< MutablePort > | ToMutablePort (const GraphNode &node) |
Bool | HasBase (const GraphNode &node, const Id &asset) |
MAXON_ATTRIBUTE (OriginalGraph, OriginalGraphAttr, "net.maxon.nimbus.originalgraph") | |
class NodeSystemData | MAXON_FORWARD ("maxon/nodesystem_data.h") |
class NodeSystemClass | MAXON_FORWARD ("maxon/nodesystem_class.h") |
class NodeSystemDerivationHandler | MAXON_FORWARD ("maxon/nodesystem_derivation.h") |
enum maxon::nodes::GNODE_FLAGS UInt64 | MAXON_ENUM_FLAGS (GNODE_FLAGS) |
enum maxon::nodes::VALUEMODE Char | MAXON_ENUM_LIST (VALUEMODE) |
MAXON_DATATYPE (MutableRoot, "net.maxon.node.datatype.mutableroot") | |
MAXON_DECLARATION (NodeSystemClass, DefaultNodeSystemClass, "net.maxon.node.nodesystemclass") | |
MAXON_DECLARATION (Class< NodeSystemDerivationHandler >, NodeSystemDerivationHandlerBaseClass, "net.maxon.node.class.nodesystemderivationhandlerbase") | |
template<GET_DATATYPE_POLICY POLICY> | |
ResultOk< const DataType & > | PrivateGetDataType (TemplateArguments **, OverloadRank0) |
MAXON_ATTRIBUTE (Url, BASEPATH, "net.maxon.nodes.nodesystem.context.basepath") | |
MAXON_REGISTRY (Delegate< Result< void >(const MutableRoot &)>, DescriptionFinalizers, "net.maxon.node.registry.descriptionfinalizers") | |
MAXON_ATTRIBUTE (Bool, InheritNestedPorts, "inheritnestedports") | |
MAXON_ATTRIBUTE (Bool, SynthesizeNestedPorts, "synthesizenestedports") | |
MAXON_ATTRIBUTE (Bool, InheritNestedPortsSource, "inheritnestedportssource") | |
MAXON_ATTRIBUTE (Bool, SynthesizeNestedPortsSource, "synthesizenestedportssource") | |
MAXON_ATTRIBUTE (Bool, InheritPortSource, "inheritportsource") | |
MAXON_ATTRIBUTE (Bool, SynthesizePortSource, "synthesizeportsource") | |
MAXON_ATTRIBUTE (Bool, SynthesizeTypeSource, "synthesizetypesource") | |
MAXON_ATTRIBUTE (Bool, LoopDependencySource, "loopdependencysource") | |
MAXON_ATTRIBUTE (Bool, LoopDependencyTarget, "loopdependencytarget") | |
MAXON_ATTRIBUTE (Bool, Dynamic, "dynamic") | |
MAXON_ATTRIBUTE (Bool, TransientDynamic, "transientdynamic") | |
MAXON_ATTRIBUTE (Bool, TemplateParameter, "templateparameter") | |
MAXON_ATTRIBUTE (Bool, AllowDynamicArgument, "allowdynamicargument") | |
MAXON_ATTRIBUTE (DataType, TypeTemplateParameter, "porttypetemplateparameter") | |
MAXON_ATTRIBUTE (Bool, BundleTemplateParameter, "bundletemplateparameter") | |
MAXON_ATTRIBUTE (Data, TemplateArgument, "templateargument") | |
MAXON_ATTRIBUTE (Bool, StickyTypeTemplateParameter, "stickyporttypetemplateparameter") | |
MAXON_ATTRIBUTE (Error, TemplateError, "templateerror") | |
MAXON_ATTRIBUTE (Bool, ConstantParameter, "constantparameter") | |
MAXON_ATTRIBUTE (Bool, SynthesizeDefaultValue, "synthesizevalue") | |
MAXON_ATTRIBUTE (Bool, TappingPort, "tappingport") | |
MAXON_ATTRIBUTE (Bool, IsGroup, "isgroup") | |
MAXON_ATTRIBUTE (Bool, IndissolubleGroup, "indissolublegroup") | |
MAXON_ATTRIBUTE (Bool, Permanent, "permanent") | |
MAXON_ATTRIBUTE (Bool, HiddenFromInside, "hiddeninside") | |
MAXON_ATTRIBUTE (Bool, HiddenFromOutside, "hiddenoutside") | |
MAXON_ATTRIBUTE (DataType, FixedPortType, "fixedtype") | |
MAXON_ATTRIBUTE (DataType, DynamicTypeConstraint, "dynamictypeconstraint") | |
MAXON_ATTRIBUTE (Bool, EnforceType, "enforcetype") | |
MAXON_ATTRIBUTE (DataType, SynthesizedType, "synthesizedtype") | |
MAXON_ATTRIBUTE (DataType, OutputTypeConstraint, "outputtypeconstraint") | |
MAXON_ATTRIBUTE (DataType, PortType, "type") | |
MAXON_ATTRIBUTE (TupleDataType, FunctionParameters, "functionparams") | |
MAXON_ATTRIBUTE (InternedId, ContextReference, "ctxref") | |
MAXON_ATTRIBUTE (InternedId, ContextDefinition, "ctxdef") | |
MAXON_ATTRIBUTE (Bool, ExternalContext, "externalcontext") | |
MAXON_ATTRIBUTE (Bool, CreatedByPropagation, "net.maxon.node.createdbypropagation") | |
MAXON_ATTRIBUTE (NodePath, PortGroup, "net.maxon.node.portgroup") | |
MAXON_ATTRIBUTE (Bool, OverrideOrderIndex, "overrideorderindex") | |
MAXON_ATTRIBUTE (Bool, ForceVariadicPortNameDerivation, "forcevariadicportnamederivation") | |
MAXON_ATTRIBUTE (Bool, DisableVariadicPortNameDerivation, "disablevariadicportnamederivation") | |
MAXON_ATTRIBUTE (Bool, InternalDescriptionDerivation, "internaldescriptionderivation") | |
MAXON_ATTRIBUTE (DataType, DeducedType, "net.maxon.node.deducedtype") | |
enum maxon::nodes::PORT_FLAGS | MAXON_ENUM_FLAGS (PORT_FLAGS) |
MAXON_ATTRIBUTE (PORT_FLAGS, PortFlags, "portflags") | |
MAXON_DATATYPE (Chain, "net.maxon.node.datatype.chain") | |
MAXON_ATTRIBUTE (StrongCOWRef< Chain >, ChainCounterPort, "chaincounterport") | |
MAXON_ATTRIBUTE (InternedId, GlobalContext, "globalcontext") | |
MAXON_ATTRIBUTE (InternedId, ScenePortMode, "sceneportmode") | |
MAXON_ATTRIBUTE (Bool, UseAttributeResources, "useattributeresources") | |
MAXON_ATTRIBUTE (Bool, IgnoreBase, "ignorebase") | |
MAXON_ATTRIBUTE (Bool, AllowMultipleConnections, "allowmultipleconnections") | |
MAXON_ATTRIBUTE (Bool, StreamPort, "streamport") | |
MAXON_ATTRIBUTE (Bool, RerouterPort, "rerouterport") | |
MAXON_REGISTRY (GraphAttribute, Attributes, "net.maxon.node.registry.attributes") | |
MAXON_REGISTRY (NodeSpaceRef, MaterialNodeSpaces, "net.maxon.nodes.registry.materialnodespaces") | |
MAXON_DECLARATION (Class< NodeSpaceRef >, NodeSpaceBaseClass, "net.maxon.class.nodespace.base") | |
enum maxon::nodes::UNDO_MODE | MAXON_ENUM_LIST (UNDO_MODE) |
MAXON_ATTRIBUTE (UNDO_MODE, UndoMode, "net.maxon.nodes.undomode") | |
MAXON_ATTRIBUTE (Bool, NimbusUndoAttribute, "net.maxon.nodes.nimbusundoattribute") | |
MAXON_DATATYPE (PackedMaterialParameter, "net.maxon.nodes.datatype.packedmaterialparameter") | |
MAXON_DATATYPE (PreviewImageProviderOutputImage, "net.maxon.nodes.datatype.previewimageprovideroutputimage") | |
Variables | |
maxon::nodes::NodeSystemManagerInterface | MAXON_ENUM_FLAGS |
maxon::nodes::NodeSystemInterface | MAXON_ENUM_LIST |
static constexpr Char | g_corePrefix [] |
static constexpr Char | g_lifetimeNodePrefix |
static constexpr Char | g_userNodeIdSeperator |
PortGroup_PrivateAttribute | PortGroup |
AllowDynamicArgument_PrivateAttribute | AllowDynamicArgument |
using ComponentAccessDefWithId = Tuple<StrongRef<ComponentAccessType>, Id> |
using LanguageDictionary = DataDictionary |
using PortDescriptionProvider = Delegate<Result<void>(DataDictionary& description, const GraphNode& port, const Id& category)> |
Callback type for port description update/modify events. Overwrite or modify the content of the loaded description based on node graph state, attributes, connections, ...
[in,out] | description | The description to update. |
[in] | port | The path to parse. Content depends on #category. |
[in] | category | The #description category, DATADESCRIPTION_CATEGORY_DATA/UI/STRING. |
using PortEnumDescriptionProvider = Delegate<Result<void>(const GraphNode& port, const CString& additionalArgs, Int enumEntryIdx, DataDictionary& description, const Id& category)> |
Callback type for port description update/modify events. These are called after PortDescriptionProviders if any applies to #port's node. Overwrite or modify the content of the loaded description based on node graph state, attributes, connections, ...
[in] | port | The path to parse. Content depends on #category. |
[in] | additionalArgs | Additional arguments given to the description provider (in the form "memberindex#net.maxon.someid,int" where we have 1 string with 2 additional arguments "net.maxon.someid" and "int"). |
[in] | enumEntryIdx | The index of the registered enumeration entry in DESCRIPTION::DATA::BASE::ENUM (useful for insertion). |
[in,out] | description | The description to update. |
[in] | category | The #description category, DATADESCRIPTION_CATEGORY_DATA/UI/STRING. |
using ConstantOptimizer = Delegate<Result<Data>(const ConstDataPtr& value)> |
using OriginalGraph = Tuple<nodes::NodesGraphModelRef, TimeStamp> |
using GNodeSelector = typename std::conditional<MUTABLE, MutableGNode, GNode>::type |
The type alias GNodeSelector selects between MutableGNode (mutable case) and GNode (read-only case).
MUTABLE | true for MutableGNode, false for GNode |
using PortListSelector = typename std::conditional<MUTABLE, MutablePortList, PortList>::type |
The type alias PortListSelector selects between MutablePortList (mutable case) and PortList (read-only case).
MUTABLE | true for MutablePortList, false for PortList |
using PortSelector = typename std::conditional<MUTABLE, MutablePort, Port>::type |
The type alias PortSelector selects between MutablePort (mutable case) and Port (read-only case).
MUTABLE | true for MutablePort, false for Port |
using Connection = Tuple<Port, Wires> |
The type alias @CLASS contains the connected port in its first member and the Wires of the connection in its second member. So it's rather a half-connection since the starting port isn't contained. Connections are reported by PortFunctions::GetConnections.
using MutableConnection = Tuple<MutablePort, Wires> |
The type alias @CLASS contains the connected port in its first member and the Wires of the connection in its second member. So it's rather a half-connection since the starting port isn't contained. Connections are reported by PortFunctions::GetConnections.
using ConnectionSelector = typename std::conditional<MUTABLE, MutableConnection, Connection>::type |
The type alias ConnectionSelector selects between MutableConnection (mutable case) and Connection (read-only case).
MUTABLE | true for MutableConnection, false for Connection |
using NodeSelector = typename std::conditional<MUTABLE, MutableNode, Node>::type |
The type alias NodeSelector selects between MutableNode (mutable case) and Node (read-only case).
MUTABLE | true for MutableNode, false for Node |
using PortFunctionsSuper = typename std::conditional<BASE::HAS_ERROR, typename std::conditional<BASE::MUTABLE, MutablePortListFunctions<BASE>, PortListFunctions<BASE> >::type, PortListSelector<BASE::MUTABLE> >::type |
using NodePathArraySet = ArraySet<NodePath, true, FastNodePathHash> |
using SampleFloat32 = Vec4<Float32> |
Convenience definitions for the immutable preview image.
using SamplesFloat32 = BaseArray<SampleFloat32> |
using SamplesFloat32Ref = StrongRef<SamplesFloat32> |
using SamplesFloat32ConstRef = StrongRef<const SamplesFloat32> |
using PreviewImageSubscriptionResultFunc = Delegate<void(PREVIEW::STAGE stage, const ImageTextureRef& image)> |
This delegate defines the informer about preview image results for an observed node as visible in the node previews of the attribute manager as well as the material node editor. The preview computations are performed as asynchronous streams and dispatched to all registered PreviewImageSubscriptionResultFunc delegates. Because the call to PreviewImageSubscriptionResultFunc is blocking for preview computations it is recommended to keep its implementation light-weight and hand over heavier computations to another job.
Generally, a change in the observed node will trigger such a state transition: CALCULATING -> CALCULATING -> CALCULATING -> FINISHED | THREADCANCELLED | ERROR The amount of CALCULATING steps depends on how the executed PreviewImageProvider handles progressive results.
The provided image may be null on error, cancellation or at first calculation @stage. Is it prohibited to modify the provided image in any way. Shared ownership with other observers must be assumed.
[in] | stage | The state of the preview result. |
[in] | image | The preview image result, may be null. |
|
strong |
Type of the PortConnectionState attribute.
|
strong |
This enum class contains a set of flags which can be queried for g-nodes. The flags can't be set directly, they are either set at creation of a port (see MutablePortListFunctions::AddPort) or derived automatically during node system validation.
Enumerator | |
---|---|
NONE | No flag set. |
DIRECT_PORT | This flag is set for a port which has been created directly by user code, as opposed to derived ports (DERIVED_PORT_INHERITED, DERIVED_PORT_SYNTHESIZED) which are created based on port bundles of connected ports. |
DERIVED_PORT_INHERITED | This flag is set for a port which has been created (or would have been created) during the derivation of inherited ports, namely when a port derives an inner port from an incoming connection from a port bundle.
|
DERIVED_PORT_SYNTHESIZED | This flag is set for a port which has been created (or would have been created) during the derivation of synthesized ports, namely when a port derives an inner port from an outgoing connection to a port bundle.
|
CONTEXT_SOURCE | This flag is set for a port which is a source port of a CONTEXT wire (or which has an enclosing port with that property). |
CONTEXT_TARGET | This flag is set for a port which is a target port of a CONTEXT wire (or which has an enclosing port with that property). |
FUNCTION_INSTANTIATION | This flag is set for a port which has the FunctionParameters attribute set (or which has an enclosing port with that property). Such a port provides a context containing the function parameters, and it instantiates its predecessor subgraph for a compilation into a function. |
CONTEXT_PARAMETER_PORT | This flag is set for the context port of a built-in NODE::CONTEXT::GET node. |
TAPPING_PORT | This flag is set for a port for which the TappingPort attribute is true (or which has an enclosing port with that property). |
DERIVATION_FILTER_SOURCE | This flag can be set for a port to enable connection filtering for derivation: A connection from a port marked in such a way to a port which has the DERIVATION_FILTER_TARGET flag set has to pass the filter function NodeSystemDerivationHandlerInterface::FilterDerivationConnection, otherwise it isn't reported by PortFunctions::GetConnections. |
DERIVATION_FILTER_TARGET | See DERIVATION_FILTER_SOURCE. |
ALL_MASK | Combination of all flags of this enum. |
This enum defines what kind of value a port has.
|
strong |
Type of the PortFlags attribute.
|
strong |
maxon::nodes::MAXON_DATATYPE | ( | ComponentAccessType | , |
"net.maxon.nodes.datatype.componentaccesstype" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | Id | , |
ComponentAccessBundle | , | ||
"componentaccessbundleport2" | |||
) |
This attribute gets set on a bundle port using component access. The given id should be an element of a ComponentAccessTypeDef registry. Hence the port will know which access node to use for showing child ports.
maxon::nodes::MAXON_ATTRIBUTE | ( | Id | , |
ComponentAccessChild | , | ||
"componentaccesschild2" | |||
) |
This attribute is set for a component access child port (child of the bundle port). The given id links to the same definition as the parent port's ComponentAccessBundle. ComponentAccessBundle and ComponentAccessChild can be combined for nested component access.
maxon::nodes::MAXON_ATTRIBUTE | ( | ComponentAccessDefWithId | , |
ComponentAccessDefAttr | , | ||
"componentaccessdef" | |||
) |
This attribute is set for a component access bundle ports which can potentially use access ports. It links to a definition in either InPortComponentAccessTypes or OutPortComponentAccessTypes.
maxon::nodes::MAXON_REGISTRY | ( | ComponentAccessDef | , |
InPortComponentAccessTypes | , | ||
"net.maxon.node.registry.inportcomponentaccess" | |||
) |
maxon::nodes::MAXON_REGISTRY | ( | ComponentAccessDef | , |
OutPortComponentAccessTypes | , | ||
"net.maxon.node.registry.outportcomponentaccess" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | void | , |
NodeCategoryExistingNodes | , | ||
"net.maxon.nodecategory.existingnodes" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | DataDictionary | , |
PortDescriptionData | , | ||
"portDescriptionData" | |||
) |
Data/Ui/String description of a node port.
maxon::nodes::MAXON_ATTRIBUTE | ( | DataDictionary | , |
PortDescriptionUi | , | ||
"portDescriptionUi" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | LazyLanguageDictionary | , |
PortDescriptionStringLazy | , | ||
"portDescriptionStringLazy" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | DataDescriptionDefinition | , |
NodeDescriptionData | , | ||
"nodeDescriptionData" | |||
) |
Data/Ui/String description of a node.
maxon::nodes::MAXON_ATTRIBUTE | ( | DataDescriptionDefinition | , |
NodeDescriptionUi | , | ||
"nodeDescriptionUi" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | LazyLanguageStringDataDescriptionDefinition | , |
NodeDescriptionStringLazy | , | ||
"nodeDescriptionStringLazy" | |||
) |
maxon::nodes::MAXON_REGISTRY | ( | PortDescriptionProvider | , |
PortDescriptionProviders | , | ||
"net.maxon.nodes.portdescriptionproviders" | |||
) |
PortDescriptionProvider registry, keys are the node resource ids. Values are the delegates. Delegate will get called every time the node's description has to be updated. Hence the provider will affect the description of all node instance of the "key" node.
maxon::nodes::MAXON_REGISTRY | ( | PortEnumDescriptionProvider | , |
PortEnumDescriptionProviders | , | ||
"net.maxon.nodes.portenumdescriptionproviders" | |||
) |
PortEnumDescriptionProvider registry, keys are the enum token ids. Values are the delegates. Delegate will get called every time a node's description gets updated if the node uses the key as a special enum entry. For instance a Resource Editor enum entry to list all align options would look like this "enum#net.maxon.neutron.datatype.enum.alignaxis" where the token identifier is "enum". This is similar to ProcessEnumListDelegates registry but here you have access to the node graph.
maxon::nodes::MAXON_DATATYPE | ( | NodeOrTemplate | , |
"net.maxon.node.datatype.nodeortemplate" | |||
) |
maxon::nodes::MAXON_INTERNED_ID | ( | "net.maxon.node.port.nodesystem" | , |
NodeSystemPort | |||
) |
maxon::nodes::MAXON_DECLARATION | ( | NodeSystemClass | , |
BaseCoreNodesNodeSystemClass | , | ||
"net.maxon.corenode.basenodesystemclass" | |||
) |
This is the base class of node systems which are aware of core nodes. You can inherit from this class to implement your own node space which shall use core nodes to do constant evaluation during validation.
maxon::nodes::MAXON_DECLARATION | ( | NodeSystemClass | , |
CoreNodesNodeSystemClass | , | ||
"net.maxon.corenode.nodesystemclass" | |||
) |
This is the base class of true core-node-based node systems. While BaseCoreNodesNodeSystemClass uses core nodes only to do constant evaluation, a node system based on CoreNodesNodeSystemClass can be compiled into a core node system.
maxon::nodes::MAXON_DECLARATION | ( | Factory< DescriptionProcessor(Delegate< Result< Bool >(const NodeSystemClass &cls)> &&support)> | , |
CoreNodesDescriptionProcessor | , | ||
"net.maxon.corenode.factory.descriptionprocessor" | |||
) |
This factory can be used to create a DescriptionProcessor which builds core-node-based nodes from descriptions. The method NodeTemplateInterface::SupportsImpl of the built node template is implemented by the delegate passed to the factory, so you can easily set up a filter which enables the node only for a specific node system class:
maxon::nodes::MAXON_REGISTRY | ( | ConstantOptimizer | , |
ConstantOptimizers | , | ||
"net.maxon.nodes.registry.constantoptimizers" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
FunctionResult | , | ||
"functionresult" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
NoCleanupOnFinalize | , | ||
"skipfinalizemodification" | |||
) |
This attribute can be set at a root node to skip the cleanup during NodeSystemClassFinalizeModification. The usual cleanup made by BaseCoreNodesNodeSystemClass and its subclasses contains the removal of unconnected propagated ports and of description entries which belong to no longer existing ports.
maxon::nodes::MAXON_REGISTRY | ( | ImportAdapter | , |
ImportAdapters | , | ||
"net.maxon.node.registry.importadapters" | |||
) |
The registry of ImportAdapter objects.
class NodeTemplate MAXON_FORWARD | ( | "maxon/nodetemplate.h" | ) |
maxon::nodes::MAXON_ATTRIBUTE | ( | void | , |
Messages | , | ||
"messages" | |||
) |
enum maxon::nodes::PORT_CONNECTION_STATE maxon::nodes::MAXON_ENUM_FLAGS | ( | PORT_CONNECTION_STATE | ) |
maxon::nodes::MAXON_ATTRIBUTE | ( | PORT_CONNECTION_STATE | , |
PortConnectionState | , | ||
"portconnectionstate" | |||
) |
The PortConnectionState attribute is a derived attribute which can be queried at a port to get some information about the port connection state (see also PORT_CONNECTION_STATE). For input ports the information is about incoming connections, for output ports about outgoing connections.
maxon::nodes::MAXON_DECLARATION | ( | Class< NodeSystemManagerRef > | , |
NodeSystemManagerClass | , | ||
"net.maxon.node.class.nodesystemmanager" | |||
) |
The default implementation of NodeSystemManagerInterface. This class has to be used as base class for custom implementations.
maxon::nodes::MAXON_DECLARATION | ( | Class< NodesGraphModelRef > | , |
NodesGraphModelClass | , | ||
"net.maxon.node.class.nodesgraphmodel" | |||
) |
The default implementation of NodesGraphModelInterface. This class has to be used as base class for custom implementations.
Result<MutableNode> maxon::nodes::ToMutableNode | ( | const GraphNode & | node | ) |
Converts a GraphNode to a MutableNode. If node doesn't point to a valid true node, an IllegalArgumentError is returned. If there is no active graph transaction, an IllegalStateError is returned.
Result<MutablePortList> maxon::nodes::ToMutablePortList | ( | const GraphNode & | node | ) |
Converts a GraphNode to a MutablePortList. If node doesn't point to a valid port list, an IllegalArgumentError is returned. If there is no active graph transaction, an IllegalStateError is returned.
Result<MutablePort> maxon::nodes::ToMutablePort | ( | const GraphNode & | node | ) |
Converts a GraphNode to a MutablePort. If node doesn't point to a valid port, an IllegalArgumentError is returned. If there is no active graph transaction, an IllegalStateError is returned.
Checks if the given node has the node template asset as a base. See NodeSystemInterface::HasBase().
[in] | asset | The asset identifier of a node template. |
maxon::nodes::MAXON_ATTRIBUTE | ( | OriginalGraph | , |
OriginalGraphAttr | , | ||
"net.maxon.nimbus.originalgraph" | |||
) |
class NodeSystemData maxon::nodes::MAXON_FORWARD | ( | "maxon/nodesystem_data.h" | ) |
class NodeSystemClass MAXON_FORWARD | ( | "maxon/nodesystem_class.h" | ) |
class NodeSystemDerivationHandler maxon::nodes::MAXON_FORWARD | ( | "maxon/nodesystem_derivation.h" | ) |
enum maxon::nodes::GNODE_FLAGS UInt64 maxon::nodes::MAXON_ENUM_FLAGS | ( | GNODE_FLAGS | ) |
enum maxon::nodes::VALUEMODE Char maxon::nodes::MAXON_ENUM_LIST | ( | VALUEMODE | ) |
maxon::nodes::MAXON_DATATYPE | ( | MutableRoot | , |
"net.maxon.node.datatype.mutableroot" | |||
) |
maxon::nodes::MAXON_DECLARATION | ( | NodeSystemClass | , |
DefaultNodeSystemClass | , | ||
"net.maxon.node.nodesystemclass" | |||
) |
The base implementation class of NodeSystemClass. You have to use this class as base class whenever you implement NodeSystemClassInterface. It implements all methods.
maxon::nodes::MAXON_DECLARATION | ( | Class< NodeSystemDerivationHandler > | , |
NodeSystemDerivationHandlerBaseClass | , | ||
"net.maxon.node.class.nodesystemderivationhandlerbase" | |||
) |
The base implementation class of NodeSystemDerivationHandler. You can use this class as base class whenever you implement a derivation handler.
ResultOk<const DataType&> maxon::nodes::PrivateGetDataType | ( | TemplateArguments ** | , |
OverloadRank0 | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | Url | , |
BASEPATH | , | ||
"net.maxon.nodes.nodesystem.context.basepath" | |||
) |
PRIVATE.
maxon::nodes::MAXON_REGISTRY | ( | Delegate< Result< void >(const MutableRoot &)> | , |
DescriptionFinalizers | , | ||
"net.maxon.node.registry.descriptionfinalizers" | |||
) |
An InstantiationTrace is used as argument for NodeTemplate::Instantiate to track the nesting of calls to that method and prevent infinite recursions. Whenever an implementation of NodeTemplateInterface::InstantiateImpl calls that method itself, it has to check before that the current instantiation hasn't already been made in an enclosing call (because then we'd run into an infinite recursion), and it has to add the current instantiation to the trace:
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
InheritNestedPorts | , | ||
"inheritnestedports" | |||
) |
This attribute controls whether nested ports shall be derived for a port or not. The derivation is based on the nested ports of connected source ports, i.e., it goes from left to right. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
SynthesizeNestedPorts | , | ||
"synthesizenestedports" | |||
) |
This attribute controls whether nested ports shall be derived for a port or not. The derivation is based on the nested ports of connected target ports, i.e., it goes from right to left. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
InheritNestedPortsSource | , | ||
"inheritnestedportssource" | |||
) |
This attribute controls whether the port is used as source for the derivation of nested ports. Only if the value is true connected downstream ports will inherit nested ports of this port. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
SynthesizeNestedPortsSource | , | ||
"synthesizenestedportssource" | |||
) |
This attribute controls whether the port is used as source for the derivation of nested ports. Only if the value is true connected upstream ports will inherit nested ports of this port. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
InheritPortSource | , | ||
"inheritportsource" | |||
) |
This attribute controls whether the port is used as source for the derivation of nested ports. Only if the value is true this port will be inherited to a connected downstream port of its parent port. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
SynthesizePortSource | , | ||
"synthesizeportsource" | |||
) |
This attribute controls whether the port is used as source for the derivation of nested ports. Only if the value is true this port will be inherited to a connected upstream port of its parent port. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
SynthesizeTypeSource | , | ||
"synthesizetypesource" | |||
) |
This attribute controls whether the port is used as source for the derivation of the data type. Only if the value is true connected upstream ports will use the data type in the derivation. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
LoopDependencySource | , | ||
"loopdependencysource" | |||
) |
This attribute has to be set to true for a port which is the source of a loop-carried dependency. Corresponding targets have to be marked with LoopDependencyTarget and reachable through dependency wires, where the first wire (starting at the source) needs to have a parallel slink wire and the last wire (reaching the target) needs to have a parallel tlink wire.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
LoopDependencyTarget | , | ||
"loopdependencytarget" | |||
) |
This attribute has to be set to true for a port which is the target of a loop-carried dependency, see LoopDependencySource.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
Dynamic | , | ||
"dynamic" | |||
) |
This attribute tells whether the port's value is usually set or computed at run-time of the compiled node system. You have to mark all run-time inputs of a node system with this flag, also a node with an underlying computation method for the values of its output ports (for example, a core node wrapper) has to set this value for all of its outputs. Note that the value of the port may still be computed at compile-time as a constant value during validation if all required inputs have constant values.
The value of this attribute must not be modified after first validation.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
TransientDynamic | , | ||
"transientdynamic" | |||
) |
This attribute is similar to Dynamic, but it may be modified after first validation and won't be serialized. It's used for ports which are dynamic due to node-system-external circumstances, for example when a port's value is animated from the outside.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
TemplateParameter | , | ||
"templateparameter" | |||
) |
This attribute has to be set for input ports which define a template parameter of a NodeTemplate. It enables a special handling of those ports during validation: Whenever the constant value of such a port doesn't match the value used for the template instantiation the template is re-instantiated with the derived constant value as argument for the template parameter, and the new instantiation replaces the previous one in the node system.
It is an error if no constant value can be derived for such a port unless the AllowDynamicArgument flag is set.
A variadic port which is a template parameter of a NodeTemplate has to be marked with DESCRIPTION::DATA::BASE::ISVARIADIC instead, this also activates the special handling.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
AllowDynamicArgument | , | ||
"allowdynamicargument" | |||
) |
This attribute can be set in addition to TemplateParameter to allow dynamic values as arguments for the template parameter. Usually a dynamic (non-constant) value is an error, but when this flag is enabled an empty Data is used as template argument instead. This can be used by templates which allow for optimized instantiations for certain constant values (such as 0 or 1) and otherwise use a generic instantiation. Deprecated.
maxon::nodes::MAXON_ATTRIBUTE | ( | DataType | , |
TypeTemplateParameter | , | ||
"porttypetemplateparameter" | |||
) |
This attribute has to be set for input ports whose PortType defines a template parameter of a NodeTemplate. Similar to TemplateParameter it enables a special handling of those ports during validation: whenever the port type of such a port doesn't match the value used for the template instantiation (which can be found in the TemplateArgument attribute of the port) the template is re-instantiated with the port type as argument for the template parameter, and the new instantiation replaces the previous one in the node system.
The value of this attribute is not just a Bool but a DataType which defines a constraint for the allowed template arguments (using the function DataType::IsBaseOfOrSame). For example
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
BundleTemplateParameter | , | ||
"bundletemplateparameter" | |||
) |
This attribute has to be set for ports whose set of nested ports defines a template parameter of a NodeTemplate. Similar to TemplateParameter it enables a special handling of those ports during validation: whenever the set of nested ports of such a port doesn't match the value used for the template instantiation the template is re-instantiated with the set as argument for the template parameter, and the new instantiation replaces the previous one in the node system.
maxon::nodes::MAXON_ATTRIBUTE | ( | Data | , |
TemplateArgument | , | ||
"templateargument" | |||
) |
This attribute is a computed attribute which can be queried for template parameter ports and returns the actually used template argument for that parameter. Usually this is the same as the ConstantValue, but there are cases where both differ, for example if ConstantValue has an illegal template argument which the node template substitutes by a legal one.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
StickyTypeTemplateParameter | , | ||
"stickyporttypetemplateparameter" | |||
) |
This attribute is useful only when combined with TypeTemplateParameter attribute (true). Otherwise, the attribute just has no effect. It allows the template argument to stick to the port even if the type template source port is disconnected. In other words, the port will remember the last data type that was connected to it even if disconnected. Usually, this allows to have a NodeTemplate maintain its outputs after a template input is disconnected, otherwise outgoing connections could be lost. If false, a NodeTemplate will get reinstantiated after disconnection of the template input. The sticky (true) state is useful when some output ports are defined from the type template argument (to avoid losing ports). By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Error | , |
TemplateError | , | ||
"templateerror" | |||
) |
Set a detailed node template error in this attribute to indicate graph validation failure using a red colored node or group. The message will be visible to users, so it shall be readable. This error is quite useful to avoid cases of incompatible scenes after type changes or type removal.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
ConstantParameter | , | ||
"constantparameter" | |||
) |
This attribute has to be set for input ports which require a constant value. Whenever the user connects the port in a way such that a constant value for the port can't be computed, this is an error in the node setup.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
SynthesizeDefaultValue | , | ||
"synthesizevalue" | |||
) |
This attribute can be set by a NodeTemplate at a port to prevent the derivation of a DefaultValue for that port. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
TappingPort | , | ||
"tappingport" | |||
) |
This attribute has to be set for ports whose values shall be accessible at evaluation time.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
IsGroup | , | ||
"isgroup" | |||
) |
When this attribute is true for a root node of a node system then that node system can be converted to a user-editable group.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
IndissolubleGroup | , | ||
"indissolublegroup" | |||
) |
When this attribute is true for a group node this means that the group can't be dissolved into its components (e.g. because it has some extra semantics like ports which receive context or hidden nodes inherited from a base).
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
Permanent | , | ||
"permanent" | |||
) |
This attribute has to be set to true for ports which mustn't be deleted.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
HiddenFromInside | , | ||
"hiddeninside" | |||
) |
This attribute can be set to true for ports which shall be hidden when seen from the inside (so when they belong to the group which is currently shown in the node editor).
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
HiddenFromOutside | , | ||
"hiddenoutside" | |||
) |
This attribute can be set to true for ports which shall be hidden when seen from the outside (so when they belong to a child node of the group which is currently shown in the node editor).
maxon::nodes::MAXON_ATTRIBUTE | ( | DataType | , |
FixedPortType | , | ||
"fixedtype" | |||
) |
This attribute has to be set for input or output ports which have a known fixed type (as opposed to a port with a dynamic type which is derived from e.g. its connections).
maxon::nodes::MAXON_ATTRIBUTE | ( | DataType | , |
DynamicTypeConstraint | , | ||
"dynamictypeconstraint" | |||
) |
This attribute has to be set for input ports with a dynamic type when there shall be a constraint on the set of allowed types. This is not needed for TypeTemplateParameter ports because there the constraint is automatically to the value of the TypeTemplateParameter attribute. The value of this attribute is used for the derivation of the SynthesizedType.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
EnforceType | , | ||
"enforcetype" | |||
) |
This attribute can be set to true for a port which has a valid FixedPortType to enforce that values flowing through that port are converted to the port type. It is only needed for ports which just forward the value. For example the ports of a wrapped core node dont't have to set this attribute because value forwarding ends at those ports anyway, but the value node needs to set it because it just forwards values from its input port to its output port. Without this attribute the port types of intermediate ports are ignored.
maxon::nodes::MAXON_ATTRIBUTE | ( | DataType | , |
SynthesizedType | , | ||
"synthesizedtype" | |||
) |
This derived attribute tells about the synthesized type of an input or output port. The type is derived from right to left. For ports which have a FixedType, the synthesized type is the same as that type. For ports with a variable type such as input ports with a TypeTemplateParameter or a DynamicTypeConstraint the synthesized type is a constraint which defines the minimal requirements for the actual port type.
The value of this attribute is set automatically during validation depending on the port and its connections.
maxon::nodes::MAXON_ATTRIBUTE | ( | DataType | , |
OutputTypeConstraint | , | ||
"outputtypeconstraint" | |||
) |
This derived attribute tells about the type constraint of an output port. This is only needed in the context of TypeTemplateParameter output ports. The type constraint is derived from left to right. For ports which have a FixedType, the type constraint is the same as that type. Otherwise, for ports with a variable type such as output ports with a TypeTemplateParameter the constraint defines the minimal requirements for the actual port type.
The value of this attribute is set automatically during validation depending on the port and its connections.
maxon::nodes::MAXON_ATTRIBUTE | ( | DataType | , |
PortType | , | ||
"type" | |||
) |
This derived attribute tells about the effective type of an input or output port. It is set automatically during validation depending on the port and its connections.
maxon::nodes::MAXON_ATTRIBUTE | ( | TupleDataType | , |
FunctionParameters | , | ||
"functionparams" | |||
) |
You have to set this attribute at the final port of a subgraph which shall be compiled into a function. The members of the given TupleDataType are the function parameters, and the port (and its nested ports) define the function results. The function parameters become context members of the subgraph, so they can be queried anywhere in that subgraph by using ports with a matching ContextReference attribute.
maxon::nodes::MAXON_ATTRIBUTE | ( | InternedId | , |
ContextReference | , | ||
"ctxref" | |||
) |
You have to set this attribute at a port which, when it doesn't receive a value through a connection or a default value, shall receive the value from the context member identified by the given InternedId.
maxon::nodes::MAXON_ATTRIBUTE | ( | InternedId | , |
ContextDefinition | , | ||
"ctxdef" | |||
) |
You have to set this attribute at a port which is used to provide values for context members if the port's name doesn't match the desired name of the context members.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
ExternalContext | , | ||
"externalcontext" | |||
) |
You have to set this attribute if a port shall define context members for its immediately enclosing port.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
CreatedByPropagation | , | ||
"net.maxon.node.createdbypropagation" | |||
) |
A port can be marked with this flag if it has been created by propagation of a port of an inner node to its enclosing node. Then it will automatically be removed by NodeSystemClassInterface::FinalizeModification when the inner propagation connection is removed.
maxon::nodes::MAXON_ATTRIBUTE | ( | NodePath | , |
PortGroup | , | ||
"net.maxon.node.portgroup" | |||
) |
A port can be put into a port group by this attribute. The port group is only used for visual purposes, it has no functional meaning. The NodePath is used as a group path, so if a port shall be part of a top-level group then use a NodePath of one element, for a nested group you have to use more path elements. Deprecated.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
OverrideOrderIndex | , | ||
"overrideorderindex" | |||
) |
This attribute can be set on ports for which a NodeTemplate wants to keep control over the ordering of some or all of it's ports. If set to true, the NODE::ATTRIBUTE::ORDERINDEX set on the port by the NodeTemplate will be kept when resources are applied on the node. By default the value of this attribute is false.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
ForceVariadicPortNameDerivation | , | ||
"forcevariadicportnamederivation" | |||
) |
This attribute is set to enforce the name derivation mechanism for variadic ports.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
DisableVariadicPortNameDerivation | , | ||
"disablevariadicportnamederivation" | |||
) |
This attribute is set to prevent the name derivation mechanism for variadic ports. DisableVariadicPortNameDerivation will override ForceVariadicPortNameDerivation (if latter is set to true, i.e. it is applied after ForceVariadicPortNameDerivation).
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
InternalDescriptionDerivation | , | ||
"internaldescriptionderivation" | |||
) |
This attribute can be set on a node to restrict description derivation to the node itself. Any connected nodes aren't considered for description derivation. This can help to speed up description derivation when a node knows that its descriptions are self-contained.
The value of this attribute must not be modified after first validation.
maxon::nodes::MAXON_ATTRIBUTE | ( | DataType | , |
DeducedType | , | ||
"net.maxon.node.deducedtype" | |||
) |
This attribute is set internally within groups to pass the port type of the enclosing node system to the group's input, this helps to ensure correct template instantiations within groups if the template arguments stem from an enclosing node system.
enum maxon::nodes::PORT_FLAGS maxon::nodes::MAXON_ENUM_FLAGS | ( | PORT_FLAGS | ) |
maxon::nodes::MAXON_ATTRIBUTE | ( | PORT_FLAGS | , |
PortFlags | , | ||
"portflags" | |||
) |
The PortFlags attribute is a derived attribute which can be queried at a port to get some information about the port, see PORT_FLAGS.
maxon::nodes::MAXON_DATATYPE | ( | Chain | , |
"net.maxon.node.datatype.chain" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | StrongCOWRef< Chain > | , |
ChainCounterPort | , | ||
"chaincounterport" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | InternedId | , |
GlobalContext | , | ||
"globalcontext" | |||
) |
This attribute can be set for ports which shall receive a global context value. Such a global context value can't be overridden in the node system. The value of this attribute identifies which global context value shall be set for the port.
maxon::nodes::MAXON_ATTRIBUTE | ( | InternedId | , |
ScenePortMode | , | ||
"sceneportmode" | |||
) |
The ScenePortMode attribute is a derived attribute which can be queried at a port to get the NODE::ATTRIBUTE::SCENEPORTMODE attribute with the exception that for a variadic port the value of ScenePortMode is always SCENEPORTMODE_ENUM_NONE. This is useful because a variadic scene port has a scene port mode, but is no scene port itself (only its instances are).
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
UseAttributeResources | , | ||
"useattributeresources" | |||
) |
This attribute can be set to true for port bundles if the resources of member ports shall be obtained from attribute resources.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
IgnoreBase | , | ||
"ignorebase" | |||
) |
This attribute can be set to true for nodes that will ignore their first base in HasBase and GetAllBases calls.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
AllowMultipleConnections | , | ||
"allowmultipleconnections" | |||
) |
This attribute has to be set to true for ports which shall allow the creation of multiple incoming connections via the node editor.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
StreamPort | , | ||
"streamport" | |||
) |
This flag can be set for streamed output ports of iteration nodes and streamed input port of aggregation nodes to enable extra indication in the node editor.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
RerouterPort | , | ||
"rerouterport" | |||
) |
This attribute is set to true for the input and output ports of a reroute node.
maxon::nodes::MAXON_REGISTRY | ( | GraphAttribute | , |
Attributes | , | ||
"net.maxon.node.registry.attributes" | |||
) |
This registry contains GraphAttributes which implement a special handling of the attribute for node systems, see NodeSystemClassInterface::GetGraphAttribute. You can use this to register your own attributes, for example to register an attribute which shall be transient (not saved during serialization):
maxon::nodes::MAXON_REGISTRY | ( | NodeSpaceRef | , |
MaterialNodeSpaces | , | ||
"net.maxon.nodes.registry.materialnodespaces" | |||
) |
The registry of all material node spaces. This registry is monitored for changes by Cinema4d. Add and remove operations are picked up by GUI components, offering the user to select among the registered spaces.
maxon::nodes::MAXON_DECLARATION | ( | Class< NodeSpaceRef > | , |
NodeSpaceBaseClass | , | ||
"net.maxon.class.nodespace.base" | |||
) |
The base components implements the thread-safe paradigm for data change notification, including
It is encouraged to make use of the NodeSpaceBaseClass:
enum maxon::nodes::UNDO_MODE maxon::nodes::MAXON_ENUM_LIST | ( | UNDO_MODE | ) |
maxon::nodes::MAXON_ATTRIBUTE | ( | UNDO_MODE | , |
UndoMode | , | ||
"net.maxon.nodes.undomode" | |||
) |
UndoMode controls the automatic creation of an undo entry in the undo buffer. Usually an entry in the undo buffer of Cinema 4D is added whenever a transaction is started for the currently edited node graph. If you set this attribute to UNDO_MODE::NONE in the dictionary which is passed to GraphModelRef::BeginTransaction no undo entry is added.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
NimbusUndoAttribute | , | ||
"net.maxon.nodes.nimbusundoattribute" | |||
) |
maxon::nodes::MAXON_DATATYPE | ( | PackedMaterialParameter | , |
"net.maxon.nodes.datatype.packedmaterialparameter" | |||
) |
maxon::nodes::MAXON_DATATYPE | ( | PreviewImageProviderOutputImage | , |
"net.maxon.nodes.datatype.previewimageprovideroutputimage" | |||
) |
struct maxon::nodes::Chain MAXON_ENUM_FLAGS |
class maxon::nodes::GraphSetUndoMode MAXON_ENUM_LIST |
|
staticconstexpr |
|
staticconstexpr |
Lifetime node identifier prefix. The rest of the identifier is the identifier of the associated port. For instance: ".containerin". Private.
|
staticconstexpr |
Private.
|
extern |
|
extern |