#include <corenodes_instances.h>
MicroNode is the base class of all micro node implementation classes such as BasicMicroNode or BatchMicroNode. To implement a new custom micro node, you usually write a subclass of BasicMicroNode.
There is a 1:1 correspondence between a MicroNodeInterface instance and a MicroNode instance: Each MicroNodeInterface instance holds its own MicroNode instance, see MicroNodeInterface::GetImplementation() and MicroNode::GetNode().
Although MicroNode itself has no data members, it is ensured by its subclasses that the data layout always starts with MicroNode::Base. MicroNode::ToBase() does the corresponding cast.
Classes | |
class | AllowsChild |
class | AllowsParent |
class | Base |
struct | Child |
class | Lazy |
class | PortsAccess |
struct | Source |
Public Member Functions | |
enum maxon::corenodes::MicroNode::TYPE | MAXON_ENUM_ORDERED_FLAGS_CLASS (TYPE) |
enum maxon::corenodes::MicroNode::FLAGS Int64 | MAXON_ENUM_FLAGS_CLASS (FLAGS) |
const Base & | ToBase () const |
Base & | ToBase () |
Bool | HasSameClass (const MicroNode &other) const |
const MicroNodeInterface * | GetNode () const |
MicroNodeInterface * | GetNode () |
TYPE | GetType () const |
FLAGS | GetFlags () const |
enum maxon::corenodes::MicroNode::PORTSACCESS_FLAGS | MAXON_ENUM_FLAGS_CLASS (PORTSACCESS_FLAGS) |
Static Public Member Functions | |
static void | InitUserData () |
static void | GetLlvmAssembly (const LlvmGlobalsReceiver &) |
Public Attributes | |
class maxon::corenodes::MicroNode::Base | MAXON_ENUM_FLAGS_CLASS |
Static Public Attributes | |
static const TYPE | INPUT_TYPE_MASK |
static const TYPE | OUTPUT_TYPE_MASK |
static const FLAGS | MICRONODE_FLAGS |
using Input = typename PORT::PrivateInput |
using Ports = typename PortsAccess<PORTSACCESS_FLAGS::NONE, PORTS...>::Members |
You have to use {const Ports<...>&} as the parameter type of the Process method of a BasicMicroNode.
PORTS | The ports which shall be accessed within the Process method. |
|
strong |
This enum lists the defined micro node types.
Enumerator | |
---|---|
INVALID | |
BASIC | Enum value for BasicMicroNode. |
BATCH | |
SPLIT_MERGE | |
ITERATION | |
SEQUENCING | |
RECURSION_STEP | |
CURRENT_ITERATION_VALUE | |
CURRENT_ITERATION_VALUE_WITH_INIT | |
COPY | |
SET_TRUE | |
NOP | |
SUBTRACTIVE_DOMAIN | |
JOIN | |
CONTROL_TRANSFER | |
MAX_WITHOUT_FLAG | |
VARIABLE_MASK | |
MIN_FLAG | |
VALUE_PORT_MASK | |
INPUT_PORT_MASK | |
EXPORTED_PORT | |
VIRTUAL_INPUT_PORT | |
OUTPUT_PORT_MASK | |
VARIABLE | |
PORT_MASK | |
FACTOR_MASK | |
ROOT | |
WHILE_CONDITION | |
INDEFINITE_LOOP | |
BLOCK | |
TOP_LEVEL_FACTOR_MASK | |
FRAME_MASK | |
TOP_LEVEL_FRAME | |
FRAME | |
EVENT_MASK | |
EVENT | |
FACTOR_HEAD_MASK | |
BLOCK_HEAD | |
CONDITIONAL_HEAD | |
RECURSION_HEAD | |
DEFINITE_FACTOR_HEAD_MASK | |
CONTAINER_LOOP_HEAD_MASK | |
CONTAINER_OUTPUT_HEAD_MASK | |
DEFINITE_FACTOR_MASK | |
CONTAINER_OUTPUT_ELEMENT_MASK | |
INDEXABLE_FACTOR_MASK | |
DIMENSIONAL_FACTOR_TEST | |
CONTAINER_LOOP_MASK | |
DEFINITE_LOOP_HEAD | |
CONTAINER_LOOP_HEAD | |
ARRAY_LOOP_HEAD | |
CONTAINER_LOOP | |
ARRAY_LOOP | |
CONTAINER_OUTPUT_HEAD | |
CONTAINER_OUTPUT_ELEMENT | |
ARRAY_OUTPUT_ELEMENT | |
DEFINITE_LOOP | |
GENERIC_DEFINITE_LOOP | |
RECURSION | |
INPUT_ELEMENT_MASK | |
ARRAY_INPUT_ELEMENT | |
CONTAINER_INPUT_ELEMENT | |
INPUT_MASK | |
OUTPUT_MASK | |
CONDITIONAL_MASK | |
IF | |
CONTAINER_MASK | |
CONTAINER | |
ARRAY_CONTAINER | |
ARRAY | |
CONTAINER_OUTPUT_MASK | |
CONTAINER_OUTPUT | |
CONTAINER_INPUT_GROUP_MASK | |
CONTAINER_INPUT_GROUP | |
FACTOR_WITH_FACTOR_VARIABLE | |
ALL |
This enum lists the flags for micro nodes as returned by GetFlags().
|
strong |
enum maxon::corenodes::MicroNode::TYPE MAXON_ENUM_ORDERED_FLAGS_CLASS | ( | TYPE | ) |
enum maxon::corenodes::MicroNode::FLAGS Int64 MAXON_ENUM_FLAGS_CLASS | ( | FLAGS | ) |
const Base& ToBase | ( | ) | const |
Base& ToBase | ( | ) |
const MicroNodeInterface* GetNode | ( | ) | const |
Returns the MicroNodeInterface instance which owns this MicroNode.
MicroNodeInterface* GetNode | ( | ) |
Returns the MicroNodeInterface instance which owns this MicroNode.
TYPE GetType | ( | void | ) | const |
Returns the type of this micro node.
FLAGS GetFlags | ( | void | ) | const |
Returns the flags of this micro node.
enum maxon::corenodes::MicroNode::PORTSACCESS_FLAGS MAXON_ENUM_FLAGS_CLASS | ( | PORTSACCESS_FLAGS | ) |
|
static |
|
static |
class maxon::corenodes::MicroNode::Base MAXON_ENUM_FLAGS_CLASS |
|
static |
|
static |
|
static |