fix T50923: Inconsistent default values and wrong order of parameters in api call
authorGaia Clary <gaia.clary@machinimatrix.org>
Sun, 12 Mar 2017 19:31:34 +0000 (20:31 +0100)
committerGaia Clary <gaia.clary@machinimatrix.org>
Sun, 12 Mar 2017 19:31:51 +0000 (20:31 +0100)
source/blender/editors/io/io_collada.c
source/blender/makesrna/intern/rna_scene_api.c

index baae92f962e700c25c2341f8d07a2b3d90537539..0e185cd93a7105e7000a26b26442a8159030807d 100644 (file)
@@ -256,11 +256,11 @@ static void uiCollada_exportSettings(uiLayout *layout, PointerRNA *imfptr)
        uiItemL(row, IFACE_("Collada Options:"), ICON_MODIFIER);
 
        row = uiLayoutRow(box, false);
-       uiItemR(row, imfptr, "triangulate", 0, NULL, ICON_NONE);
+       uiItemR(row, imfptr, "triangulate", 1, NULL, ICON_NONE);
        row = uiLayoutRow(box, false);
-       uiItemR(row, imfptr, "use_object_instantiation", 0, NULL, ICON_NONE);
+       uiItemR(row, imfptr, "use_object_instantiation", 1, NULL, ICON_NONE);
        row = uiLayoutRow(box, false);
-       uiItemR(row, imfptr, "use_blender_profile", 0, NULL, ICON_NONE);
+       uiItemR(row, imfptr, "use_blender_profile", 1, NULL, ICON_NONE);
 
        row = uiLayoutRow(box, false);
        split = uiLayoutSplit(row, 0.6f, UI_LAYOUT_ALIGN_RIGHT);
