34 static constexpr const char *
node_idname =
"GeometryNodeBake";
42 return {&storage->
items, &storage->items_num, &storage->active_index};
79 return "Item_" + std::to_string(item.
identifier);
107 bool is_in_sidebar =
false);
char * BLI_strdup_null(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_MALLOC
struct NodeGeometryBakeItem NodeGeometryBakeItem
void set_item_name_and_make_unique(bNode &node, typename Accessor::ItemT &item, const char *value)
bool get_bake_draw_context(const bContext *C, const bNode &node, BakeDrawContext &r_ctx)
void draw_common_bake_settings(bContext *C, BakeDrawContext &ctx, uiLayout *layout)
void draw_bake_button_row(const BakeDrawContext &ctx, uiLayout *layout, bool is_in_sidebar=false)
std::optional< std::string > get_bake_state_string(const BakeDrawContext &ctx)
std::string get_baked_string(const BakeDrawContext &ctx)
NodeGeometryBakeItem * items
std::optional< NodesModifierBakeTarget > bake_target
std::optional< IndexRange > frame_range
const NodesModifierData * nmd
std::optional< IndexRange > baked_range
const NodesModifierBake * bake
static constexpr bool has_single_identifier_str
static StructRNA * item_srna
static eNodeSocketDatatype get_socket_type(const NodeGeometryBakeItem &item)
static void copy_item(const NodeGeometryBakeItem &src, NodeGeometryBakeItem &dst)
static constexpr bool has_name
static std::string socket_identifier_for_item(const NodeGeometryBakeItem &item)
static constexpr const char * node_idname
static void blend_read_data(BlendDataReader *reader, bNode &node)
static socket_items::SocketItemsRef< NodeGeometryBakeItem > get_items_from_node(bNode &node)
static void blend_write(BlendWriter *writer, const bNode &node)
static char ** get_name(NodeGeometryBakeItem &item)
static bool supports_socket_type(const eNodeSocketDatatype socket_type)
static void destruct_item(NodeGeometryBakeItem *item)
static constexpr bool has_type
static void init_with_socket_type_and_name(bNode &node, NodeGeometryBakeItem &item, const eNodeSocketDatatype socket_type, const char *name)
static bool supports_socket_type(const eNodeSocketDatatype socket_type)