Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/data_transfer.cc
| Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | if (!(cddata_type & CD_FAKE)) { | ||||
| else if (DT_DATATYPE_IS_POLY(dtdata_type)) { | else if (DT_DATATYPE_IS_POLY(dtdata_type)) { | ||||
| r_data_masks->pmask |= 1LL << cddata_type; | r_data_masks->pmask |= 1LL << cddata_type; | ||||
| } | } | ||||
| } | } | ||||
| else if (cddata_type == CD_FAKE_MDEFORMVERT) { | else if (cddata_type == CD_FAKE_MDEFORMVERT) { | ||||
| r_data_masks->vmask |= CD_MASK_MDEFORMVERT; /* Exception for vgroups :/ */ | r_data_masks->vmask |= CD_MASK_MDEFORMVERT; /* Exception for vgroups :/ */ | ||||
| } | } | ||||
| else if (cddata_type == CD_FAKE_UV) { | else if (cddata_type == CD_FAKE_UV) { | ||||
| r_data_masks->lmask |= CD_MASK_MLOOPUV; | r_data_masks->lmask |= CD_MASK_PROP_FLOAT2; | ||||
| } | } | ||||
| else if (cddata_type == CD_FAKE_LNOR) { | else if (cddata_type == CD_FAKE_LNOR) { | ||||
| r_data_masks->lmask |= CD_MASK_NORMAL | CD_MASK_CUSTOMLOOPNORMAL; | r_data_masks->lmask |= CD_MASK_NORMAL | CD_MASK_CUSTOMLOOPNORMAL; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| bool BKE_object_data_transfer_get_dttypes_capacity(const int dtdata_types, | bool BKE_object_data_transfer_get_dttypes_capacity(const int dtdata_types, | ||||
| ▲ Show 20 Lines • Show All 905 Lines • ▼ Show 20 Lines | if (r_map && ELEM(cddata_type, CD_FAKE_SHARP, CD_FAKE_SEAM)) { | ||||
| interp_data); | interp_data); | ||||
| return true; | return true; | ||||
| } | } | ||||
| return false; | return false; | ||||
| } | } | ||||
| else if (elem_type == ME_LOOP) { | else if (elem_type == ME_LOOP) { | ||||
| if (cddata_type == CD_FAKE_UV) { | if (cddata_type == CD_FAKE_UV) { | ||||
| cddata_type = CD_MLOOPUV; | cddata_type = CD_PROP_FLOAT2; | ||||
| } | } | ||||
| else if (cddata_type == CD_FAKE_LNOR) { | else if (cddata_type == CD_FAKE_LNOR) { | ||||
| /* Pre-process should have generated it, | /* Pre-process should have generated it, | ||||
| * Post-process will convert it back to CD_CUSTOMLOOPNORMAL. */ | * Post-process will convert it back to CD_CUSTOMLOOPNORMAL. */ | ||||
| cddata_type = CD_NORMAL; | cddata_type = CD_NORMAL; | ||||
| interp_data = space_transform; | interp_data = space_transform; | ||||
| interp = customdata_data_transfer_interp_normal_normals; | interp = customdata_data_transfer_interp_normal_normals; | ||||
| } | } | ||||
| Show All 22 Lines | if (!(cddata_type & CD_FAKE)) { | ||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| return false; | return false; | ||||
| } | } | ||||
| else if (elem_type == ME_POLY) { | else if (elem_type == ME_POLY) { | ||||
| if (cddata_type == CD_FAKE_UV) { | if (cddata_type == CD_FAKE_UV) { | ||||
| cddata_type = CD_MLOOPUV; | cddata_type = CD_PROP_FLOAT2; | ||||
| } | } | ||||
| if (!(cddata_type & CD_FAKE)) { | if (!(cddata_type & CD_FAKE)) { | ||||
| cd_src = &me_src->pdata; | cd_src = &me_src->pdata; | ||||
| cd_dst = &me_dst->pdata; | cd_dst = &me_dst->pdata; | ||||
| if (!data_transfer_layersmapping_cdlayers(r_map, | if (!data_transfer_layersmapping_cdlayers(r_map, | ||||
| cddata_type, | cddata_type, | ||||
| ▲ Show 20 Lines • Show All 720 Lines • Show Last 20 Lines | |||||