-
首页
-
C4D R23.110 C++ SDK
corenodes_implementer.h File Reference
Classes
|
struct
|
OperatorNodeLlvmBase
|
struct
|
OperatorNodeLlvm< T >
|
class
|
OperatorNodeBase< TYPES, I >
|
class
|
OperatorNodeBase< ParameterPack< IN >, 0 >
|
class
|
OperatorMicroNode< OP, I >
|
class
|
OperatorNodeHelper< OP, RESULT, TYPES, INDEX_SEQUENCE >
|
class
|
OperatorNodeHelper< OP, RESULT, TYPES, std::index_sequence< I... > >
|
class
|
OperatorNode< OP, SIGNATURE >
|
class
|
OperatorNode< OP, RESULT(IN...)>
|
Macros
|
#define
|
PRIVATE_MAXON_CORENODE_OPERATOR_INDEX
(x, i, a)
|
#define
|
PRIVATE_MAXON_CORENODE_OPERATOR_PARAM
(x, i, a)
|
#define
|
PRIVATE_MAXON_CORENODE_OPERATOR_NAME
(x, i, a)
|
#define
|
PRIVATE_MAXON_CORENODE_OPERATOR_DECLVAL
(x, i, a)
|
#define
|
PRIVATE_MAXON_CORENODE_OPERATOR
(op, N, R, ...)
|
#define
|
MAXON_CORENODE_OPERATOR_UNARY
(N, op, T)
|
#define
|
MAXON_CORENODE_OPERATOR_BINARY
(N, op, T1, T2)
|
#define
|
MAXON_CORENODE_FUNCTION
(N, func, ...)
|
#define
|
MAXON_CORENODE_OPERATOR_UNARY_LLVM
(OP, LLVM, LLVMTYPE)
|
#define
|
MAXON_CORENODE_OPERATOR_BINARY_LLVM
(OP, LLVM, LLVMTYPE)
|
Macro Definition Documentation
◆
PRIVATE_MAXON_CORENODE_OPERATOR_INDEX
#define PRIVATE_MAXON_CORENODE_OPERATOR_INDEX
|
(
|
|
x,
|
|
|
|
i,
|
|
|
|
a
|
|
)
|
|
|
◆
PRIVATE_MAXON_CORENODE_OPERATOR_PARAM
#define PRIVATE_MAXON_CORENODE_OPERATOR_PARAM
|
(
|
|
x,
|
|
|
|
i,
|
|
|
|
a
|
|
)
|
|
|
◆
PRIVATE_MAXON_CORENODE_OPERATOR_NAME
#define PRIVATE_MAXON_CORENODE_OPERATOR_NAME
|
(
|
|
x,
|
|
|
|
i,
|
|
|
|
a
|
|
)
|
|
|
◆
PRIVATE_MAXON_CORENODE_OPERATOR_DECLVAL
#define PRIVATE_MAXON_CORENODE_OPERATOR_DECLVAL
|
(
|
|
x,
|
|
|
|
i,
|
|
|
|
a
|
|
)
|
|
|
◆
PRIVATE_MAXON_CORENODE_OPERATOR
#define PRIVATE_MAXON_CORENODE_OPERATOR
|
(
|
|
op,
|
|
|
|
N,
|
|
|
|
R,
|
|
|
|
...
|
|
)
|
|
|
◆
MAXON_CORENODE_OPERATOR_UNARY
#define MAXON_CORENODE_OPERATOR_UNARY
|
(
|
|
N,
|
|
|
|
op,
|
|
|
|
T
|
|
)
|
|
|
This macro defines a core node implementation class N for the given unary operator #op. The implemented core node consists of a single BatchMicroNode. The output port has the name "out", the input port is named "in".
template <typename T> MAXON_CORENODE_OPERATOR_UNARY(NegNode, -, T);
-
参数
-
[in]
|
N
|
Name of the class to define.
|
[in]
|
op
|
A unary operator such as -.
|
[in]
|
T
|
Type of the operand.
|
◆
MAXON_CORENODE_OPERATOR_BINARY
#define MAXON_CORENODE_OPERATOR_BINARY
|
(
|
|
N,
|
|
|
|
op,
|
|
|
|
T1,
|
|
|
|
T2
|
|
)
|
|
|
This macro defines a core node implementation class N for the given binary operator #op. The implemented core node consists of a single BatchMicroNode. The output port has the name "out", the input ports are named "in1", "in2".
MAXON_CORENODE_OPERATOR_BINARY(BooleanOperatorANDNode, &, Bool, Bool);
template <typename T> MAXON_CORENODE_OPERATOR_BINARY(AddNode, +, T, T);
-
参数
-
[in]
|
N
|
Name of the class to define.
|
[in]
|
op
|
A binary operator such as +.
|
[in]
|
T1
|
Type of the left operand.
|
[in]
|
T2
|
Type of the right operand.
|
◆
MAXON_CORENODE_FUNCTION
#define MAXON_CORENODE_FUNCTION
|
(
|
|
N,
|
|
|
|
func,
|
|
|
|
...
|
|
)
|
|
|
This macro defines a core node implementation class N for the given function #func. The implemented core node consists of a single BatchMicroNode. The output port has the name "out", the input ports are named "in1", "in2", ... (or just "in" for a function with a single parameter).
template <typename T> MAXON_CORENODE_FUNCTION(AbsNode, Abs, T);
template <typename T> MAXON_CORENODE_FUNCTION(BoxStepNode, BoxStep, T, T, T);
-
参数
-
[in]
|
N
|
Name of the class to define.
|
[in]
|
func
|
A function such as Abs or BoxStep.
|
[in]
|
...
|
Port types of the core node. The port values are passed as arguments to #func.
|
◆
MAXON_CORENODE_OPERATOR_UNARY_LLVM
#define MAXON_CORENODE_OPERATOR_UNARY_LLVM
|
(
|
|
OP,
|
|
|
|
LLVM,
|
|
|
|
LLVMTYPE
|
|
)
|
|
|
◆
MAXON_CORENODE_OPERATOR_BINARY_LLVM
#define MAXON_CORENODE_OPERATOR_BINARY_LLVM
|
(
|
|
OP,
|
|
|
|
LLVM,
|
|
|
|
LLVMTYPE
|
|
)
|
|
|