[Bf-blender-cvs] [f7ea1ee] mesh-transfer-data: Add 'face smooth' flag transfer, and some minor cleanup.
Bastien Montagne
noreply at git.blender.org
Wed Oct 15 13:11:22 CEST 2014
Commit: f7ea1eeb6442db2ed792aa98f4f7f4d4c0b9b239
Author: Bastien Montagne
Date: Tue Oct 14 16:23:59 2014 +0200
Branches: mesh-transfer-data
https://developer.blender.org/rBf7ea1eeb6442db2ed792aa98f4f7f4d4c0b9b239
Add 'face smooth' flag transfer, and some minor cleanup.
===================================================================
M source/blender/editors/object/object_transfer_data.c
===================================================================
diff --git a/source/blender/editors/object/object_transfer_data.c b/source/blender/editors/object/object_transfer_data.c
index 53051f9..769a7e1 100644
--- a/source/blender/editors/object/object_transfer_data.c
+++ b/source/blender/editors/object/object_transfer_data.c
@@ -109,6 +109,7 @@ static EnumPropertyItem MDT_layer_items[] = {
{CD_FAKE_BWEIGHT, "BEVEL_WEIGHT", 0, "Bevel Weight", "Transfer bevel weights"},
{0, "", 0, "Face Data", ""},
{CD_FAKE_UV, "UV", 0, "UVs", "Transfer UV layers"},
+ {CD_FAKE_SHARP, "SMOOTH", 0, "Smooth", "Transfer flat/smooth flag"},
{0, "", 0, "Face Corner Data", ""},
/* TODO */
{0, NULL, 0, NULL, NULL}
@@ -188,7 +189,8 @@ static EnumPropertyItem MDT_fromlayers_select_items[] = {
{0, NULL, 0, NULL, NULL}
};
-static EnumPropertyItem *mdt_fromlayers_select_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), bool *r_free)
+static EnumPropertyItem *mdt_fromlayers_select_itemf(
+ bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), bool *r_free)
{
EnumPropertyItem *item = NULL;
int totitem = 0;
@@ -225,7 +227,8 @@ static EnumPropertyItem MDT_tolayers_select_items[] = {
{0, NULL, 0, NULL, NULL}
};
-static EnumPropertyItem *mdt_tolayers_select_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), bool *r_free)
+static EnumPropertyItem *mdt_tolayers_select_itemf(
+ bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), bool *r_free)
{
EnumPropertyItem *item = NULL;
int totitem = 0;
@@ -620,6 +623,16 @@ static bool data_transfer_layersmapping_generate(
}
return true;
}
+ else if (data_type == CD_FAKE_SHARP) {
+ const size_t elem_size = sizeof(*((MPoly *)NULL));
+ const size_t data_size = sizeof(((MPoly *)NULL)->flag);
+ const size_t data_offset = offsetof(MPoly, flag);
+ const uint64_t data_flag = ME_SMOOTH;
+ data_transfer_layersmapping_add_item(r_map, data_type, dm_src->getPolyArray(dm_src), me_dst->mpoly,
+ dm_src->getNumPolys(dm_src), me_dst->totpoly,
+ elem_size, data_size, data_offset, data_flag, NULL);
+ return true;
+ }
else {
return false;
}
More information about the Bf-blender-cvs
mailing list