Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/node_tree_update.cc
| Show First 20 Lines • Show All 503 Lines • ▼ Show 20 Lines | for (const bNode *node : toposort_result) { | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| static void determine_group_output_states(const bNodeTree &tree, | static void determine_group_output_states(const bNodeTree &tree, | ||||
| FieldInferencingInterface &new_inferencing_interface, | FieldInferencingInterface &new_inferencing_interface, | ||||
| const Span<SocketFieldState> field_state_by_socket_id) | const Span<SocketFieldState> field_state_by_socket_id) | ||||
| { | { | ||||
| for (const bNode *group_output_node : tree.nodes_by_type("NodeGroupOutput")) { | const bNode *group_output_node = tree.group_output_node(); | ||||
| /* Ignore inactive group output nodes. */ | |||||
| if (!(group_output_node->flag & NODE_DO_OUTPUT)) { | if (!group_output_node) { | ||||
| continue; | return; | ||||
| } | } | ||||
| /* Determine dependencies of all group outputs. */ | |||||
| for (const bNodeSocket *group_output_socket : | for (const bNodeSocket *group_output_socket : group_output_node->input_sockets().drop_back(1)) { | ||||
| group_output_node->input_sockets().drop_back(1)) { | |||||
| OutputFieldDependency field_dependency = find_group_output_dependencies( | OutputFieldDependency field_dependency = find_group_output_dependencies( | ||||
| *group_output_socket, field_state_by_socket_id); | *group_output_socket, field_state_by_socket_id); | ||||
| new_inferencing_interface.outputs[group_output_socket->index()] = std::move( | new_inferencing_interface.outputs[group_output_socket->index()] = std::move(field_dependency); | ||||
| field_dependency); | |||||
| } | |||||
| break; | |||||
| } | } | ||||
| } | } | ||||
| static void update_socket_shapes(const bNodeTree &tree, | static void update_socket_shapes(const bNodeTree &tree, | ||||
| const Span<SocketFieldState> field_state_by_socket_id) | const Span<SocketFieldState> field_state_by_socket_id) | ||||
| { | { | ||||
| const eNodeSocketDisplayShape requires_data_shape = SOCK_DISPLAY_SHAPE_CIRCLE; | const eNodeSocketDisplayShape requires_data_shape = SOCK_DISPLAY_SHAPE_CIRCLE; | ||||
| const eNodeSocketDisplayShape data_but_can_be_field_shape = SOCK_DISPLAY_SHAPE_DIAMOND_DOT; | const eNodeSocketDisplayShape data_but_can_be_field_shape = SOCK_DISPLAY_SHAPE_DIAMOND_DOT; | ||||
| ▲ Show 20 Lines • Show All 1,250 Lines • Show Last 20 Lines | |||||