From e35b4bac0a2c537cd076c0ba92d443bc4e576da9 Mon Sep 17 00:00:00 2001 From: Gaia Clary Date: Mon, 1 Dec 2014 20:31:42 +0100 Subject: Collada Importer: Separated finding bone chains and fixing leaf bone orientations into 2 functions and added a separated import option --- source/blender/editors/io/io_collada.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'source/blender/editors/io') diff --git a/source/blender/editors/io/io_collada.c b/source/blender/editors/io/io_collada.c index b45f3ccde2a..b4b892963fa 100644 --- a/source/blender/editors/io/io_collada.c +++ b/source/blender/editors/io/io_collada.c @@ -366,6 +366,7 @@ static int wm_collada_import_exec(bContext *C, wmOperator *op) char filename[FILE_MAX]; int import_units; int find_chains; + int fix_orientation; int min_chain_length; if (!RNA_struct_property_is_set(op->ptr, "filepath")) { @@ -376,12 +377,14 @@ static int wm_collada_import_exec(bContext *C, wmOperator *op) /* Options panel */ import_units = RNA_boolean_get(op->ptr, "import_units"); find_chains = RNA_boolean_get(op->ptr, "find_chains"); + fix_orientation = RNA_boolean_get(op->ptr, "fix_orientation"); min_chain_length = RNA_int_get(op->ptr, "min_chain_length"); RNA_string_get(op->ptr, "filepath", filename); if (collada_import(C, filename, import_units, find_chains, + fix_orientation, min_chain_length)) { return OPERATOR_FINISHED; } @@ -407,12 +410,14 @@ static void uiCollada_importSettings(uiLayout *layout, PointerRNA *imfptr) row = uiLayoutRow(box, false); uiItemL(row, IFACE_("Armature Options:"), ICON_MESH_DATA); + row = uiLayoutRow(box, false); + uiItemR(row, imfptr, "fix_orientation", 0, NULL, ICON_NONE); + row = uiLayoutRow(box, false); uiItemR(row, imfptr, "find_chains", 0, NULL, ICON_NONE); row = uiLayoutRow(box, false); uiItemR(row, imfptr, "min_chain_length", 0, NULL, ICON_NONE); - } static void wm_collada_import_draw(bContext *UNUSED(C), wmOperator *op) @@ -445,6 +450,10 @@ void WM_OT_collada_import(wmOperatorType *ot) "If disabled match import to Blender's current Unit settings, " "otherwise use the settings from the Imported scene"); + RNA_def_boolean(ot->srna, + "fix_orientation", 0, "Fix Leaf Bones", + "Fix Orientation of Leaf Bones (Collada does only support Joints)"); + RNA_def_boolean(ot->srna, "find_chains", 0, "Find Bone Chains", "Find best matching Bone Chains and ensure bones in chain are connected"); -- cgit v1.2.3