89 SWAP(
int, reports->
flag, reports_flag_prev);
125 ID *ob_data = ob->data;
131 if (obact ==
NULL || ob->type != obact->
type) {
209 SWAP(
int, reports->
flag, reports_flag_prev);
220 if (do_undo_system &&
G_MAIN->wm.first) {
243 if (do_undo_system ==
false) {
257 bool check_needs_flush)
259 bool has_edited =
false;
266 if (check_needs_flush && (*needs_flush_ptr == 0)) {
269 *needs_flush_ptr = 0;
289 if (needs_flush_ptr !=
NULL) {
290 if (check_needs_flush && (*needs_flush_ptr == 0)) {
293 *needs_flush_ptr = 0;
310 bool has_edited =
false;
333 bool shift,
bool ctrl,
float *val,
float fac1,
float fac2,
float fac3,
int invert)
342 *val = fac3 *
floorf(*val / fac3 + 0.5f);
347 *val = fac2 *
floorf(*val / fac2 + 0.5f);
352 *val = fac1 *
floorf(*val / fac1 + 0.5f);
360 const char *abs_name,
380 if (blendfile_path[0] !=
'\0') {
384 BLI_snprintf(local_name,
sizeof(local_name),
"//%s/%s", folder, fi);
385 if (!
STREQ(abs_name, local_name)) {
454 const struct IDRemapper *mappings)
457 if (
st &&
st->id_remap) {
458 st->id_remap(
area, sl, mappings);
469 if (
st &&
st->id_remap) {
472 st->id_remap(
area, sl, mappings);
bool BKE_collection_has_object_recursive(struct Collection *collection, struct Object *ob)
struct Scene * CTX_data_scene(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct Object * CTX_data_active_object(const bContext *C)
struct Depsgraph * CTX_data_expect_evaluated_depsgraph(const bContext *C)
struct ReportList * CTX_wm_reports(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
bool BKE_scene_has_object(struct Scene *scene, struct Object *ob)
bool BKE_id_is_editable(const struct Main *bmain, const struct ID *id)
void BKE_id_remapper_add(struct IDRemapper *id_remapper, struct ID *old_id, struct ID *new_id)
struct IDRemapper * BKE_id_remapper_create(void)
void BKE_id_remapper_free(struct IDRemapper *id_remapper)
const char * BKE_main_blendfile_path(const struct Main *bmain) ATTR_NONNULL()
General operations, lookup, etc. for materials.
void BKE_texpaint_slots_refresh_object(struct Scene *scene, struct Object *ob)
void multires_flush_sculpt_updates(struct Object *object)
General operations, lookup, etc. for blender objects.
char * BKE_object_data_editmode_flush_ptr_get(struct ID *id)
void BKE_object_sculpt_data_create(struct Object *ob)
bool BKE_object_has_mode_data(const struct Object *ob, eObjectMode object_mode)
enum ePF_FileCompare BKE_packedfile_compare_to_file(const char *ref_file_name, const char *filepath_rel, struct PackedFile *pf)
void BKE_sculptsession_bm_to_me_for_render(struct Object *object)
void BKE_sculptsession_bm_to_me(struct Object *ob, bool reorder)
struct SpaceType * BKE_spacetype_from_id(int spaceid)
void BKE_undosys_stack_destroy(UndoStack *ustack)
#define BLI_assert_unreachable()
#define LISTBASE_FOREACH(type, var, list)
void BLI_split_file_part(const char *string, char *file, size_t filelen)
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
struct Depsgraph Depsgraph
void DEG_id_tag_update(struct ID *id, int flag)
@ ID_RECALC_COPY_ON_WRITE
@ GP_DATA_STROKE_WEIGHTMODE
@ GP_DATA_STROKE_VERTEXMODE
@ GP_DATA_STROKE_PAINTMODE
@ GP_DATA_STROKE_SCULPTMODE
@ GP_DATA_STROKE_EDITMODE
#define OB_MODE_ALL_PAINT_GPENCIL
#define OB_MODE_ALL_SCULPT
#define BASACT(_view_layer)
void ED_assetlist_storage_tag_main_data_dirty(void)
void ED_space_image_paint_update(struct Main *bmain, struct wmWindowManager *wm, struct Scene *scene)
void ED_mesh_mirror_topo_table_end(struct Object *ob)
void ED_mesh_mirror_spatial_table_end(struct Object *ob)
bool ED_object_editmode_enter_ex(struct Main *bmain, struct Scene *scene, struct Object *ob, int flag)
bool ED_object_editmode_free_ex(struct Main *bmain, struct Object *obedit)
bool ED_object_mode_set(struct bContext *C, eObjectMode mode)
bool ED_object_editmode_load(struct Main *bmain, struct Object *obedit)
void ED_object_sculptmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, bool force_dyntopo, struct ReportList *reports)
void ED_object_vpaintmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
void ED_object_wpaintmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
bool ED_paint_proj_mesh_data_check(struct Scene *scene, struct Object *ob, bool *uvs, bool *mat, bool *tex, bool *stencil)
void ED_area_tag_redraw(ScrArea *area)
#define ED_screen_areas_iter(win, screen, area_name)
Read Guarded memory(de)allocation.
struct uiLayout * UI_popup_menu_layout(uiPopupMenu *pup)
void uiItemFullO_ptr(uiLayout *layout, struct wmOperatorType *ot, const char *name, int icon, struct IDProperty *properties, wmOperatorCallContext context, int flag, struct PointerRNA *r_opptr)
void UI_popup_menu_end(struct bContext *C, struct uiPopupMenu *pup)
uiPopupMenu * UI_popup_menu_begin(struct bContext *C, const char *title, int icon) ATTR_NONNULL()
std::string id_name(void *id)
const Depsgraph * depsgraph
void ED_spacedata_id_remap_single(struct ScrArea *area, struct SpaceLink *sl, ID *old_id, ID *new_id)
void ED_editors_exit(Main *bmain, bool do_undo_system)
bool ED_editors_flush_edits_for_object(Main *bmain, Object *ob)
void unpack_menu(bContext *C, const char *opname, const char *id_name, const char *abs_name, const char *folder, struct PackedFile *pf)
bool ED_editors_flush_edits_for_object_ex(Main *bmain, Object *ob, bool for_render, bool check_needs_flush)
void ED_spacedata_id_remap(struct ScrArea *area, struct SpaceLink *sl, const struct IDRemapper *mappings)
bool ED_editors_flush_edits(Main *bmain)
void apply_keyb_grid(bool shift, bool ctrl, float *val, float fac1, float fac2, float fac3, int invert)
void ED_editors_init_for_undo(Main *bmain)
bool ED_editors_flush_edits_ex(Main *bmain, bool for_render, bool check_needs_flush)
void ED_editors_init(bContext *C)
#define pf(_x, _i)
Prefetch 64.
void ED_gpencil_toggle_brush_cursor(bContext *C, bool enable, void *customdata)
CCL_NAMESPACE_BEGIN ccl_device float invert(float color, float factor)
static void area(int d1, int d2, int e1, int e2, float weights[2])
static const pxr::TfToken st("st", pxr::TfToken::Immortal)
bool ED_object_posemode_enter_ex(struct Main *bmain, Object *ob)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
char is_memfile_undo_flush_needed
struct SculptSession * sculpt
struct Collection * master_collection
struct StrokeCache * cache
struct UndoStack * undo_stack
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
bScreen * WM_window_get_active_screen(const wmWindow *win)
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
Scene * WM_window_get_active_scene(const wmWindow *win)