minor rna changes
- set matrix values not to be animatable - some matrix values were still accessed as 1d arrays.
This commit is contained in:
@@ -399,6 +399,9 @@ static void rna_Armature_bones_next(CollectionPropertyIterator *iter)
|
||||
|
||||
#else
|
||||
|
||||
static int rna_matrix_dimsize_4x4[]= {4, 4};
|
||||
static int rna_matrix_dimsize_3x3[]= {3, 3};
|
||||
|
||||
static void rna_def_bone_common(StructRNA *srna, int editbone)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
@@ -548,52 +551,62 @@ static void rna_def_bone(BlenderRNA *brna)
|
||||
prop= RNA_def_property(srna, "hide", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_HIDDEN_P);
|
||||
RNA_def_property_ui_text(prop, "Hide", "Bone is not visible when it is not in Edit Mode (i.e. in Object or Pose Modes)");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
|
||||
|
||||
prop= RNA_def_property(srna, "select", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_SELECTED);
|
||||
RNA_def_property_ui_text(prop, "Select", "");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
|
||||
|
||||
prop= RNA_def_property(srna, "select_head", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_ROOTSEL);
|
||||
RNA_def_property_ui_text(prop, "Select Head", "");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
|
||||
|
||||
prop= RNA_def_property(srna, "select_tail", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_TIPSEL);
|
||||
RNA_def_property_ui_text(prop, "Select Tail", "");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
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_multi_array(prop, 2, rna_matrix_dimsize_3x3);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Bone Matrix", "3x3 bone matrix");
|
||||
|
||||
prop= RNA_def_property(srna, "matrix_local", PROP_FLOAT, PROP_MATRIX);
|
||||
RNA_def_property_float_sdna(prop, NULL, "arm_mat");
|
||||
RNA_def_property_array(prop, 16);
|
||||
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
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_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Tail", "Location of tail end of the bone");
|
||||
|
||||
prop= RNA_def_property(srna, "tail_local", PROP_FLOAT, PROP_TRANSLATION);
|
||||
RNA_def_property_float_sdna(prop, NULL, "arm_tail");
|
||||
RNA_def_property_array(prop, 3);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
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_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Head", "Location of head end of the bone relative to its parent");
|
||||
|
||||
prop= RNA_def_property(srna, "head_local", PROP_FLOAT, PROP_TRANSLATION);
|
||||
RNA_def_property_float_sdna(prop, NULL, "arm_head");
|
||||
RNA_def_property_array(prop, 3);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Armature-Relative Head", "Location of head end of the bone relative to armature");
|
||||
|
||||
RNA_api_bone(srna);
|
||||
@@ -623,18 +636,21 @@ static void rna_def_edit_bone(BlenderRNA *brna)
|
||||
RNA_def_property_float_sdna(prop, NULL, "roll");
|
||||
RNA_def_property_ui_range(prop, -M_PI * 2, M_PI * 2, 0.1, 2);
|
||||
RNA_def_property_ui_text(prop, "Roll", "Bone rotation around head-tail axis");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
|
||||
|
||||
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");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
|
||||
|
||||
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");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
|
||||
|
||||
rna_def_bone_common(srna, 1);
|
||||
@@ -642,32 +658,37 @@ static void rna_def_edit_bone(BlenderRNA *brna)
|
||||
prop= RNA_def_property(srna, "hide", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_HIDDEN_A);
|
||||
RNA_def_property_ui_text(prop, "Hide", "Bone is not visible when in Edit Mode");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
|
||||
|
||||
prop= RNA_def_property(srna, "lock", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_EDITMODE_LOCKED);
|
||||
RNA_def_property_ui_text(prop, "Lock", "Bone is not able to be transformed when in Edit Mode");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
|
||||
|
||||
prop= RNA_def_property(srna, "select", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_SELECTED);
|
||||
RNA_def_property_ui_text(prop, "Select", "");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
|
||||
|
||||
prop= RNA_def_property(srna, "select_head", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_ROOTSEL);
|
||||
RNA_def_property_ui_text(prop, "Head Select", "");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
|
||||
|
||||
prop= RNA_def_property(srna, "select_tail", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_TIPSEL);
|
||||
RNA_def_property_ui_text(prop, "Tail Select", "");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
|
||||
|
||||
/* calculated and read only, not actual data access */
|
||||
prop= RNA_def_property(srna, "matrix", PROP_FLOAT, PROP_MATRIX);
|
||||
//RNA_def_property_float_sdna(prop, NULL, ""); // doesnt access any real data
|
||||
RNA_def_property_array(prop, 16);
|
||||
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
|
||||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_flag(prop, PROP_THICK_WRAP); /* no reference to original data */
|
||||
RNA_def_property_ui_text(prop, "Editbone Matrix", "Read-only matrix calculated from the roll (armature space)");
|
||||
|
||||
@@ -114,7 +114,10 @@ EnumPropertyItem object_type_curve_items[] = {
|
||||
OBTYPE_CU_SURF,
|
||||
OBTYPE_CU_TEXT,
|
||||
{0, NULL, 0, NULL, NULL}};
|
||||
|
||||
|
||||
static int rna_matrix_dimsize_4x4[]= {4, 4};
|
||||
static int rna_matrix_dimsize_3x3[]= {3, 3};
|
||||
|
||||
#ifdef RNA_RUNTIME
|
||||
|
||||
#include "BLI_math.h"
|
||||
@@ -1660,8 +1663,7 @@ static void rna_def_object(BlenderRNA *brna)
|
||||
static float default_quat[4] = {1,0,0,0}; /* default quaternion values */
|
||||
static float default_axisAngle[4] = {0,0,1,0}; /* default axis-angle rotation values */
|
||||
static float default_scale[3] = {1,1,1}; /* default scale values */
|
||||
const int matrix_dimsize[]= {4, 4};
|
||||
const int boundbox_dimsize[]= {8, 3};
|
||||
static int boundbox_dimsize[]= {8, 3};
|
||||
|
||||
srna= RNA_def_struct(brna, "Object", "ID");
|
||||
RNA_def_struct_ui_text(srna, "Object", "Object datablock defining an object in a scene");
|
||||
@@ -1897,18 +1899,21 @@ static void rna_def_object(BlenderRNA *brna)
|
||||
/* matrix */
|
||||
prop= RNA_def_property(srna, "matrix_world", PROP_FLOAT, PROP_MATRIX);
|
||||
RNA_def_property_float_sdna(prop, NULL, "obmat");
|
||||
RNA_def_property_multi_array(prop, 2, matrix_dimsize);
|
||||
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Matrix World", "Worldspace transformation matrix");
|
||||
RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_matrix_world_update");
|
||||
|
||||
prop= RNA_def_property(srna, "matrix_local", PROP_FLOAT, PROP_MATRIX);
|
||||
RNA_def_property_multi_array(prop, 2, matrix_dimsize);
|
||||
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Local Matrix", "Parent relative transformation matrix");
|
||||
RNA_def_property_float_funcs(prop, "rna_Object_matrix_local_get", "rna_Object_matrix_local_set", NULL);
|
||||
RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, NULL);
|
||||
|
||||
prop= RNA_def_property(srna, "matrix_basis", PROP_FLOAT, PROP_MATRIX);
|
||||
RNA_def_property_multi_array(prop, 2, matrix_dimsize);
|
||||
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Input Matrix", "Matrix access to location, rotation and scale (including deltas), before constraints and parenting are applied.");
|
||||
RNA_def_property_float_funcs(prop, "rna_Object_matrix_basis_get", "rna_Object_matrix_basis_set", NULL);
|
||||
RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update");
|
||||
@@ -2225,12 +2230,14 @@ static void rna_def_dupli_object(BlenderRNA *brna)
|
||||
|
||||
prop= RNA_def_property(srna, "matrix_original", PROP_FLOAT, PROP_MATRIX);
|
||||
RNA_def_property_float_sdna(prop, NULL, "omat");
|
||||
RNA_def_property_array(prop, 16);
|
||||
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Object Matrix", "The original matrix of this object before it was duplicated");
|
||||
|
||||
prop= RNA_def_property(srna, "matrix", PROP_FLOAT, PROP_MATRIX);
|
||||
RNA_def_property_float_sdna(prop, NULL, "mat");
|
||||
RNA_def_property_array(prop, 16);
|
||||
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_ui_text(prop, "Object Duplicate Matrix", "Object duplicate transformation matrix");
|
||||
|
||||
/* TODO: DupliObject has more properties that can be wrapped */
|
||||
|
||||
@@ -795,6 +795,7 @@ static void rna_def_pose_channel(BlenderRNA *brna)
|
||||
RNA_def_property_multi_array(prop, 2, matrix_dimsize);
|
||||
RNA_def_property_ui_text(prop, "Basis Matrix", "Provides an alternative access to loc/scale/rotation relative to the parent and own rest bone.");
|
||||
RNA_def_property_float_funcs(prop, "rna_PoseChannel_matrix_basis_get", "rna_PoseChannel_matrix_basis_set", NULL);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, NC_OBJECT|ND_POSE, "rna_Pose_update");
|
||||
|
||||
/* final matrix */
|
||||
@@ -975,6 +976,7 @@ static void rna_def_pose_channel(BlenderRNA *brna)
|
||||
prop= RNA_def_property(srna, "bone_group_index", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "agrp_index");
|
||||
RNA_def_property_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_int_funcs(prop, "rna_PoseChannel_bone_group_index_get", "rna_PoseChannel_bone_group_index_set", "rna_PoseChannel_bone_group_index_range");
|
||||
RNA_def_property_ui_text(prop, "Bone Group Index", "Bone Group this pose channel belongs to (0=no group)");
|
||||
RNA_def_property_editable_func(prop, "rna_PoseChannel_proxy_editable");
|
||||
|
||||
Reference in New Issue
Block a user