#include <corenodes.h>
CoreNodeInterface represents a micro node group or core node group in a finalized state. You have to set those groups into finalized state by calling MicroNodeGroupRef::Finalize() or CoreNodeGroupRef::Finalize() after you have finished the setup of those groups. These methods return the group as a CoreNode. A CoreNode can't be modified, therefore it uses a const reference class.
Public Types | |
enum | GML_OPTIONS { NONE, DEEP, PORTS, NANO_EMBEDDED, NANO, BLOCK, HIDDEN_PORTS, VERBOSE } |
![]() | |
using | ErrorList = Array< Tuple< PortId, Error > > |
Public Member Functions | |
MAXON_METHOD Bool | IsInvocable () const |
MAXON_METHOD Result< void > | Invoke (const Block< const Tuple< TrivialDataPtr, CORENODE_PORT_FLAGS >> &args) const |
enum maxon::corenodes::CoreNodeInterface::GML_OPTIONS | MAXON_ENUM_FLAGS_CLASS (GML_OPTIONS) |
MAXON_METHOD Result< void > | WriteGml (UrlOrOutputStream &&output, GML_OPTIONS options) const |
MAXON_METHOD Result< void > | ConvertAndInvoke (const Block< const Tuple< TrivialDataPtr, CORENODE_PORT_FLAGS >> &args) const |
![]() | |
const MAXON_METHOD Id & | GetId () const |
MAXON_METHOD void | SetId (const Id &name) |
MAXON_METHOD CoreNodeFactory | GetFactory () const |
const MAXON_METHOD DataDictionary & | GetArguments () const |
MAXON_METHOD void | InitFactory (const CoreNodeFactory &factory, const DataDictionary &args) |
MAXON_METHOD Bool | IsCoreNodeGroup () const |
MAXON_METHOD Int | GetChildCount () const |
const MAXON_METHOD Interface::Instance * | GetChild (Int index) const |
MAXON_FUNCTION Interface::Instance * | GetChild (Int index) |
const MAXON_METHOD Interface::Instance * | FindChild (const Id &name) const |
MAXON_METHOD Int | GetPortCount (PORT_DIR direction) const |
MAXON_METHOD Int | FindPortIndex (const PortId &port) const |
MAXON_METHOD Result< Int > | FindValidPortIndex (const PortId &port) const |
const MAXON_METHOD PortInfo & | GetPortInfo (const PortId &port) const |
MAXON_METHOD Result< const PortInfo & > | GetValidPortInfo (const PortId &port) const |
MAXON_METHOD Result< Int > | AddPort (PORT_DIR direction, const Id &name, const DataType &type) |
MAXON_METHOD Result< void > | AddPassThrough (const InPortId &input, const OutPortId &output, WIRETYPE wires) |
MAXON_METHOD Result< Data > | GetValue (const InternedId &attr) const |
template<typename ATTR > | |
MAXON_FUNCTION Result< Opt< typename ATTR::ValueType > > | GetValue (const ATTR &attr) const |
MAXON_METHOD Result< void > | SetValue (const InternedId &attr, ForwardingDataPtr &&value) |
template<typename ATTR > | |
MAXON_FUNCTION Result< void > | SetValue (const ATTR &attr, const typename ATTR::ValueType &value) |
template<typename ATTR > | |
MAXON_FUNCTION Result< void > | SetValue (const ATTR &attr, typename ATTR::ValueType &&value) |
MAXON_METHOD HashValue | GetHashValue () const |
MAXON_ATTRIBUTE_CLASS (Bool, Pure, "net.maxon.corenode.pure") | |
MAXON_ATTRIBUTE_CLASS (maxon::corenodes::Optimizer, Optimizer, "net.maxon.corenode.optimizer") | |
MAXON_ATTRIBUTE_CLASS (Id, NodeId, "net.maxon.corenode.nodeid") | |
MAXON_ATTRIBUTE_CLASS (Data, Value, "net.maxon.corenode.value") | |
MAXON_ATTRIBUTE_CLASS (DataType, Type, "net.maxon.corenode.type") | |
MAXON_ATTRIBUTE_CLASS (Id, TypeId, "datatype") | |
MAXON_ATTRIBUTE_CLASS (DataType, InType, "in") | |
MAXON_ATTRIBUTE_CLASS (DataType, OutType, "out") | |
MAXON_ATTRIBUTE_CLASS (DataType, SourceType, "net.maxon.corenode.sourcetype") | |
MAXON_ATTRIBUTE_CLASS (BaseArray< Member >, Members, "net.maxon.corenode.members") | |
MAXON_ATTRIBUTE_CLASS (Int, Count, "net.maxon.corenode.count") | |
MAXON_ATTRIBUTE_CLASS (CONVERSION_FLAGS, ConversionFlags, "net.maxon.corenode.conversionflags") | |
MAXON_ATTRIBUTE_CLASS (String, Message, "net.maxon.corenode.message") | |
MAXON_ATTRIBUTE_CLASS (ErrorList, Errors, "net.maxon.corenode.errors") | |
MAXON_ATTRIBUTE_CLASS (Id, VariableId, "net.maxon.corenode.variableid") | |
MAXON_ATTRIBUTE_CLASS (Array< Id >, Filters, "net.maxon.corenode.filters") | |
MAXON_FUNCTION String | ToString (const FormatStatement *fmt=nullptr) const |
Private Member Functions | |
MAXON_INTERFACE_NONVIRTUAL_DERIVED (CoreNodeInterface, MAXON_REFERENCE_CONST, "net.maxon.corenode.interface.corenode") | |
|
strong |
This enum contains options for the GML output written by WriteGml.
|
private |
MAXON_METHOD Bool IsInvocable | ( | ) | const |
MAXON_METHOD Result<void> Invoke | ( | const Block< const Tuple< TrivialDataPtr, CORENODE_PORT_FLAGS >> & | args | ) | const |
Invokes the core node directly (as opposed to the invocation from within a compiled core node graph). This is only supported for a limited set of core nodes, see IsInvocable(). The main purpose is to assist the nodes compiler in constant propagation at compile-time.
[in] | args | The arguments: At first the values for input ports, afterwards storage locations where output ports write their results. @MAXON_ANNOTATION{methodId="Invoke@602b630a39c644ba"->"Invoke@c6bc919a0871f068"} |
enum maxon::corenodes::CoreNodeInterface::GML_OPTIONS MAXON_ENUM_FLAGS_CLASS | ( | GML_OPTIONS | ) |
MAXON_METHOD Result<void> WriteGml | ( | UrlOrOutputStream && | output, |
GML_OPTIONS | options | ||
) | const |
Writes this core node to a GML file (graph modeling language). This can be used to visualize the core node with a graph viewer application such as yEd.
[in] | output | The location to write to. |
[in] | options | Options for the GML output. |
MAXON_METHOD Result<void> ConvertAndInvoke | ( | const Block< const Tuple< TrivialDataPtr, CORENODE_PORT_FLAGS >> & | args | ) | const |
Invokes the core node directly (see Invoke). Prior to invoke all #args elements which to not exactly match the expected DataType will be converted. Use Invoke to use the given #args as is. This is only supported for a limited set of core nodes, see IsInvocable(). The main purpose is to assist the nodes compiler in constant propagation at compile-time.
[in,out] | args | The arguments: At first the values for input ports, afterwards storage locations where output ports write their results. Any input conversion result will be overwritten in args. |