BasicMicroNode Class Reference
#include <micronodes.h>
BasicMicroNode is the base class for simple custom micro nodes. A BasicMicroNode receives a single set of input values in its Process method and computes the corresponding output values. If the Process method consists of just a few simple operations, you should consider to implement a BatchMicroNode instead: It computes the output values for a whole batch of input values with a single call, so this reduces the calling overhead of nodes.
To implement a
BasicMicroNode
, you have to derive a new class from
BasicMicroNode
and add a Process method to that class which has a
{const Ports<...>&} parameter with a list of those ports between the angular brackets which shall be accessed by the node. The ports have to be defined by MAXON_PORT macros in a micro node group class. Usually the
BasicMicroNode
class is a member of that micro node group class as in this example:
公共成员函数 |
|
MAXON_SECONDARG (,, template< typename PORTMODE >) static void Process() | |
template<typename MN > | |
void | PrivateInit () |
![]() |
|
enum maxon::corenodes::MicroNode::TYPE | MAXON_ENUM_ORDERED_FLAGS_CLASS ( TYPE ) |
enum maxon::corenodes::MicroNode::FLAGS | 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 ) |
Public Attributes |
|
Base | _base |
ProcessFn | _fProcess [1] |
corenodes::details::InitUserDataFn | _fInitUserData |
corenodes::details::GetLlvmAssemblyFn | _fGetLlvmAssembly |
![]() |
|
class maxon::corenodes::MicroNode::Base | MAXON_ENUM_FLAGS_CLASS |
静态公共属性 |
|
static const TYPE | MICRONODE_TYPE |
static const WIRETYPE | IS_TARGET_OF |
static const WIRETYPE | IS_SOURCE_OF |
![]() |
|
static const TYPE | INPUT_TYPE_MASK |
static const TYPE | OUTPUT_TYPE_MASK |
static const FLAGS | MICRONODE_FLAGS |
Static Private Member Functions |
|
template<typename MN , typename MT , MT METHOD, typename PORTS > | |
static ProcessFn | GetProcessFn ( Result < void >(MN::*)( PORTS &,) const, MicroNode::Base &node) |
template<typename MN , typename MT , MT METHOD> | |
static ProcessFn | GetProcessFn (void(*)(), MicroNode::Base &) |
Additional Inherited Members |
|
![]() |
|
static void | InitUserData () |
static void | GetLlvmAssembly (const LlvmGlobalsReceiver &) |
using MicroNodeClass = BasicMicroNode |
using ProcessFn = Result <void>(*)(const MicroNode *, const void*,) |
|
static private |
|
static private |
MAXON_SECONDARG | ( | template< typename PORTMODE > | ) |
void PrivateInit | ( | ) |
|
Base _base |
|
|
ProcessFn _fProcess[1] |
corenodes::details::InitUserDataFn _fInitUserData |
corenodes::details::GetLlvmAssemblyFn _fGetLlvmAssembly |