portattributes.h File Reference

Classes

struct  Chain
 
class  DerivedAttributeInterface
 

Namespaces

 maxon
 
 maxon::nodes
 

Typedefs

using NodePathArraySet = ArraySet< NodePath, true, FastNodePathHash >
 
using NodePathArraySetRef = StrongCOWRef< NodePathArraySet >
 

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_TEMPLATE_MASK
}
 

Functions

 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, ScopePort, "scopeport")
 
 MAXON_ATTRIBUTE (Bool, RerouterPort, "rerouterport")
 
 MAXON_REGISTRY (GraphAttribute, Attributes, "net.maxon.node.registry.attributes")
 

Variables

 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
 
 INHERITED
 
 SYNTHESIZED
 
 COMPUTED
 
 FILTERED
 
 INDUCED_DEPENDENCIES
 
 NODE_PRE
 
 NODE_POST
 
 DERIVED_MASK
 
 SELF
 
 CHILDREN
 
 PARENT
 
 SELF_INPUT
 
 SELF_OUTPUT
 
 VALUE_SOURCES
 
 VALUE_TARGETS
 
 DEP_SOURCES
 
 DEP_TARGETS
 
 VALUE_DEP_SOURCES
 
 VALUE_DEP_TARGETS
 
 SOURCES_MASK
 
 TARGETS_MASK
 
 SHORTCUT_SOURCES
 
 SHORTCUT_TARGETS
 
 INDUCED_SOURCES
 
 INDUCED_TARGETS
 
 CTX_SOURCES_DEEP
 
 CTX_TARGETS_DEEP
 
 SHORTCUT_SOURCES_MASK
 
 SHORTCUT_TARGETS_MASK
 
 SOURCES_ALL
 
 TARGETS_ALL
 
static constexpr Char g_corePrefix []
 
static constexpr Char g_lifetimeNodePrefix
 
static constexpr Char g_userNodeIdSeperator
 
PortGroup_PrivateHelper PortGroup
 
AllowDynamicArgument_PrivateHelper AllowDynamicArgument
 

Variable Documentation

◆ NONE

NONE

No flag set.

No flags.

◆ HIDDEN

HIDDEN

The port shall be hidden.

◆ USED_FOR_TEMPLATE_ARGUMENT

USED_FOR_TEMPLATE_ARGUMENT

The port is used for an argument for a TemplateParameter of a node template.

◆ USED_FOR_INPUTPORTTYPE_TEMPLATE_ARGUMENT

USED_FOR_INPUTPORTTYPE_TEMPLATE_ARGUMENT

The port's type is used to deduce an argument for a TypeTemplateParameter of a downstream input port of a node template.

◆ CONSTANT

CONSTANT

It is required that the port has a constant value.

◆ VARIADIC

VARIADIC

