Blender V4.5
node_tree_structure_type_inferencing.cc File Reference

Go to the source code of this file.

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::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 void blender::bke::node_structure_type_inferencing::init_input_requirements (const bNodeTree &tree, 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)
 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, 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 std::unique_ptr< nodes::StructureTypeInterfaceblender::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)