141 (nu->bp ? (
sizeof(
BPoint) * (nu->pntsu * nu->pntsv)) : 0) +
142 (nu->knotsu ? (
sizeof(
float) *
KNOTSU(nu)) : 0) +
143 (nu->knotsv ? (
sizeof(
float) *
KNOTSV(nu)) : 0) +
sizeof(
Nurb));
202 return (obedit !=
nullptr);
220 for (
uint i = 0; i < objects.size(); i++) {
257 "name='%s', failed to enter edit-mode for object '%s', undo state invalid",
306 ut->
name =
"Edit Curve";
AnimData * BKE_animdata_from_id(const ID *id)
Scene * CTX_data_scene(const bContext *C)
wmWindowManager * CTX_wm_manager(const bContext *C)
ViewLayer * CTX_data_view_layer(const bContext *C)
void BKE_curve_editNurb_keyIndex_free(GHash **keyindex)
void BKE_nurbList_free(ListBase *lb)
ListBase * BKE_curve_editNurbs_get(Curve *cu)
Nurb * BKE_nurb_duplicate(const Nurb *nu)
void BKE_fcurves_free(ListBase *list)
void BKE_fcurves_copy(ListBase *dst, ListBase *src)
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
Object * BKE_view_layer_edit_object_get(const ViewLayer *view_layer)
General operations, lookup, etc. for blender objects.
bool BKE_object_is_in_editmode(const Object *ob)
@ UNDOTYPE_FLAG_NEED_CONTEXT_FOR_ENCODE
void(*)(void *user_data, UndoRefID *id_ref) UndoTypeForEachIDRefFn
Generic array manipulation API.
#define BLI_array_is_zeroed(arr, arr_len)
#define LISTBASE_FOREACH(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define CLOG_ERROR(clg_ref,...)
void DEG_id_tag_update(ID *id, unsigned int flags)
struct BezTriple BezTriple
Object is a sort of wrapper for general info.
void ED_undo_object_set_active_or_warn(Scene *scene, ViewLayer *view_layer, Object *ob, const char *info, CLG_LogRef *log)
void ED_undo_object_editmode_restore_helper(Scene *scene, ViewLayer *view_layer, Object **object_array, uint object_array_len, uint object_array_stride)
blender::Vector< Object * > ED_undo_editmode_objects_from_view_layer(const Scene *scene, ViewLayer *view_layer)
void ED_undo_object_editmode_validate_scene_from_windows(wmWindowManager *wm, const Scene *scene_ref, Scene **scene_p, ViewLayer **view_layer_p)
Read Guarded memory(de)allocation.
void ED_curve_keyindex_update_nurb(EditNurb *editnurb, Nurb *nu, Nurb *newnu)
GHash * ED_curve_keyindex_hash_duplicate(GHash *keyindex)
int ED_curve_updateAnimPaths(Main *bmain, Curve *cu)
static void curve_undosys_foreach_ID_ref(UndoStep *us_p, UndoTypeForEachIDRefFn foreach_ID_ref_fn, void *user_data)
static void curve_undosys_step_free(UndoStep *us_p)
static bool curve_undosys_poll(bContext *C)
static Object * editcurve_object_from_context(bContext *C)
static bool curve_undosys_step_encode(bContext *C, Main *bmain, UndoStep *us_p)
void ED_curve_undosys_type(UndoType *ut)
static void undocurve_to_editcurve(Main *bmain, UndoCurve *ucu, Curve *cu, short *r_shapenr)
static void undocurve_free_data(UndoCurve *uc)
static void undocurve_from_editcurve(UndoCurve *ucu, Curve *cu, const short shapenr)
static void curve_undosys_step_decode(bContext *C, Main *bmain, UndoStep *us_p, const eUndoStepDir, bool)
void MEM_freeN(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
UndoRefID_Object obedit_ref
CurveUndoStep_Elem * elems
UndoRefID_Scene scene_ref
bool is_memfile_undo_flush_needed
struct UndoCurve::@317 obedit
void(* step_foreach_ID_ref)(UndoStep *us, UndoTypeForEachIDRefFn foreach_ID_ref_fn, void *user_data)
void(* step_free)(UndoStep *us)
bool(* poll)(struct bContext *C)
void(* step_decode)(bContext *C, Main *bmain, UndoStep *us, eUndoStepDir dir, bool is_final)
bool(* step_encode)(bContext *C, Main *bmain, UndoStep *us)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)