CoreNodeInstanceInterface Class Reference

#include <corenodes_instances.h>

Inheritance diagram for CoreNodeInstanceInterface:

Detailed Description

CoreNodeInstanceInterface is an instance of a core node within a core node group. Such an instance is created whenever you add a core node as a child to a group:

CoreNodeInstancePtr instance = group.AddChild(Id(), node) iferr_return;
#define iferr_return
Definition: resultbase.h:1519
Definition: node.h:10

Public Member Functions

MAXON_FUNCTION const CoreNodeGroupInterfaceGetParentGroup () const
 
MAXON_FUNCTION CoreNodeGroupInterfaceGetParentGroup ()
 
MAXON_METHOD const CoreNode & GetBase () const
 
MAXON_METHOD Result< void > Connect (const OutPortId &outport, CoreNodeInstanceInterface *dest, const InPortId &inport, WIRETYPE wires=WIRETYPE::DOMAIN_FLOW_VALUE|WIRETYPE::SEQUENCED|WIRETYPE::STATE)
 
MAXON_FUNCTION Result< InPortIdExport (const InPortId &inport, const InPortId &parentPort=InPortId::NullValue(), WIRETYPE wires=WIRETYPE::DEFAULT_INPUT)
 
MAXON_FUNCTION Result< OutPortIdExport (const OutPortId &outport, const OutPortId &parentPort=OutPortId::NullValue(), WIRETYPE wires=WIRETYPE::DEFAULT_OUTPUT)
 
- Public Member Functions inherited from CoreNodeInstanceBaseInterface
MAXON_METHOD const IdGetName () const
 
MAXON_METHOD void SetName (const Id &name)
 
MAXON_METHOD const CoreNodeBaseInterfaceGetParentGroup () const
 
MAXON_FUNCTION CoreNodeBaseInterfaceGetParentGroup ()
 
MAXON_METHOD const NodeHandle * GetHandle () const
 
template<typename... INSTANCEPATH>
MAXON_FUNCTION Result< const NodeHandle * > GetHandle (const INSTANCEPATH &... path) const
 
MAXON_FUNCTION String ToString (const FormatStatement *fmt=nullptr) const
 
MAXON_METHOD const DataGetUserData () const
 
MAXON_METHOD void SetUserData (Data &&value)
 
MAXON_METHOD const DataDictionary & GetCompilationData () const
 
MAXON_METHOD void SetCompilationData (DataDictionary &&data)
 

Private Member Functions

 MAXON_INTERFACE_NONVIRTUAL_DERIVED (CoreNodeInstanceInterface, MAXON_REFERENCE_POINTER, "net.maxon.corenode.interface.corenodeinstance")
 
MAXON_METHOD Result< IntExportImpl (const PortId &port, const PortId &parentPort, WIRETYPE wires)
 

Additional Inherited Members

- Static Public Member Functions inherited from CoreNodeInstanceBaseInterface
static MAXON_METHOD Result< BaseArray< const CoreNodeInstanceBaseInterface * > > GetInstancePath (const NodeHandle *handle)
 
static MAXON_METHOD String PrivateNodeHandleToString (const NodeHandle *handle, const FormatStatement *fs)
 

Member Function Documentation

◆ MAXON_INTERFACE_NONVIRTUAL_DERIVED()

MAXON_INTERFACE_NONVIRTUAL_DERIVED ( CoreNodeInstanceInterface  ,
MAXON_REFERENCE_POINTER  ,
"net.maxon.corenode.interface.corenodeinstance"   
)
private

◆ GetParentGroup() [1/2]

MAXON_FUNCTION const CoreNodeGroupInterface* GetParentGroup ( ) const

Returns the core node group to which this core node instance belongs.

Returns
The parent group of this core node.

◆ GetParentGroup() [2/2]

Returns the core node group to which this core node instance belongs.

Returns
The parent group of this core node.

◆ GetBase()

MAXON_METHOD const CoreNode& GetBase ( ) const

Returns the core node of which this object is an instance.

Returns
The instanced core node.

◆ Connect()

MAXON_METHOD Result<void> Connect ( const OutPortId outport,
CoreNodeInstanceInterface dest,
const InPortId inport,
WIRETYPE  wires = WIRETYPE::DOMAIN_FLOW_VALUE|WIRETYPE::SEQUENCED|WIRETYPE::STATE 
)

Connects the outport of this instance to the inport of dest. To connect a port of this instance with a port of its enclosing group, use Export().

Parameters
[in]outportAn output port of this core node instance.
[in]destAnother core node instance within the same core node group.
[in]inportAn input port of dest.
[in]wiresThe wires to use for the connection. Already existing wires aren't changed. Wires which aren't supported by both ports are ignored.

◆ Export() [1/2]

MAXON_FUNCTION Result<InPortId> Export ( const InPortId inport,
const InPortId parentPort = InPortId::NullValue(),
WIRETYPE  wires = WIRETYPE::DEFAULT_INPUT 
)

Exports the given input port of this instance to a port of the enclosing group. If parentPort is given by a name for which there is no port yet, a corresponding port is created at the enclosing group. If parentPort is empty or has an empty name, the name of inport is used instead of parentPort.

Parameters
[in]inportAn input port of this core node instance.
[in]parentPortA port of the enclosing group. If empty, the name of inport is used instead.
[in]wiresThe wires to use for the export connection. Already existing wires aren't changed. Wires which aren't supported by inport are ignored.

◆ Export() [2/2]

MAXON_FUNCTION Result<OutPortId> Export ( const OutPortId outport,
const OutPortId parentPort = OutPortId::NullValue(),
WIRETYPE  wires = WIRETYPE::DEFAULT_OUTPUT 
)

Exports the given output port of this instance to a port of the enclosing group. If parentPort is given by a name for which there is no port yet, a corresponding port is created at the enclosing group. If parentPort is empty or has an empty name, the name of outport is used instead of parentPort.

Parameters
[in]outportAn output port of this core node instance.
[in]parentPortA port of the enclosing group. If empty, the name of outport is used instead.
[in]wiresThe wires to use for the export connection. Already existing wires aren't changed. Wires which aren't supported by outport are ignored.

◆ ExportImpl()

MAXON_METHOD Result<Int> ExportImpl ( const PortId port,
const PortId parentPort,
WIRETYPE  wires 
)
private