@@ -296,6 +296,8 @@ static bool wm_collada_export_check(bContext *UNUSED(C), wmOperator *op)
 
 void WM_OT_collada_export(wmOperatorType *ot)
 {
+       struct StructRNA *func = ot->srna;
+
        static EnumPropertyItem prop_bc_export_mesh_type[] = {
                {BC_MESH_TYPE_VIEW, "view", 0, "View", "Apply modifier's view settings"},
                {BC_MESH_TYPE_RENDER, "render", 0, "Render", "Apply modifier's render settings"},
@@ -325,64 +327,64 @@ void WM_OT_collada_export(wmOperatorType *ot)
                ot, FILE_TYPE_FOLDER | FILE_TYPE_COLLADA, FILE_BLENDER, FILE_SAVE,
                WM_FILESEL_FILEPATH, FILE_DEFAULTDISPLAY, FILE_SORT_ALPHA);
 
-       RNA_def_boolean(ot->srna,
+       RNA_def_boolean(func,
                        "apply_modifiers", 0, "Apply Modifiers",
                        "Apply modifiers to exported mesh (non destructive))");
 
-       RNA_def_int(ot->srna, "export_mesh_type", 0, INT_MIN, INT_MAX,
+       RNA_def_int(func, "export_mesh_type", 0, INT_MIN, INT_MAX,
                    "Resolution", "Modifier resolution for export", INT_MIN, INT_MAX);
 
-       RNA_def_enum(ot->srna, "export_mesh_type_selection", prop_bc_export_mesh_type, 0,
+       RNA_def_enum(func, "export_mesh_type_selection", prop_bc_export_mesh_type, 0,
                     "Resolution", "Modifier resolution for export");
 
-       RNA_def_boolean(ot->srna, "selected", 0, "Selection Only",
+       RNA_def_boolean(func, "selected", 0, "Selection Only",
                        "Export only selected elements");
 
-       RNA_def_boolean(ot->srna, "include_children", 0, "Include Children",
+       RNA_def_boolean(func, "include_children", 0, "Include Children",
                        "Export all children of selected objects (even if not selected)");
 
-       RNA_def_boolean(ot->srna, "include_armatures", 0, "Include Armatures",
+       RNA_def_boolean(func, "include_armatures", 0, "Include Armatures",
                        "Export related armatures (even if not selected)");
 
-       RNA_def_boolean(ot->srna, "include_shapekeys", 1, "Include Shape Keys",
+       RNA_def_boolean(func, "include_shapekeys", 1, "Include Shape Keys",
                        "Export all Shape Keys from Mesh Objects");
 
-       RNA_def_boolean(ot->srna, "deform_bones_only", 0, "Deform Bones only",
+       RNA_def_boolean(func, "deform_bones_only", 0, "Deform Bones only",
                        "Only export deforming bones with armatures");
 
 
-       RNA_def_boolean(ot->srna, "active_uv_only", 0, "Only Selected UV Map",
+       RNA_def_boolean(func, "active_uv_only", 0, "Only Selected UV Map",
                        "Export only the selected UV Map");
 
-       RNA_def_boolean(ot->srna, "include_uv_textures", 0, "Include UV Textures",
+       RNA_def_boolean(func, "include_uv_textures", 0, "Include UV Textures",
                        "Export textures assigned to the object UV Maps");
 
-       RNA_def_boolean(ot->srna, "include_material_textures", 0, "Include Material Textures",
+       RNA_def_boolean(func, "include_material_textures", 0, "Include Material Textures",
                        "Export textures assigned to the object Materials");
 
-       RNA_def_boolean(ot->srna, "use_texture_copies", 1, "Copy",
+       RNA_def_boolean(func, "use_texture_copies", 1, "Copy",
                        "Copy textures to same folder where the .dae file is exported");
 
 
-       RNA_def_boolean(ot->srna, "triangulate", 1, "Triangulate",
+       RNA_def_boolean(func, "triangulate", 1, "Triangulate",
                        "Export Polygons (Quads & NGons) as Triangles");
 
-       RNA_def_boolean(ot->srna, "use_object_instantiation", 1, "Use Object Instances",
+       RNA_def_boolean(func, "use_object_instantiation", 1, "Use Object Instances",
                "Instantiate multiple Objects from same Data");
 
-       RNA_def_boolean(ot->srna, "use_blender_profile", 1, "Use Blender Profile",
+       RNA_def_boolean(func, "use_blender_profile", 1, "Use Blender Profile",
                "Export additional Blender specific information (for material, shaders, bones, etc.)");
 
-       RNA_def_boolean(ot->srna, "sort_by_name", 0, "Sort by Object name",
+       RNA_def_boolean(func, "sort_by_name", 0, "Sort by Object name",
                        "Sort exported data by Object name");
 
-       RNA_def_int(ot->srna, "export_transformation_type", 0, INT_MIN, INT_MAX,
+       RNA_def_int(func, "export_transformation_type", 0, INT_MIN, INT_MAX,
                    "Transform", "Transformation type for translation, scale and rotation", INT_MIN, INT_MAX);
 
-       RNA_def_enum(ot->srna, "export_transformation_type_selection", prop_bc_export_transformation_type, 0,
+       RNA_def_enum(func, "export_transformation_type_selection", prop_bc_export_transformation_type, 0,
                     "Transform", "Transformation type for translation, scale and rotation");
 
-       RNA_def_boolean(ot->srna, "open_sim", 0, "Export to SL/OpenSim",
+       RNA_def_boolean(func, "open_sim", 0, "Export to SL/OpenSim",
                        "Compatibility mode for SL, OpenSim and other compatible online worlds");
 }
 
index bb70f9dccd0fca316719c10c7b30ec9495d76dcb..d4d8e23fdf575cf77ffafd20b40fdd9532520366 100644 (file)
@@ -263,34 +263,53 @@ static void rna_Scene_alembic_export(
 /* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */
 #include "../../collada/collada.h"
 
+/* Note: This definition must match to the generated function call */
 static void rna_Scene_collada_export(
         Scene *scene,
-        const char *filepath,
+        const char *filepath, 
         int apply_modifiers,
-        int export_mesh_type,
 
+        int export_mesh_type,
         int selected,
         int include_children,
         int include_armatures,
         int include_shapekeys,
         int deform_bones_only,
-
         int active_uv_only,
         int include_uv_textures,
         int include_material_textures,
         int use_texture_copies,
-
-        int use_ngons,
+        int triangulate,
         int use_object_instantiation,
         int use_blender_profile,
         int sort_by_name,
-        int open_sim,
-        int export_transformation_type)
+        int export_transformation_type,
+        int open_sim)
 {
-       collada_export(scene, filepath, apply_modifiers, export_mesh_type, selected,
-                      include_children, include_armatures, include_shapekeys, deform_bones_only,
-                      active_uv_only, include_uv_textures, include_material_textures,
-                      use_texture_copies, use_ngons, use_object_instantiation, use_blender_profile, sort_by_name, export_transformation_type, open_sim);
+    collada_export(scene,
+        filepath,
+
+        apply_modifiers,
+        export_mesh_type,
+
+        selected,
+        include_children,
+        include_armatures,
+        include_shapekeys,
+        deform_bones_only,
+
+        active_uv_only,
+        include_uv_textures,
+        include_material_textures,
+        use_texture_copies,
+
+        triangulate,
+        use_object_instantiation,
+        use_blender_profile,
+        sort_by_name,
+
+        export_transformation_type,
+        open_sim);
 }
 
 #endif
@@ -354,30 +373,60 @@ void RNA_api_scene(StructRNA *srna)
        parm = RNA_def_string(func, "filepath", NULL, FILE_MAX, "File Path", "File path to write Collada file");
        RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
        RNA_def_property_subtype(parm, PROP_FILEPATH); /* allow non utf8 */
-       RNA_def_boolean(func, "apply_modifiers", 0, "Apply Modifiers", "Apply modifiers");
+
+       RNA_def_boolean(func,
+               "apply_modifiers", 0, "Apply Modifiers",
+               "Apply modifiers to exported mesh (non destructive))");
+
        RNA_def_int(func, "export_mesh_type", 0, INT_MIN, INT_MAX,
-                   "Resolution", "Modifier resolution for export", INT_MIN, INT_MAX);
-       RNA_def_boolean(func, "selected", 0, "Selection Only", "Export only selected elements");
-       RNA_def_boolean(func, "include_children", 0, "Include Children", "Export all children of selected objects (even if not selected)");
-       RNA_def_boolean(func, "include_armatures", 0, "Include Armatures", "Export related armatures (even if not selected)");
-       RNA_def_boolean(func, "include_shapekeys", 0, "Include Shape Keys", "Export all Shape Keys from Mesh Objects");
-       RNA_def_boolean(func, "deform_bones_only", 0, "Deform Bones only", "Only export deforming bones with armatures");
-
-       RNA_def_boolean(func, "active_uv_only", 0, "Active UV Layer only", "Export only the active UV Layer");
-       RNA_def_boolean(func, "include_uv_textures", 0, "Include UV Textures", "Export textures assigned to the object UV maps");
-       RNA_def_boolean(func, "include_material_textures", 0, "Include Material Textures", "Export textures assigned to the object Materials");
-       RNA_def_boolean(func, "use_texture_copies", 0, "copy", "Copy textures to same folder where the .dae file is exported");
-
-       RNA_def_boolean(func, "use_ngons", 1, "Use NGons", "Keep NGons in Export");
-       RNA_def_boolean(func, "use_object_instantiation", 1, "Use Object Instances", "Instantiate multiple Objects from same Data");
-       RNA_def_boolean(func, "use_blender_profile", 1, "Use Blender Profile", "Export additional Blender specific information (for material, shaders, bones, etc.)");
-       RNA_def_boolean(func, "sort_by_name", 0, "Sort by Object name", "Sort exported data by Object name");
-       RNA_def_boolean(func, "open_sim", 0, "Export for SL/OpenSim", "Compatibility mode for SL, OpenSim and similar online worlds");
+               "Resolution", "Modifier resolution for export", INT_MIN, INT_MAX);
+
+       RNA_def_boolean(func, "selected", 0, "Selection Only",
+               "Export only selected elements");
+
+       RNA_def_boolean(func, "include_children", 0, "Include Children",
+               "Export all children of selected objects (even if not selected)");
+
+       RNA_def_boolean(func, "include_armatures", 0, "Include Armatures",
+               "Export related armatures (even if not selected)");
+
+       RNA_def_boolean(func, "include_shapekeys", 1, "Include Shape Keys",
+               "Export all Shape Keys from Mesh Objects");
+
+       RNA_def_boolean(func, "deform_bones_only", 0, "Deform Bones only",
+               "Only export deforming bones with armatures");
+
+
+       RNA_def_boolean(func, "active_uv_only", 0, "Only Selected UV Map",
+               "Export only the selected UV Map");
+
+       RNA_def_boolean(func, "include_uv_textures", 0, "Include UV Textures",
+               "Export textures assigned to the object UV Maps");
+
+       RNA_def_boolean(func, "include_material_textures", 0, "Include Material Textures",
+               "Export textures assigned to the object Materials");
+
+       RNA_def_boolean(func, "use_texture_copies", 1, "Copy",
+               "Copy textures to same folder where the .dae file is exported");
+
+
+       RNA_def_boolean(func, "triangulate", 1, "Triangulate",
+               "Export Polygons (Quads & NGons) as Triangles");
+
+       RNA_def_boolean(func, "use_object_instantiation", 1, "Use Object Instances",
+               "Instantiate multiple Objects from same Data");
+
+       RNA_def_boolean(func, "use_blender_profile", 1, "Use Blender Profile",
+               "Export additional Blender specific information (for material, shaders, bones, etc.)");
+
+       RNA_def_boolean(func, "sort_by_name", 0, "Sort by Object name",
+               "Sort exported data by Object name");
 
        RNA_def_int(func, "export_transformation_type", 0, INT_MIN, INT_MAX,
-                   "Transformation", "Transformation type for translation, scale and rotation", INT_MIN, INT_MAX);
+               "Transform", "Transformation type for translation, scale and rotation", INT_MIN, INT_MAX);
 
-       RNA_def_function_ui_description(func, "Export to collada file");
+       RNA_def_boolean(func, "open_sim", 0, "Export to SL/OpenSim",
+               "Compatibility mode for SL, OpenSim and other compatible online worlds");
 #endif
 
 #ifdef WITH_ALEMBIC