Blender V5.0
node_tree_structure_type_inferencing.cc File Reference

Go to the source code of this file.

Classes

struct  blender::bke::node_structure_type_inferencing::StructureTypeInferenceResult

Namespaces

namespace  blender
namespace  blender::bke
namespace  blender::bke::node_structure_type_inferencing

Enumerations

enum class  blender::bke::node_structure_type_inferencing::DataRequirement : int8_t {
  blender::bke::node_structure_type_inferencing::None , blender::bke::node_structure_type_inferencing::Field , blender::bke::node_structure_type_inferencing::Single , blender::bke::node_structure_type_inferencing::Grid ,
  blender::bke::node_structure_type_inferencing::List , blender::bke::node_structure_type_inferencing::Invalid
}
enum class  blender::bke::node_structure_type_inferencing::ZoneInOutChange { blender::bke::node_structure_type_inferencing::None = 0 , blender::bke::node_structure_type_inferencing::In = (1 << 1) , blender::bke::node_structure_type_inferencing::Out = (1 << 2) }

Functions

static nodes::StructureTypeInterface blender::bke::node_structure_type_inferencing::calc_node_interface (const bNode &node)
static Array< nodes::StructureTypeInterfaceblender::bke::node_structure_type_inferencing::calc_node_interfaces (const bNodeTree &tree)
static DataRequirement blender::bke::node_structure_type_inferencing::merge (const DataRequirement a, const DataRequirement b)
static StructureType blender::bke::node_structure_type_inferencing::data_requirement_to_auto_structure_type (const DataRequirement requirement)
static void blender::bke::node_structure_type_inferencing::find_auto_structure_type_sockets (const bNodeTree &tree, bits::MutableBoundedBitSpan is_auto_structure_type)
static void blender::bke::node_structure_type_inferencing::init_input_requirements (const bNodeTree &tree, const bits::BoundedBitSpan is_auto_structure_type, MutableSpan< DataRequirement > input_requirements)
static DataRequirement blender::bke::node_structure_type_inferencing::calc_output_socket_requirement (const bNodeSocket &output_socket, const Span< DataRequirement > input_requirements)
static void blender::bke::node_structure_type_inferencing::store_group_input_structure_types (const bNodeTree &tree, const Span< DataRequirement > input_requirements, nodes::StructureTypeInterface &derived_interface)
static void blender::bke::node_structure_type_inferencing::store_auto_output_structure_types (const bNodeTree &tree, const Span< DataRequirement > input_requirements, const bits::BoundedBitSpan is_auto_structure_type, MutableSpan< StructureType > structure_types)
 blender::bke::node_structure_type_inferencing::ENUM_OPERATORS (ZoneInOutChange, ZoneInOutChange::Out)
static ZoneInOutChange blender::bke::node_structure_type_inferencing::simulation_zone_requirements_propagate (const bNode &input_node, const bNode &output_node, MutableSpan< DataRequirement > input_requirements)
static ZoneInOutChange blender::bke::node_structure_type_inferencing::repeat_zone_requirements_propagate (const bNode &input_node, const bNode &output_node, MutableSpan< DataRequirement > input_requirements)
static bool blender::bke::node_structure_type_inferencing::propagate_zone_data_requirements (const bNodeTree &tree, const bNode &node, MutableSpan< DataRequirement > input_requirements)
static void blender::bke::node_structure_type_inferencing::propagate_right_to_left (const bNodeTree &tree, const Span< nodes::StructureTypeInterface > node_interfaces, MutableSpan< DataRequirement > input_requirements)
static StructureType blender::bke::node_structure_type_inferencing::left_to_right_merge (const StructureType a, const StructureType b)
static ZoneInOutChange blender::bke::node_structure_type_inferencing::simulation_zone_status_propagate (const bNode &input_node, const bNode &output_node, MutableSpan< StructureType > structure_types)
static ZoneInOutChange blender::bke::node_structure_type_inferencing::repeat_zone_status_propagate (const bNode &input_node, const bNode &output_node, MutableSpan< StructureType > structure_types)
static bool blender::bke::node_structure_type_inferencing::propagate_zone_status (const bNodeTree &tree, const bNode &node, MutableSpan< StructureType > structure_types)
static StructureType blender::bke::node_structure_type_inferencing::get_unconnected_input_structure_type (const nodes::SocketDeclaration &declaration)
static void blender::bke::node_structure_type_inferencing::propagate_left_to_right (const bNodeTree &tree, const Span< nodes::StructureTypeInterface > node_interfaces, const Span< StructureType > group_input_structure_types, const bits::BoundedBitSpan is_auto_structure_type, MutableSpan< StructureType > structure_types)
static Vector< int > blender::bke::node_structure_type_inferencing::find_dynamic_output_linked_inputs (const bNodeSocket &group_output, const Span< nodes::StructureTypeInterface > interface_by_node)
static void blender::bke::node_structure_type_inferencing::store_group_output_structure_types (const bNodeTree &tree, const Span< nodes::StructureTypeInterface > interface_by_node, const Span< StructureType > structure_types, nodes::StructureTypeInterface &interface)
static StructureTypeInferenceResult blender::bke::node_structure_type_inferencing::calc_structure_type_interface (const bNodeTree &tree)
bool blender::bke::node_structure_type_inferencing::update_structure_type_interface (bNodeTree &tree)