23 "NODE_OT_foreach_geometry_element_zone_input_item_add";
25 "NODE_OT_foreach_geometry_element_zone_input_item_remove";
27 "NODE_OT_foreach_geometry_element_zone_input_item_move";
40 return {&storage->input_items.items,
41 &storage->input_items.items_num,
42 &storage->input_items.active_index};
71 return ELEM(socket_type,
89 item.
identifier = storage->generation_items.next_identifier++;
96 return "Input_" + std::to_string(item.
identifier);
109 "NODE_OT_foreach_geometry_element_zone_main_item_add";
111 "NODE_OT_foreach_geometry_element_zone_main_item_remove";
113 "NODE_OT_foreach_geometry_element_zone_main_item_move";
126 return {&storage->main_items.items,
127 &storage->main_items.items_num,
128 &storage->main_items.active_index};
157 return ELEM(socket_type,
174 item.
identifier = storage->generation_items.next_identifier++;
181 return "Main_" + std::to_string(item.
identifier);
195 "NODE_OT_foreach_geometry_element_zone_generation_item_add";
197 "NODE_OT_foreach_geometry_element_zone_generation_item_remove";
199 "NODE_OT_foreach_geometry_element_zone_generation_item_move";
212 return {&storage->generation_items.items,
213 &storage->generation_items.items_num,
214 &storage->generation_items.active_index};
243 return ELEM(socket_type,
261 item.
identifier = storage->generation_items.next_identifier++;
268 return "Generation_" + std::to_string(item.
identifier);
char * BLI_strdup_null(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_MALLOC
void set_item_name_and_make_unique(bNode &node, typename Accessor::ItemT &item, const char *value)
static constexpr StringRefNull add_item
static constexpr StringRefNull remove_item
static constexpr StringRefNull move_item
static constexpr StringRefNull items
static constexpr StringRefNull active_index
static constexpr StringRefNull list
static StructRNA * item_srna
NodeForeachGeometryElementGenerationItem ItemT
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 constexpr StringRefNull node_idname
static void blend_write_item(BlendWriter *writer, const ItemT &item)
static char ** get_name(ItemT &item)
static void blend_read_data_item(BlendDataReader *reader, ItemT &item)
static bool supports_socket_type(const eNodeSocketDatatype socket_type, const int)
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 constexpr bool has_name
static constexpr StringRefNull move_item
static constexpr StringRefNull remove_item
static constexpr StringRefNull add_item
static constexpr StringRefNull items
static constexpr StringRefNull active_index
static constexpr StringRefNull list
static constexpr bool has_type
static eNodeSocketDatatype get_socket_type(const ItemT &item)
static StructRNA * item_srna
static constexpr StringRefNull node_idname
static constexpr bool has_name
static bool supports_socket_type(const eNodeSocketDatatype socket_type, const int)
static std::string socket_identifier_for_item(const ItemT &item)
static void blend_write_item(BlendWriter *writer, const ItemT &item)
static char ** get_name(ItemT &item)
static void destruct_item(ItemT *item)
NodeForeachGeometryElementMainItem ItemT
static void copy_item(const ItemT &src, ItemT &dst)
static socket_items::SocketItemsRef< ItemT > get_items_from_node(bNode &node)
static void init_with_socket_type_and_name(bNode &node, ItemT &item, const eNodeSocketDatatype socket_type, const char *name)
static void blend_read_data_item(BlendDataReader *reader, ItemT &item)