Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_nodes_evaluator.cc
| Show First 20 Lines • Show All 1,411 Lines • ▼ Show 20 Lines | if (input_socket->is_multi_input_socket()) { | ||||
| multi_value.items.append({origin_socket, value.get()}); | multi_value.items.append({origin_socket, value.get()}); | ||||
| if (multi_value.expected_size == multi_value.items.size()) { | if (multi_value.expected_size == multi_value.items.size()) { | ||||
| this->log_socket_value({input_socket}, input_state, multi_value.items); | this->log_socket_value({input_socket}, input_state, multi_value.items); | ||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| SingleInputValue &single_value = *input_state.value.single; | SingleInputValue &single_value = *input_state.value.single; | ||||
| single_value.value = value.get(); | single_value.value = value.get(); | ||||
| this->log_socket_value({input_socket}, value); | Vector<DSocket> sockets_to_log_to = {input_socket}; | ||||
| if (origin_socket != input_socket) { | |||||
| /* This might log the socket value for the #origin_socket more than once, but this is | |||||
| * handled by the logging system gracefully. */ | |||||
| sockets_to_log_to.append(origin_socket); | |||||
| } | |||||
| /* TODO: Log to the intermediate sockets between the group input and where the value is | |||||
| * actually used as well. */ | |||||
| this->log_socket_value(sockets_to_log_to, value); | |||||
| } | } | ||||
| } | } | ||||
| void destruct_input_value_if_exists(LockedNode &locked_node, const DInputSocket socket) | void destruct_input_value_if_exists(LockedNode &locked_node, const DInputSocket socket) | ||||
| { | { | ||||
| InputState &input_state = locked_node.node_state.inputs[socket->index()]; | InputState &input_state = locked_node.node_state.inputs[socket->index()]; | ||||
| if (socket->is_multi_input_socket()) { | if (socket->is_multi_input_socket()) { | ||||
| MultiInputValue &multi_value = *input_state.value.multi; | MultiInputValue &multi_value = *input_state.value.multi; | ||||
| ▲ Show 20 Lines • Show All 307 Lines • Show Last 20 Lines | |||||