Blender V5.0
NOD_geometry_nodes_bundle_signature.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include "BLI_vector_set.hh"
8
9#include "BKE_node.hh"
10
12
13namespace blender::nodes {
14
23
26 {
27 return item.key;
28 }
29 };
30
32
33 friend bool operator==(const BundleSignature &a, const BundleSignature &b);
34 friend bool operator!=(const BundleSignature &a, const BundleSignature &b);
35
37 bool allow_auto_structure_type);
39 bool allow_auto_structure_type);
40
42};
43
54 bool has_type_definition() const;
55
56 std::optional<BundleSignature> get_merged_signature() const;
57};
58
60 const bNodeSocket &socket,
61 const NodeSocketInterfaceStructureType stored_structure_type,
62 const bool allow_auto_structure_type);
63
64} // namespace blender::nodes
NodeSocketInterfaceStructureType get_structure_type_for_bundle_signature(const bNodeSocket &socket, const NodeSocketInterfaceStructureType stored_structure_type, const bool allow_auto_structure_type)
VectorSet< T, InlineBufferCapacity, DefaultProbingStrategy, CustomIDHash< T, GetIDFn >, CustomIDEqual< T, GetIDFn > > CustomIDVectorSet
Defines a socket type.
Definition BKE_node.hh:158
BLI_STRUCT_EQUALITY_OPERATORS_3(Item, key, type, structure_type)
static BundleSignature from_separate_bundle_node(const bNode &node, bool allow_auto_structure_type)
CustomIDVectorSet< Item, ItemKeyGetter > items
friend bool operator!=(const BundleSignature &a, const BundleSignature &b)
friend bool operator==(const BundleSignature &a, const BundleSignature &b)
static BundleSignature from_combine_bundle_node(const bNode &node, bool allow_auto_structure_type)
std::optional< BundleSignature > get_merged_signature() const