The port is a variadic port, possibly with a fixed count (don't confuse with a variadic port instance).

◆ VARIADIC_TEMPLATE

VARIADIC_TEMPLATE

The port is a true variadic port (don't confuse with a variadic port instance). Set in addition to VARIADIC.

◆ INHERITS_NESTED_PORTS

INHERITS_NESTED_PORTS

The port inherits nested ports from upstream ports, see InheritNestedPorts.

◆ SYNTHESIZES_NESTED_PORTS

SYNTHESIZES_NESTED_PORTS

The port synthesizes nested ports from downstream ports, see SynthesizeNestedPorts.

◆ HAS_CHILDREN

HAS_CHILDREN

The port has children (so it's a port bundle or a variadic port).

The attribute depends on the port's property of having children.

◆ USED_FOR_INPUTBUNDLE_TEMPLATE_ARGUMENT

USED_FOR_INPUTBUNDLE_TEMPLATE_ARGUMENT

The port is used for an argument for an BundleTemplateParameter of an input port of a node template.

◆ CHAIN

CHAIN

The port belongs to a chain.

◆ DYNAMIC

DYNAMIC

The port is marked with the Dynamic or TransientDynamic attribute.

◆ USED_FOR_DYNAMIC_TYPE

USED_FOR_DYNAMIC_TYPE

There's a downstream port with dynamic type (see DynamicTypeConstraint) where this port's type may have an influence on.

Any kind of template input flag mask.

◆ USED_FOR_TEMPLATE_MASK

USED_FOR_TEMPLATE_MASK

◆ INHERITED

INHERITED

The attribute is an inherited attribute whose value is derived from values at direct predecessor ports.

◆ SYNTHESIZED

SYNTHESIZED

The attribute is a synthesized attribute whose value is derived from the values at direct successor ports.

◆ COMPUTED

COMPUTED

The attribute is computed on-the-fly whenever its value is requested.

◆ FILTERED

FILTERED

This flag has to be set for inherited or synthesized attributes which shall use the derivation filter for connections.

◆ INDUCED_DEPENDENCIES

INDUCED_DEPENDENCIES

This flag has to be set for inherited or synthesized attributes when the derivation needs induced dependencies as well (see GraphModelInterface::GET_CONNECTIONS_MODE::INDUCED_DEPENDENCIES).

◆ NODE_PRE

NODE_PRE

The attribute is a derived attribute for true nodes which has to be derived before ports.

◆ NODE_POST

NODE_POST

The attribute is a derived attribute for true nodes which has to be derived after ports.

◆ DERIVED_MASK

DERIVED_MASK

Use this to test for derived port attributes (INHERITED or SYNTHESIZED).

◆ SELF

SELF

The attribute depends on another attribute value of the same port. Can be used for node or port attributes.

◆ CHILDREN

CHILDREN

The attribute depends on attribute values of children ports. Can be used for node attributes only.

◆ PARENT

PARENT

The attribute depends on attribute values of parent ports.

◆ SELF_INPUT

SELF_INPUT

The attribute depends on another attribute value of the same port, but only if the port is an input port.

◆ SELF_OUTPUT

SELF_OUTPUT

The attribute depends on another attribute value of the same port, but only if the port is an output port.

◆ VALUE_SOURCES

VALUE_SOURCES

The attribute depends on attribute values of ports of incoming value connections. Can be used for port attributes only.

◆ VALUE_TARGETS

VALUE_TARGETS

The attribute depends on attribute values of ports of outgoing value connections. Can be used for port attributes only.

◆ DEP_SOURCES

DEP_SOURCES

The attribute depends on attribute values of ports of incoming dependency connections. Can be used for port attributes only.

◆ DEP_TARGETS

DEP_TARGETS

The attribute depends on attribute values of ports of outgoing dependency connections. Can be used for port attributes only.

◆ VALUE_DEP_SOURCES

VALUE_DEP_SOURCES

◆ VALUE_DEP_TARGETS

VALUE_DEP_TARGETS

◆ SOURCES_MASK

SOURCES_MASK

◆ TARGETS_MASK

TARGETS_MASK

◆ SHORTCUT_SOURCES

SHORTCUT_SOURCES

The attribute depends on attribute values of ports of incoming connections. Can be used for port attributes only.

◆ SHORTCUT_TARGETS

SHORTCUT_TARGETS

The attribute depends on attribute values of ports of outgoing connections. Can be used for port attributes only.

◆ INDUCED_SOURCES

INDUCED_SOURCES

The attribute depends on attribute values of ports of incoming connections. Can be used for port attributes only.

◆ INDUCED_TARGETS

INDUCED_TARGETS

The attribute depends on attribute values of ports of outgoing connections. Can be used for port attributes only.

◆ CTX_SOURCES_DEEP

CTX_SOURCES_DEEP

The attribute depends on attribute values of ports of incoming context connections. Can be used for port attributes only.

◆ CTX_TARGETS_DEEP

CTX_TARGETS_DEEP

The attribute depends on attribute values of ports of outgoing context connections. Can be used for port attributes only.

◆ SHORTCUT_SOURCES_MASK

SHORTCUT_SOURCES_MASK

◆ SHORTCUT_TARGETS_MASK

SHORTCUT_TARGETS_MASK

◆ SOURCES_ALL

SOURCES_ALL

◆ TARGETS_ALL

TARGETS_ALL