Blender V4.3
blender::bke::anonymous_attribute_inferencing Namespace Reference

Classes

struct  AnonymousAttributeInferencingResult
class  bNodeTreeToDotOptionsForAnonymousAttributeInferencing
struct  FieldSource
struct  GeometrySource
struct  InputFieldSource
struct  InputGeometrySource
class  NodeDeclaration
struct  SocketFieldSource
struct  SocketGeometrySource

Functions

Array< const nodes::aal::RelationsInNode * > get_relations_by_node (const bNodeTree &tree, ResourceScope &scope)
bool update_anonymous_attribute_relations (bNodeTree &tree)
static bool socket_is_field (const bNodeSocket &socket)
static const aal::RelationsInNode & get_relations_in_node (const bNode &node, ResourceScope &scope)
static bool or_into_each_other_masked (MutableBoundedBitSpan a, MutableBoundedBitSpan b, const BoundedBitSpan mask)
static bool or_into_each_other (MutableBoundedBitSpan a, MutableBoundedBitSpan b)
static bool or_into_each_other_masked (BitGroupVector<> &vec, const int64_t a, const int64_t b, const BoundedBitSpan mask)
static bool or_into_each_other (BitGroupVector<> &vec, const int64_t a, const int64_t b)
static AnonymousAttributeInferencingResult analyze_anonymous_attribute_usages (const bNodeTree &tree)

Function Documentation

◆ analyze_anonymous_attribute_usages()

AnonymousAttributeInferencingResult blender::bke::anonymous_attribute_inferencing::analyze_anonymous_attribute_usages ( const bNodeTree & tree)
static

Definition at line 247 of file node_tree_anonymous_attributes.cc.

References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::bits::BitGroupVector< InlineBufferCapacity, Allocator >::all_bits(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index(), BLI_assert, blender::bke::bNodeTreeZone::contains_node_recursively(), blender::bke::anonymous_attribute_inferencing::FieldSource::data, blender::bke::anonymous_attribute_inferencing::GeometrySource::data, ELEM, blender::bke::anonymous_attribute_inferencing::GeometrySource::field_sources, blender::bits::foreach_1_index(), bNodeLink::fromsock, GEO_NODE_FOREACH_GEOMETRY_ELEMENT_INPUT, GEO_NODE_FOREACH_GEOMETRY_ELEMENT_OUTPUT, GEO_NODE_REPEAT_OUTPUT, get_relations_by_node(), blender::bke::bNodeTreeZones::get_zone_by_node(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::bke::bNodeTreeZone::input_node, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::bke::node_socket_type_find(), blender::bke::node_tree_to_dot(), options, or_into_each_other(), or_into_each_other_masked(), blender::bke::bNodeTreeZone::output_node, result, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size(), SOCK_CUSTOM, SOCK_GEOMETRY, bNodeTreeInterfaceSocket::socket_type, blender::nodes::socket_type_supports_fields(), tree, blender::bke::bNodeSocketType::type, blender::bke::Vector, and blender::bke::bNodeTreeZones::zones.

Referenced by update_anonymous_attribute_relations().

◆ get_relations_by_node()

Array< const aal::RelationsInNode * > blender::bke::anonymous_attribute_inferencing::get_relations_by_node ( const bNodeTree & tree,
ResourceScope & scope )

Definition at line 164 of file node_tree_anonymous_attributes.cc.

References get_relations_in_node(), and tree.

Referenced by analyze_anonymous_attribute_usages().

◆ get_relations_in_node()

◆ or_into_each_other() [1/2]

bool blender::bke::anonymous_attribute_inferencing::or_into_each_other ( BitGroupVector<> & vec,
const int64_t a,
const int64_t b )
static

Definition at line 242 of file node_tree_anonymous_attributes.cc.

References b, and or_into_each_other().

◆ or_into_each_other() [2/2]

bool blender::bke::anonymous_attribute_inferencing::or_into_each_other ( MutableBoundedBitSpan a,
MutableBoundedBitSpan b )
static

◆ or_into_each_other_masked() [1/2]

bool blender::bke::anonymous_attribute_inferencing::or_into_each_other_masked ( BitGroupVector<> & vec,
const int64_t a,
const int64_t b,
const BoundedBitSpan mask )
static

Definition at line 234 of file node_tree_anonymous_attributes.cc.

References b, mask(), and or_into_each_other_masked().

◆ or_into_each_other_masked() [2/2]

bool blender::bke::anonymous_attribute_inferencing::or_into_each_other_masked ( MutableBoundedBitSpan a,
MutableBoundedBitSpan b,
const BoundedBitSpan mask )
static

◆ socket_is_field()

bool blender::bke::anonymous_attribute_inferencing::socket_is_field ( const bNodeSocket & socket)
static

Definition at line 25 of file node_tree_anonymous_attributes.cc.

References blender::bke::IsField, and bNodeSocket::runtime.

Referenced by get_relations_in_node().

◆ update_anonymous_attribute_relations()

bool blender::bke::anonymous_attribute_inferencing::update_anonymous_attribute_relations ( bNodeTree & tree)