Merge with -r 22620:23107.
[blender.git] / source / blender / makesrna / intern / rna_armature.c
index 57eb3c1..a2124b4 100644 (file)
@@ -447,7 +447,7 @@ static void rna_def_bone(BlenderRNA *brna)
 
        rna_def_bone_common(srna, 0);
 
-               // XXX should we define this in PoseChannel wrapping code instead? but PoseChannels directly get some of their flags from here...
+       // XXX should we define this in PoseChannel wrapping code instead? but PoseChannels directly get some of their flags from here...
        prop= RNA_def_property(srna, "hidden", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_HIDDEN_P);
        RNA_def_property_ui_text(prop, "Hidden", "Bone is not visible when it is not in Edit Mode (i.e. in Object or Pose Modes).");
@@ -457,6 +457,37 @@ static void rna_def_bone(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_SELECTED);
        RNA_def_property_ui_text(prop, "Selected", "");
        RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
+
+       /* XXX better matrix descriptions possible (Arystan) */
+       prop= RNA_def_property(srna, "matrix", PROP_FLOAT, PROP_MATRIX);
+       RNA_def_property_float_sdna(prop, NULL, "bone_mat");
+       RNA_def_property_array(prop, 9);
+       RNA_def_property_ui_text(prop, "Bone Matrix", "3x3 bone matrix.");
+
+       prop= RNA_def_property(srna, "armature_matrix", PROP_FLOAT, PROP_MATRIX);
+       RNA_def_property_float_sdna(prop, NULL, "arm_mat");
+       RNA_def_property_array(prop, 16);
+       RNA_def_property_ui_text(prop, "Bone Armature-Relative Matrix", "4x4 bone matrix relative to armature.");
+
+       prop= RNA_def_property(srna, "tail", PROP_FLOAT, PROP_TRANSLATION);
+       RNA_def_property_float_sdna(prop, NULL, "tail");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Tail", "Location of tail end of the bone.");
+
+       prop= RNA_def_property(srna, "armature_tail", PROP_FLOAT, PROP_TRANSLATION);
+       RNA_def_property_float_sdna(prop, NULL, "arm_tail");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Armature-Relative Tail", "Location of tail end of the bone relative to armature.");
+
+       prop= RNA_def_property(srna, "head", PROP_FLOAT, PROP_TRANSLATION);
+       RNA_def_property_float_sdna(prop, NULL, "head");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Head", "Location of head end of the bone.");
+
+       prop= RNA_def_property(srna, "armature_head", PROP_FLOAT, PROP_TRANSLATION);
+       RNA_def_property_float_sdna(prop, NULL, "arm_head");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Armature-Relative Head", "Location of head end of the bone relative to armature.");
 }
 
 static void rna_def_edit_bone(BlenderRNA *brna)