diff options
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object_update.c | 4 | ||||
-rw-r--r-- | source/blender/draw/modes/object_mode.c | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 17 |
4 files changed, 16 insertions, 11 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 9857cb0c547..4db68abf1a8 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2194,10 +2194,10 @@ static void solve_parenting(Object *ob, Object *par, float obmat[4][4], /* origin, for help line */ if (set_origin) { if ((ob->partype & PARTYPE) == PARSKEL) { - copy_v3_v3(ob->orig, par->obmat[3]); + copy_v3_v3(ob->runtime.parent_origin_eval, par->obmat[3]); } else { - copy_v3_v3(ob->orig, totmat[3]); + copy_v3_v3(ob->runtime.parent_origin_eval, totmat[3]); } } } diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c index 0ecb088e57e..b82ff00c656 100644 --- a/source/blender/blenkernel/intern/object_update.c +++ b/source/blender/blenkernel/intern/object_update.c @@ -106,10 +106,10 @@ void BKE_object_eval_parent(Depsgraph *depsgraph, Object *ob) /* origin, for help line */ if ((ob->partype & PARTYPE) == PARSKEL) { - copy_v3_v3(ob->orig, par->obmat[3]); + copy_v3_v3(ob->runtime.parent_origin_eval, par->obmat[3]); } else { - copy_v3_v3(ob->orig, totmat[3]); + copy_v3_v3(ob->runtime.parent_origin_eval, totmat[3]); } } diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c index 73430e7b0c1..0c82c39f8b4 100644 --- a/source/blender/draw/modes/object_mode.c +++ b/source/blender/draw/modes/object_mode.c @@ -2553,7 +2553,7 @@ static void DRW_shgroup_relationship_lines( Object *ob) { if (ob->parent && (DRW_object_visibility_in_active_context(ob->parent) & OB_VISIBLE_SELF)) { - DRW_shgroup_call_dynamic_add(sgl->relationship_lines, ob->orig); + DRW_shgroup_call_dynamic_add(sgl->relationship_lines, ob->runtime.parent_origin_eval); DRW_shgroup_call_dynamic_add(sgl->relationship_lines, ob->obmat[3]); } diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 2c0095d640d..180df08e1d9 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -128,6 +128,15 @@ typedef struct Object_Runtime { */ uint64_t last_data_mask; + /** Did last modifier stack generation need mapping support? */ + char last_need_mapping; + + char _pad0[3]; + + /** Only used for drawing the parent/child help-line. */ + float parent_origin_eval[3]; + + /** Axis aligned boundbox (in localspace). */ struct BoundBox *bb; @@ -156,9 +165,6 @@ typedef struct Object_Runtime { struct ObjectBBoneDeform *cached_bbone_deformation; - /** Did last modifier stack generation need mapping support? */ - char last_need_mapping; - char pad[7]; } Object_Runtime; typedef struct Object { @@ -226,8 +232,8 @@ typedef struct Object { int actcol; /* rot en drot have to be together! (transform('r' en 's')) */ - float loc[3], dloc[3], orig[3]; - /** Scale in fact. */ + float loc[3], dloc[3]; + /** Scale (can be negative). */ float scale[3]; /** DEPRECATED, 2.60 and older only. */ float dsize[3] DNA_DEPRECATED ; @@ -276,7 +282,6 @@ typedef struct Object { short trackflag, upflag; /** Used for DopeSheet filtering settings (expanded/collapsed). */ short nlaflag; - short pad[2]; char pad12; char duplicator_visibility_flag; |