17 static constexpr const char *
node_idname =
"GeometryNodeForeachGeometryElementOutput";
26 &storage->input_items.items_num,
27 &storage->input_items.active_index};
56 return ELEM(socket_type,
74 item.
identifier = storage->generation_items.next_identifier++;
81 return "Input_" + std::to_string(item.
identifier);
89 static constexpr const char *
node_idname =
"GeometryNodeForeachGeometryElementOutput";
98 &storage->main_items.items_num,
99 &storage->main_items.active_index};
128 return ELEM(socket_type,
145 item.
identifier = storage->generation_items.next_identifier++;
152 return "Main_" + std::to_string(item.
identifier);
160 static constexpr const char *
node_idname =
"GeometryNodeForeachGeometryElementOutput";
169 &storage->generation_items.items_num,
170 &storage->generation_items.active_index};
199 return ELEM(socket_type,
217 item.
identifier = storage->generation_items.next_identifier++;
224 return "Generation_" + std::to_string(item.
identifier);
char * BLI_strdup_null(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_MALLOC
struct NodeForeachGeometryElementMainItem NodeForeachGeometryElementMainItem
struct NodeForeachGeometryElementInputItem NodeForeachGeometryElementInputItem
struct NodeForeachGeometryElementGenerationItem NodeForeachGeometryElementGenerationItem
void set_item_name_and_make_unique(bNode &node, typename Accessor::ItemT &item, const char *value)
NodeForeachGeometryElementGenerationItem * items
NodeForeachGeometryElementMainItem * items
NodeForeachGeometryElementInputItems input_items
NodeForeachGeometryElementMainItems main_items
NodeForeachGeometryElementGenerationItems generation_items
static StructRNA * item_srna
static void init_with_socket_type_and_name(bNode &node, ItemT &item, const eNodeSocketDatatype socket_type, const char *name)
static void destruct_item(ItemT *item)
static eNodeSocketDatatype get_socket_type(const ItemT &item)
static bool supports_socket_type(const eNodeSocketDatatype socket_type)
static char ** get_name(ItemT &item)
static constexpr const char * node_idname
static void blend_write(BlendWriter *writer, const bNode &node)
static void copy_item(const ItemT &src, ItemT &dst)
static socket_items::SocketItemsRef< ItemT > get_items_from_node(bNode &node)
static std::string socket_identifier_for_item(const ItemT &item)
static constexpr bool has_type
static void blend_read_data(BlendDataReader *reader, bNode &node)
static constexpr bool has_name
static constexpr bool has_single_identifier_str
static constexpr bool has_single_identifier_str
static bool supports_socket_type(const eNodeSocketDatatype socket_type)
static constexpr bool has_type
static eNodeSocketDatatype get_socket_type(const ItemT &item)
static StructRNA * item_srna
static void blend_read_data(BlendDataReader *reader, bNode &node)
static constexpr bool has_name
static std::string socket_identifier_for_item(const ItemT &item)
static char ** get_name(ItemT &item)
static void destruct_item(ItemT *item)
static void copy_item(const ItemT &src, ItemT &dst)
static socket_items::SocketItemsRef< ItemT > get_items_from_node(bNode &node)
static void blend_write(BlendWriter *writer, const bNode &node)
static constexpr const char * node_idname
static void init_with_socket_type_and_name(bNode &node, ItemT &item, const eNodeSocketDatatype socket_type, const char *name)