Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/node.cc
| Show First 20 Lines • Show All 4,742 Lines • ▼ Show 20 Lines | for (const OutputSocketRef *output_socket : node->outputs()) { | ||||
| state.requires_single = true; | state.requires_single = true; | ||||
| state.is_always_single = true; | state.is_always_single = true; | ||||
| continue; | continue; | ||||
| } | } | ||||
| /* The output is required to be a single value when it is connected to any input that does | /* The output is required to be a single value when it is connected to any input that does | ||||
| * not support fields. */ | * not support fields. */ | ||||
| for (const InputSocketRef *target_socket : output_socket->directly_linked_sockets()) { | for (const InputSocketRef *target_socket : output_socket->directly_linked_sockets()) { | ||||
| if (target_socket->is_available()) { | |||||
| state.requires_single |= field_state_by_socket_id[target_socket->id()].requires_single; | state.requires_single |= field_state_by_socket_id[target_socket->id()].requires_single; | ||||
| } | } | ||||
| } | |||||
| if (state.requires_single) { | if (state.requires_single) { | ||||
| bool any_input_is_field_implicitly = false; | bool any_input_is_field_implicitly = false; | ||||
| const Vector<const InputSocketRef *> connected_inputs = gather_input_socket_dependencies( | const Vector<const InputSocketRef *> connected_inputs = gather_input_socket_dependencies( | ||||
| field_dependency, *node); | field_dependency, *node); | ||||
| for (const InputSocketRef *input_socket : connected_inputs) { | for (const InputSocketRef *input_socket : connected_inputs) { | ||||
| if (!input_socket->is_available()) { | if (!input_socket->is_available()) { | ||||
| continue; | continue; | ||||
| ▲ Show 20 Lines • Show All 1,286 Lines • Show Last 20 Lines | |||||