diff options
author | Jacques Lucke <jacques@blender.org> | 2021-08-02 11:34:50 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-08-02 11:34:50 +0300 |
commit | de91cdd930614d5396ca4691b37cc0502481ead7 (patch) | |
tree | 9259a0b5976ff6f3441a56d20dd4fd7599d6dc53 /source/blender/blenkernel/BKE_node.h | |
parent | 48722e8971133dbe14ecc6825a2451637df77eab (diff) |
Cleanup: separate base and geometry nodes specific socket cpp type
This simplifies changing how geometry nodes handles different socket types
without affecting other systems.
Diffstat (limited to 'source/blender/blenkernel/BKE_node.h')
-rw-r--r-- | source/blender/blenkernel/BKE_node.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index cecb3118038..a1bc6fa505b 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -125,6 +125,9 @@ using NodeExpandInMFNetworkFunction = void (*)(blender::nodes::NodeMFNetworkBuil using NodeGeometryExecFunction = void (*)(blender::nodes::GeoNodeExecParams params); using SocketGetCPPTypeFunction = const blender::fn::CPPType *(*)(); using SocketGetCPPValueFunction = void (*)(const struct bNodeSocket &socket, void *r_value); +using SocketGetGeometryNodesCPPTypeFunction = const blender::fn::CPPType *(*)(); +using SocketGetGeometryNodesCPPValueFunction = void (*)(const struct bNodeSocket &socket, + void *r_value); using SocketExpandInMFNetworkFunction = void (*)(blender::nodes::SocketMFNetworkBuilder &builder); #else @@ -132,6 +135,8 @@ typedef void *NodeExpandInMFNetworkFunction; typedef void *SocketExpandInMFNetworkFunction; typedef void *NodeGeometryExecFunction; typedef void *SocketGetCPPTypeFunction; +typedef void *SocketGetGeometryNodesCPPTypeFunction; +typedef void *SocketGetGeometryNodesCPPValueFunction; typedef void *SocketGetCPPValueFunction; #endif @@ -194,9 +199,13 @@ typedef struct bNodeSocketType { /* Expands the socket into a multi-function node that outputs the socket value. */ SocketExpandInMFNetworkFunction expand_in_mf_network; /* Return the CPPType of this socket. */ - SocketGetCPPTypeFunction get_cpp_type; + SocketGetCPPTypeFunction get_base_cpp_type; /* Get the value of this socket in a generic way. */ - SocketGetCPPValueFunction get_cpp_value; + SocketGetCPPValueFunction get_base_cpp_value; + /* Get geometry nodes cpp type. */ + SocketGetGeometryNodesCPPTypeFunction get_geometry_nodes_cpp_type; + /* Get geometry nodes cpp value. */ + SocketGetGeometryNodesCPPValueFunction get_geometry_nodes_cpp_value; } bNodeSocketType; typedef void *(*NodeInitExecFunction)(struct bNodeExecContext *context, |