Blender V4.3
node_tree_field_inferencing.cc File Reference
#include "BKE_node.hh"
#include "BKE_node_runtime.hh"
#include "NOD_geometry.hh"
#include "NOD_node_declaration.hh"
#include "NOD_socket.hh"
#include "BLI_resource_scope.hh"
#include "BLI_set.hh"
#include "BLI_stack.hh"

Go to the source code of this file.

Classes

struct  blender::bke::node_field_inferencing::SocketFieldState
 

Namespaces

namespace  blender
 
namespace  blender::bke
 
namespace  blender::bke::node_field_inferencing
 

Enumerations

enum class  blender::bke::node_field_inferencing::eFieldStateSyncResult : char { blender::bke::node_field_inferencing::NONE = 0 , blender::bke::node_field_inferencing::CHANGED_A = (1 << 0) , blender::bke::node_field_inferencing::CHANGED_B = (1 << 1) }
 

Functions

static bool blender::bke::node_field_inferencing::is_field_socket_type (const bNodeSocket &socket)
 
static bool blender::bke::node_field_inferencing::all_dangling_reroutes (const Span< const bNodeSocket * > sockets)
 
static InputSocketFieldType blender::bke::node_field_inferencing::get_interface_input_field_type (const bNode &node, const bNodeSocket &socket)
 
static OutputFieldDependency blender::bke::node_field_inferencing::get_interface_output_field_dependency (const bNode &node, const bNodeSocket &socket)
 
static const FieldInferencingInterfaceblender::bke::node_field_inferencing::get_dummy_field_inferencing_interface (const bNode &node, ResourceScope &scope)
 
static const FieldInferencingInterfaceblender::bke::node_field_inferencing::get_node_field_inferencing_interface (const bNode &node, ResourceScope &scope)
 
static Vector< const bNodeSocket * > blender::bke::node_field_inferencing::gather_input_socket_dependencies (const OutputFieldDependency &field_dependency, const bNode &node)
 
static OutputFieldDependency blender::bke::node_field_inferencing::find_group_output_dependencies (const bNodeSocket &group_output_socket, const Span< const FieldInferencingInterface * > interface_by_node, const Span< SocketFieldState > field_state_by_socket_id)
 
static eFieldStateSyncResult blender::bke::node_field_inferencing::sync_field_states (SocketFieldState &a, SocketFieldState &b)
 
static eFieldStateSyncResult blender::bke::node_field_inferencing::simulation_nodes_field_state_sync (const bNode &input_node, const bNode &output_node, const MutableSpan< SocketFieldState > field_state_by_socket_id)
 
static eFieldStateSyncResult blender::bke::node_field_inferencing::repeat_field_state_sync (const bNode &input_node, const bNode &output_node, const MutableSpan< SocketFieldState > field_state_by_socket_id)
 
static bool blender::bke::node_field_inferencing::propagate_special_data_requirements (const bNodeTree &tree, const bNode &node, const MutableSpan< SocketFieldState > field_state_by_socket_id)
 
static void blender::bke::node_field_inferencing::propagate_data_requirements_from_right_to_left (const bNodeTree &tree, const Span< const FieldInferencingInterface * > interface_by_node, const MutableSpan< SocketFieldState > field_state_by_socket_id)
 
static void blender::bke::node_field_inferencing::determine_group_input_states (const bNodeTree &tree, FieldInferencingInterface &new_inferencing_interface, const MutableSpan< SocketFieldState > field_state_by_socket_id)
 
static void blender::bke::node_field_inferencing::propagate_field_status_from_left_to_right (const bNodeTree &tree, const Span< const FieldInferencingInterface * > interface_by_node, const MutableSpan< SocketFieldState > field_state_by_socket_id)
 
static void blender::bke::node_field_inferencing::determine_group_output_states (const bNodeTree &tree, FieldInferencingInterface &new_inferencing_interface, const Span< const FieldInferencingInterface * > interface_by_node, const Span< SocketFieldState > field_state_by_socket_id)
 
static void blender::bke::node_field_inferencing::update_socket_states (const bNodeTree &tree, const Span< SocketFieldState > field_state_by_socket_id)
 
static void blender::bke::node_field_inferencing::prepare_inferencing_interfaces (const Span< const bNode * > nodes, MutableSpan< const FieldInferencingInterface * > interface_by_node, ResourceScope &scope)
 
bool blender::bke::node_field_inferencing::update_field_inferencing (const bNodeTree &tree)