Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-11-18 17:10:09 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-11-18 17:10:09 +0300
commit3ae670fc02f9e4eadf3c92f8c8c30df81e4aaaf2 (patch)
tree0cd56059e7a2d58e59aa93d82094566245b30b16
parent4045e838dff87dc95f31d908c7ef4ab541bbe9f4 (diff)
fix [#24786] Setting Rotation Units to Radians doesn't affect the UI [33146]
-rw-r--r--release/scripts/ui/properties_scene.py3
-rw-r--r--source/blender/blenkernel/intern/unit.c2
-rw-r--r--source/blender/editors/animation/anim_draw.c2
-rw-r--r--source/blender/editors/interface/interface.c4
-rw-r--r--source/blender/makesdna/DNA_scene_types.h6
-rw-r--r--source/blender/makesrna/intern/rna_scene.c11
6 files changed, 15 insertions, 13 deletions
diff --git a/release/scripts/ui/properties_scene.py b/release/scripts/ui/properties_scene.py
index e40056cfd30..b6668e19993 100644
--- a/release/scripts/ui/properties_scene.py
+++ b/release/scripts/ui/properties_scene.py
@@ -53,6 +53,7 @@ class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel):
col = layout.column()
col.row().prop(unit, "system", expand=True)
+ col.row().prop(unit, "system_rotation", expand=True)
split = layout.split()
split.active = (unit.system != 'NONE')
@@ -63,8 +64,6 @@ class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel):
col = split.column()
col.prop(unit, "use_separate")
- layout.column().prop(unit, "rotation_units")
-
class SCENE_PT_keying_sets(SceneButtonsPanel, bpy.types.Panel):
bl_label = "Keying Sets"
diff --git a/source/blender/blenkernel/intern/unit.c b/source/blender/blenkernel/intern/unit.c
index 1240b85393b..4cb59a2ee86 100644
--- a/source/blender/blenkernel/intern/unit.c
+++ b/source/blender/blenkernel/intern/unit.c
@@ -255,6 +255,8 @@ static struct bUnitCollection buNaturalTimeCollecton = {buNaturalTimeDef, 3, 0,
static struct bUnitDef buNaturalRotDef[] = {
{"degree", "degrees", "°", NULL, "Degrees", M_PI/180.0, 0.0, B_UNIT_DEF_NONE},
+// {"radian", "radians", "r", NULL, "Radians", 1.0, 0.0, B_UNIT_DEF_NONE},
+// {"turn", "turns", "t", NULL, "Turns", 1.0/(M_PI*2.0), 0.0,B_UNIT_DEF_NONE},
{NULL, NULL, NULL, NULL, NULL, 0.0, 0.0}
};
static struct bUnitCollection buNaturalRotCollection = {buNaturalRotDef, 0, 0, sizeof(buNaturalRotDef)/sizeof(bUnitDef)};
diff --git a/source/blender/editors/animation/anim_draw.c b/source/blender/editors/animation/anim_draw.c
index 7cfe180a7bf..dd27de883b3 100644
--- a/source/blender/editors/animation/anim_draw.c
+++ b/source/blender/editors/animation/anim_draw.c
@@ -392,7 +392,7 @@ float ANIM_unit_mapping_get_factor (Scene *scene, ID *id, FCurve *fcu, short res
if (RNA_SUBTYPE_UNIT(RNA_property_subtype(prop)) == PROP_UNIT_ROTATION)
{
/* if the radians flag is not set, default to using degrees which need conversions */
- if ((scene) && (scene->unit.flag & USER_UNIT_ROT_RADIANS) == 0) {
+ if ((scene) && (scene->unit.system_rotation == USER_UNIT_ROT_RADIANS) == 0) {
if (restore)
return M_PI / 180.0f; /* degrees to radians */
else
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index 7120440468c..85c9feaf823 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -1252,8 +1252,8 @@ int ui_is_but_unit(uiBut *but)
unit_type = RNA_SUBTYPE_UNIT(RNA_property_subtype(but->rnaprop));
-#if 0 // removed so angle buttons get correct snapping
- if (scene->unit.flag & USER_UNIT_ROT_RADIANS && unit_type == PROP_UNIT_ROTATION)
+#if 1 // removed so angle buttons get correct snapping
+ if (scene->unit.system_rotation == USER_UNIT_ROT_RADIANS && unit_type == PROP_UNIT_ROTATION)
return 0;
#endif
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index edba4d7a0eb..eedcf36c584 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -743,8 +743,10 @@ typedef struct bStats {
typedef struct UnitSettings {
/* Display/Editing unit options for each scene */
float scale_length; /* maybe have other unit conversions? */
- short system;
- short flag; /* imperial, metric etc */
+ char system; /* imperial, metric etc */
+ char system_rotation; /* not implimented as a propper unit system yet */
+ short flag;
+
} UnitSettings;
typedef struct PhysicsSettings {
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 780d99cc8ca..0cb4a251d0c 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -1278,6 +1278,11 @@ static void rna_def_unit_settings(BlenderRNA *brna)
RNA_def_property_enum_items(prop, unit_systems);
RNA_def_property_ui_text(prop, "Unit System", "The unit system to use for button display");
RNA_def_property_update(prop, NC_WINDOW, NULL);
+
+ prop= RNA_def_property(srna, "system_rotation", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_items(prop, rotation_units);
+ RNA_def_property_ui_text(prop, "Rotation Units", "Unit to use for displaying/editing rotation values");
+ RNA_def_property_update(prop, NC_WINDOW, NULL);
prop= RNA_def_property(srna, "scale_length", PROP_FLOAT, PROP_UNSIGNED);
RNA_def_property_ui_text(prop, "Unit Scale", "Scale to use when converting between blender units and dimensions");
@@ -1289,12 +1294,6 @@ static void rna_def_unit_settings(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_UNIT_OPT_SPLIT);
RNA_def_property_ui_text(prop, "Separate Units", "Display units in pairs");
RNA_def_property_update(prop, NC_WINDOW, NULL);
-
- prop= RNA_def_property(srna, "rotation_units", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag");
- RNA_def_property_enum_items(prop, rotation_units);
- RNA_def_property_ui_text(prop, "Rotation Units", "Unit to use for displaying/editing rotation values");
- RNA_def_property_update(prop, NC_WINDOW, NULL);
}
void rna_def_render_layer_common(StructRNA *srna, int scene)