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 | NodesDescriptionAssetApplyFinalizer = Delegate< Result< void >(const NodeDescriptionAsset &asset, const GraphNode &, const DataDictionary &)> |
using | ConstantOptimizer = Delegate< Result< Data >(const ConstDataPtr &value)> |
using | OriginalGraph = Tuple< nodes::NodesGraphModelRef, TimeStamp > |
using | NodesGraphHelper = NodesGraphHelpersInterface |
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_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_PORTTYPE_DEPENDENCY , USED_FOR_PORTTYPE_DEPENDENCY_MASK , HAS_FIXED_TYPE , USED_FOR_VALUE_MODE_TEMPLATE_ARGUMENT } |
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 , UNKNOWN_CONSTANT } |
enum class | UNDO_MODE { NONE , START , ADD } |
Functions | |
MAXON_DATATYPE (ComponentAccessType, "net.maxon.nodes.datatype.componentaccesstype") | |
MAXON_ATTRIBUTE (Bool, IsComponentAccessBundle, "componentaccessbundleport3", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (Bool, IsComponentAccessChild, "componentaccesschild3", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (ComponentAccessDefWithId, ComponentAccessDefAttr, "componentaccessdef", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (Bool, AllowNestedAccess, "co_allownested") | |
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_ATTRIBUTE (IdAndVersion, AssetId, "net.maxon.node.attribute.assetid", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (Id, RepositoryId, "net.maxon.node.attribute.repositoryid", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (Bool, IsInsideAsset, "net.maxon.node.attribute.isinsideasset", MAXON_ATTRIBUTE_READONLY) | |
enum maxon::nodes::PORT_FLAGS | MAXON_ENUM_FLAGS (PORT_FLAGS) |
MAXON_ATTRIBUTE (DataType, SynthesizedType, "synthesizedtype", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (DataType, OutputTypeConstraint, "outputtypeconstraint", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (DataType, PortType, "type", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (PORT_FLAGS, PortFlags, "portflags", MAXON_ATTRIBUTE_READONLY) | |
MAXON_DATATYPE (NodeOrTemplate, "net.maxon.node.datatype.nodeortemplate") | |
MAXON_INTERNED_ID ("net.maxon.node.port.nodesystem", NodeSystemPort) | |
MAXON_ATTRIBUTE (InternedId, ScaffoldId, "net.maxon.node.attribute.scaffoldid") | |
MAXON_ATTRIBUTE (Bool, IsEditableGroup, "isgroup", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (Bool, IsConvertibleToGroup, "convertibletogroup") | |
MAXON_ATTRIBUTE (Bool, IndissolubleGroup, "indissolublegroup") | |
MAXON_ATTRIBUTE (Bool, IgnoreBase, "ignorebase") | |
MAXON_ATTRIBUTE (Bool, InternalDescriptionDerivation, "internaldescriptionderivation") | |
MAXON_ATTRIBUTE (Asset, AssetInstance, "net.maxon.node.attribute.asset", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (IdAndVersion, OriginalAsset, "net.maxon.node.originalasset") | |
MAXON_ATTRIBUTE (IdAndVersion, CapsuleAssetId, "net.maxon.node.attribute.capsuleassetid", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (Error, ExecutionError, "executionerror") | |
MAXON_ATTRIBUTE (Error, ExecutionMessage, "executionmsg") | |
MAXON_REGISTRY (NodesDescriptionAssetApplyFinalizer, NodesDescriptionAssetApplyFinalizers, "net.maxon.node.registry.asset.nodedescriptionfinalizers") | |
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, InstantiateContextBasePath, "net.maxon.nodes.nodesystem.instantiatecontext.basepath") | |
MAXON_ATTRIBUTE (AssetMetaData, InstantiateContextMeta, "net.maxon.node.nodesystem.instantiatecontext.metadata") | |
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, HierarchicalDynamic, "hierarchicaldynamic") | |
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 (Bool, ValueModeTemplateParameter, "valuemodetemplateparameter") | |
MAXON_ATTRIBUTE (Data, TemplateArgument, "templateargument", MAXON_ATTRIBUTE_READONLY) | |
MAXON_ATTRIBUTE (Bool, StickyTypeTemplateParameter, "stickyporttypetemplateparameter") | |
MAXON_ATTRIBUTE (Error, TemplateError, "templateerror") | |
MAXON_ATTRIBUTE (Bool, ConstantParameter, "constantparameter") | |
MAXON_ATTRIBUTE (Bool, SynthesizePortValue, "synthesizevalue") | |
MAXON_ATTRIBUTE (Bool, TappingPort, "tappingport") | |
MAXON_ATTRIBUTE (Bool, Permanent, "permanent") | |
MAXON_ATTRIBUTE (Bool, HiddenFromInside, "hiddeninside") | |
MAXON_ATTRIBUTE (Bool, HiddenFromOutside, "hiddenoutside") | |
MAXON_ATTRIBUTE (Bool, InternalHidden, "net.maxon.node.attribute.internalhidden") | |
MAXON_ATTRIBUTE (DataType, FixedPortType, "fixedtype") | |
MAXON_ATTRIBUTE (DataType, DynamicTypeConstraint, "dynamictypeconstraint") | |
MAXON_ATTRIBUTE (Bool, EnforceType, "enforcetype") | |
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 (Int, ReqOrderIndex, "net.maxon.node.attribute.orderindex") | |
MAXON_ATTRIBUTE (Int, ReqInsertIndex, "net.maxon.node.attribute.insertindex") | |
MAXON_ATTRIBUTE (Bool, OverrideOrderIndex, "overrideorderindex") | |
MAXON_ATTRIBUTE (Bool, ForceVariadicPortNameDerivation, "forcevariadicportnamederivation") | |
MAXON_ATTRIBUTE (Bool, DisableVariadicPortNameDerivation, "disablevariadicportnamederivation") | |
MAXON_ATTRIBUTE (Bool, InheritUiAttributes, "inherituiattributes") | |
MAXON_ATTRIBUTE (Bool, SynthesizeUiAttributes, "synthesizeuiattributes") | |
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_READONLY) | |
MAXON_ATTRIBUTE (Bool, UseAttributeResources, "useattributeresources") | |
MAXON_ATTRIBUTE (Bool, AllowMultipleConnections, "allowmultipleconnections") | |
MAXON_ATTRIBUTE (Bool, StreamPort, "streamport") | |
MAXON_ATTRIBUTE (Bool, ScopePort, "scopeport") | |
MAXON_ATTRIBUTE (Bool, RerouterPort, "rerouterport") | |
MAXON_ATTRIBUTE (Bool, FloatingPort, "floatingport") | |
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 | |
static const IsEditableGroup_PrivateHelper & | IsGroup |
static constexpr Char | g_corePrefix [] |
static constexpr Char | g_lifetimeNodePrefix |
static constexpr Char | g_userNodeIdSeparator |
maxon::nodes::NodeSystemManagerInterface | MAXON_ENUM_FLAGS |
maxon::nodes::NodeSystemInterface | MAXON_ENUM_LIST |
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 NodesDescriptionAssetApplyFinalizer = Delegate<Result<void>(const NodeDescriptionAsset& asset , const GraphNode&, const DataDictionary&)> |
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 PortFlags attribute.
|
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 |
maxon::nodes::MAXON_DATATYPE | ( | ComponentAccessType | , |
"net.maxon.nodes.datatype.componentaccesstype" | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
IsComponentAccessBundle | , | ||
"componentaccessbundleport3" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
This attribute is true on a port which has component access children ports.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
IsComponentAccessChild | , | ||
"componentaccesschild3" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
This attribute is true for a component access child port.
maxon::nodes::MAXON_ATTRIBUTE | ( | ComponentAccessDefWithId | , |
ComponentAccessDefAttr | , | ||
"componentaccessdef" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
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_ATTRIBUTE | ( | Bool | , |
AllowNestedAccess | , | ||
"co_allownested" | |||
) |
This attribute is set in a component access' definition meta data to enable use of nested access ports. For instance to enable showing decomposed X Y Z ports under a matrix's translation access port.
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 descriptions of a group node. Set from Resource Editor/Node Editor while group resources (types, default values, ...) are edited.
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_ATTRIBUTE | ( | IdAndVersion | , |
AssetId | , | ||
"net.maxon.node.attribute.assetid" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
Id of the asset. Not set in case the node is not an asset (group). The value of this attribute is set automatically upon first request.
maxon::nodes::MAXON_ATTRIBUTE | ( | Id | , |
RepositoryId | , | ||
"net.maxon.node.attribute.repositoryid" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
Id of the database where the object is stored. The value of this attribute is set automatically upon first request.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
IsInsideAsset | , | ||
"net.maxon.node.attribute.isinsideasset" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
True if the node is inside an asset and, thus, not user-accessible during editing of node graph.
enum maxon::nodes::PORT_FLAGS maxon::nodes::MAXON_ENUM_FLAGS | ( | PORT_FLAGS | ) |
maxon::nodes::MAXON_ATTRIBUTE | ( | DataType | , |
SynthesizedType | , | ||
"synthesizedtype" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
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 FixedPortType, 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" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
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 FixedPortType, 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" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
This derived attribute tells about the effective type of an input or output port. The value of this attribute is set automatically during validation depending on the port and its connections.
maxon::nodes::MAXON_ATTRIBUTE | ( | PORT_FLAGS | , |
PortFlags | , | ||
"portflags" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
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 | ( | NodeOrTemplate | , |
"net.maxon.node.datatype.nodeortemplate" | |||
) |
maxon::nodes::MAXON_INTERNED_ID | ( | "net.maxon.node.port.nodesystem" | , |
NodeSystemPort | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | InternedId | , |
ScaffoldId | , | ||
"net.maxon.node.attribute.scaffoldid" | |||
) |
Id of the scaffold to which the node is attached. Optional.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
IsEditableGroup | , | ||
"isgroup" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
When this attribute is true for the root node of a node system then that node system is a user-editable group. By default, a node system is a user-editable group unless it's a direct instantiation of a non-group template (a template where IsGroupBase() returns false) or an instance of such an instantiation.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
IsConvertibleToGroup | , | ||
"convertibletogroup" | |||
) |
This attribute can be set to true for a root node of a template instantiation to tell that the instantiation 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, for example the loop-carried-value node).
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 | , |
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 | ( | Asset | , |
AssetInstance | , | ||
"net.maxon.node.attribute.asset" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
This attribute contains the node asset's instance. AssetInstance is DerivedAttribute::KIND::COMPUTED and cannot be written to.
maxon::nodes::MAXON_ATTRIBUTE | ( | IdAndVersion | , |
OriginalAsset | , | ||
"net.maxon.node.originalasset" | |||
) |
Set when an asset is converted to group, reset when the group is saved as asset.
maxon::nodes::MAXON_ATTRIBUTE | ( | IdAndVersion | , |
CapsuleAssetId | , | ||
"net.maxon.node.attribute.capsuleassetid" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
maxon::nodes::MAXON_ATTRIBUTE | ( | Error | , |
ExecutionError | , | ||
"executionerror" | |||
) |
Set a detailed node error in this attribute to indicate graph execution failure. The message will be visible to users, so it shall be readable. The error can be set on any node (including root node) so that users can pinpoint the source of the issue.
maxon::nodes::MAXON_ATTRIBUTE | ( | Error | , |
ExecutionMessage | , | ||
"executionmsg" | |||
) |
Set a detailed node message in this attribute to indicate graph execution non blocking issue. The message will be visible to users, so it shall be readable. The message can be set on any node (including root node) so that users can pinpoint the source of the issue.
maxon::nodes::MAXON_REGISTRY | ( | NodesDescriptionAssetApplyFinalizer | , |
NodesDescriptionAssetApplyFinalizers | , | ||
"net.maxon.node.registry.asset.nodedescriptionfinalizers" | |||
) |
Register delegates to be called after a NodeDescriptionAsset was applied on a node. Transaction will still be opened.
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 | , |
InstantiateContextBasePath | , | ||
"net.maxon.nodes.nodesystem.instantiatecontext.basepath" | |||
) |
PRIVATE.
maxon::nodes::MAXON_ATTRIBUTE | ( | AssetMetaData | , |
InstantiateContextMeta | , | ||
"net.maxon.node.nodesystem.instantiatecontext.metadata" | |||
) |
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 | , |
HierarchicalDynamic | , | ||
"hierarchicaldynamic" | |||
) |
This attribute has the same effect as Dynamic, but works hierarchically and won't be serialized. The value is used not only for the port itself, but also for all of its nested ports unless overridden by a further attribute assignment. It may only be used at unconnected input ports.
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 effective value of such a port doesn't match the value used for the template instantiation, the template is re-instantiated with the effective value as argument for the template parameter, and the new instantiation replaces the previous one in the node system.
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 on a port to allow the node's output to be a VALUE_MODE::CONSTANT (validation time known value). It can be used on meta nodes which often transform a VALUE_MODE::DYNAMIC input into some VALUE_MODE::CONSTANT output. In other words, the attribute will prevent the flags PORT_FLAGS::CONSTANT and PORT_FLAGS::USED_FOR_TEMPLATE_ARGUMENT from propagating from the node's downstream connections to the input port with #AllowDynamicArgument set. By default the value of this attribute is false.
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 | ( | Bool | , |
ValueModeTemplateParameter | , | ||
"valuemodetemplateparameter" | |||
) |
This attribute has to be set for ports whose value mode defines a template parameter of a NodeTemplate. Similar to TemplateParameter it enables a special handling of those ports during validation: whenever the value mode of such a port doesn't match the value used for the template instantiation, the template is re-instantiated with the new mode 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" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
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 EffectivePortValue, but there are cases where both differ, for example if EffectivePortValue 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 NodeTemplate 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 | , |
SynthesizePortValue | , | ||
"synthesizevalue" | |||
) |
This attribute can be set by a NodeTemplate at a port to prevent the derivation of a PortValue 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 | , |
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 | ( | Bool | , |
InternalHidden | , | ||
"net.maxon.node.attribute.internalhidden" | |||
) |
This attribute can be set for nodes or ports to hide them. Defaults to false.
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 taken from 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 | ( | 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. This is deprecated, use PortDescriptionUi for group assignments. Deprecated.
maxon::nodes::MAXON_ATTRIBUTE | ( | Int | , |
ReqOrderIndex | , | ||
"net.maxon.node.attribute.orderindex" | |||
) |
The ReqOrderIndex attribute is used to define the order of ports within the same parent. The values needn't be contiguous, just their relative order matters. Defaults to 0.
maxon::nodes::MAXON_ATTRIBUTE | ( | Int | , |
ReqInsertIndex | , | ||
"net.maxon.node.attribute.insertindex" | |||
) |
The InsertIndex attribute tells about the temporal order in which sibling ports have been added to the graph. This is not to be confused with OrderIndex which defines the actual order to use. Defaults to 0.
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 ReqOrderIndex 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 | , |
InheritUiAttributes | , | ||
"inherituiattributes" | |||
) |
This attribute can be set to false for a port to prevent that UI attributes are inherited from connected upstream ports. By default the value of this attribute is true.
maxon::nodes::MAXON_ATTRIBUTE | ( | Bool | , |
SynthesizeUiAttributes | , | ||
"synthesizeuiattributes" | |||
) |
This attribute can be set to false for a port to prevent that UI attributes are synthesized from connected downstream ports. By default the value of this attribute is true.
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" | , | ||
MAXON_ATTRIBUTE_READONLY | |||
) |
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 | , |
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 | , |
ScopePort | , | ||
"scopeport" | |||
) |
This flag can be set for scope ports 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_ATTRIBUTE | ( | Bool | , |
FloatingPort | , | ||
"floatingport" | |||
) |
This attribute is set to true for the input and output ports of a floating 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" | |||
) |
|
static |
|
staticconstexpr |
|
staticconstexpr |
Lifetime node identifier prefix. The rest of the identifier is the identifier of the associated port. For instance: ".containerin". Private.
|
staticconstexpr |
Private.
maxon::nodes::NodeSystemManagerInterface MAXON_ENUM_FLAGS |
class maxon::nodes::GraphSetUndoMode MAXON_ENUM_LIST |