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 () |
Public Member Functions inherited from
MicroNode
|
|
| 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 |
Public Attributes inherited from
MicroNode
|
|
| 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 Public Attributes inherited from
MicroNode
|
|
| 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 Public Member Functions inherited from
MicroNode
|
|
| 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 |