Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/object.c
| Show First 20 Lines • Show All 2,628 Lines • ▼ Show 20 Lines | if (!is_subprocess) { | ||||
| } | } | ||||
| } | } | ||||
| Material ***matarar; | Material ***matarar; | ||||
| Object *obn = (Object *)BKE_id_copy_for_duplicate(bmain, &ob->id, dupflag); | Object *obn = (Object *)BKE_id_copy_for_duplicate(bmain, &ob->id, dupflag); | ||||
| /* 0 == full linked. */ | /* 0 == full linked. */ | ||||
| if (dupflag == 0) { | if (dupflag == 0 || ((dupflag & USER_DUP_OBJECT) != 0)) { | ||||
| return obn; | return obn; | ||||
| } | } | ||||
| BKE_animdata_duplicate_id_action(bmain, &obn->id, dupflag); | BKE_animdata_duplicate_id_action(bmain, &obn->id, dupflag); | ||||
| if (dupflag & USER_DUP_MAT) { | if (dupflag & USER_DUP_MAT) { | ||||
| for (int i = 0; i < obn->totcol; i++) { | for (int i = 0; i < obn->totcol; i++) { | ||||
| BKE_id_copy_for_duplicate(bmain, (ID *)obn->mat[i], dupflag); | BKE_id_copy_for_duplicate(bmain, (ID *)obn->mat[i], dupflag); | ||||
| ▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | case OB_LAMP: | ||||
| } | } | ||||
| break; | break; | ||||
| case OB_ARMATURE: | case OB_ARMATURE: | ||||
| if (dupflag & USER_DUP_ARM) { | if (dupflag & USER_DUP_ARM) { | ||||
| id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | ||||
| } | } | ||||
| break; | break; | ||||
| case OB_LATTICE: | case OB_LATTICE: | ||||
| if (dupflag != 0) { | |||||
| id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | ||||
| } | |||||
| break; | break; | ||||
| case OB_CAMERA: | case OB_CAMERA: | ||||
| if (dupflag != 0) { | |||||
| id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | ||||
| } | |||||
| break; | break; | ||||
| case OB_LIGHTPROBE: | case OB_LIGHTPROBE: | ||||
| if (dupflag & USER_DUP_LIGHTPROBE) { | if (dupflag & USER_DUP_LIGHTPROBE) { | ||||
| id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | ||||
| } | } | ||||
| break; | break; | ||||
| case OB_SPEAKER: | case OB_SPEAKER: | ||||
| if (dupflag != 0) { | |||||
| id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | ||||
| } | |||||
| break; | break; | ||||
| case OB_GPENCIL: | case OB_GPENCIL: | ||||
| if (dupflag & USER_DUP_GPENCIL) { | if (dupflag & USER_DUP_GPENCIL) { | ||||
| id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | id_new = BKE_id_copy_for_duplicate(bmain, id_old, dupflag); | ||||
| } | } | ||||
| break; | break; | ||||
| case OB_HAIR: | case OB_HAIR: | ||||
| if (dupflag & USER_DUP_HAIR) { | if (dupflag & USER_DUP_HAIR) { | ||||
| ▲ Show 20 Lines • Show All 3,013 Lines • Show Last 20 Lines | |||||