RNA: subtypes and units
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Mon, 10 Aug 2009 21:31:05 +0000 (21:31 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Mon, 10 Aug 2009 21:31:05 +0000 (21:31 +0000)
* Reviewed subtypes, making them more specific and adding new ones.
* Subtypes now have an associated type of units (length, area, volume,
  mass, rotation, time, velocity, acceleration). These are not used
  yet anywhere.
* Centralized code that decides the name of array items based on
  subtype (XYZ, RGB), was copied in 3 places.
* RNA_def_float etc functions still need to be update, will do this
  later together with another change.

40 files changed:
source/blender/editors/animation/anim_ipo_utils.c
source/blender/editors/interface/interface_layout.c
source/blender/editors/space_outliner/outliner.c
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_types.h
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_armature.c
source/blender/makesrna/intern/rna_brush.c
source/blender/makesrna/intern/rna_cloth.c
source/blender/makesrna/intern/rna_color.c
source/blender/makesrna/intern/rna_constraint.c
source/blender/makesrna/intern/rna_curve.c
source/blender/makesrna/intern/rna_define.c
source/blender/makesrna/intern/rna_fcurve.c
source/blender/makesrna/intern/rna_fluidsim.c
source/blender/makesrna/intern/rna_group.c
source/blender/makesrna/intern/rna_image.c
source/blender/makesrna/intern/rna_key.c
source/blender/makesrna/intern/rna_lamp.c
source/blender/makesrna/intern/rna_lattice.c
source/blender/makesrna/intern/rna_material.c
source/blender/makesrna/intern/rna_mesh.c
source/blender/makesrna/intern/rna_meta.c
source/blender/makesrna/intern/rna_modifier.c
source/blender/makesrna/intern/rna_nla.c
source/blender/makesrna/intern/rna_nodetree.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_object_force.c
source/blender/makesrna/intern/rna_particle.c
source/blender/makesrna/intern/rna_pose.c
source/blender/makesrna/intern/rna_rna.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_sequence.c
source/blender/makesrna/intern/rna_texture.c
source/blender/makesrna/intern/rna_timeline.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/makesrna/intern/rna_wm.c
source/blender/makesrna/intern/rna_world.c
source/blender/python/intern/bpy_rna.c

index aecf437a30b2e942923941aa80ddfde2e00dfddb..394cc53dda23cc70c3cb9abee20fe2ccb70c8460 100644 (file)
@@ -149,25 +149,13 @@ void getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
                        
                        /* Array Index - only if applicable */
                        if (RNA_property_array_length(prop)) {
-                               static char *vectoritem[4]= {"X ", "Y ", "Z ", "W "};
-                               static char *quatitem[4]= {"W ", "X ", "Y ", "Z "};
-                               static char *coloritem[4]= {"R ", "G ", "B ", "A "};
+                               char c= RNA_property_array_item_char(prop, fcu->array_index);
                                
-                               int tot= RNA_property_array_length(prop);
-                               int propsubtype= RNA_property_subtype(prop);
-                               
-                               /* get string to use for array index */
-                               if ((tot == 4) && (propsubtype == PROP_ROTATION))
-                                       arrayname= quatitem[fcu->array_index];
-                               else if ( (tot <= 4) && ((propsubtype == PROP_VECTOR) || (propsubtype == PROP_ROTATION)) )
-                                       arrayname= vectoritem[fcu->array_index];
-                               else if ((tot <= 4) && (propsubtype == PROP_COLOR))
-                                       arrayname= coloritem[fcu->array_index];
-                               else {
-                                       /* we need to write the index to a temp buffer (in py syntax), as it is a number... */
-                                       sprintf(arrayindbuf, "[%d]", fcu->array_index);
-                                       arrayname= &arrayindbuf[0];
-                               }
+                               /* we need to write the index to a temp buffer (in py syntax) */
+                               if(c) sprintf(arrayindbuf, "%c ", c);
+                               else sprintf(arrayindbuf, "[%d]", fcu->array_index);
+
+                               arrayname= &arrayindbuf[0];
                        }
                        else {
                                /* no array index */
index b90d930475a6a688e93bfc2a15f59c8d1ac76a83..60a043a139455c075d8a710ef6938cbf64981dd7 100644 (file)
@@ -379,31 +379,25 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, char *name, int icon
                                but->type= NUMSLI;
                }
        }
-       else if(len <= 4 && ELEM3(subtype, PROP_ROTATION, PROP_VECTOR, PROP_COLOR)) {
-               if(subtype == PROP_COLOR)
+       else {
+               if(ELEM(subtype, PROP_COLOR, PROP_RGB))
                        uiDefAutoButR(block, ptr, prop, -1, "", 0, 0, 0, w, UI_UNIT_Y);
 
-               if(subtype != PROP_COLOR || expand) {
+               if(!ELEM(subtype, PROP_COLOR, PROP_RGB) || expand) {
                        /* layout for known array subtypes */
-                       static char vectoritem[4]= {'X', 'Y', 'Z', 'W'};
-                       static char quatitem[4]= {'W', 'X', 'Y', 'Z'};
-                       static char coloritem[4]= {'R', 'G', 'B', 'A'};
                        char str[3];
 
                        for(a=0; a<len; a++) {
-                               if(len == 4 && subtype == PROP_ROTATION)
-                                       str[0]= quatitem[a];
-                               else if(subtype == PROP_VECTOR || subtype == PROP_ROTATION)
-                                       str[0]= vectoritem[a];
-                               else
-                                       str[0]= coloritem[a];
-
-                               if(type == PROP_BOOLEAN) {
-                                       str[1]= '\0';
-                               }
-                               else {
-                                       str[1]= ':';
-                                       str[2]= '\0';
+                               str[0]= RNA_property_array_item_char(prop, a);
+
+                               if(str[0]) {
+                                       if(type == PROP_BOOLEAN) {
+                                               str[1]= '\0';
+                                       }
+                                       else {
+                                               str[1]= ':';
+                                               str[2]= '\0';
+                                       }
                                }
 
                                but= uiDefAutoButR(block, ptr, prop, a, str, 0, 0, 0, w, UI_UNIT_Y);
@@ -411,19 +405,12 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, char *name, int icon
                                        but->type= NUMSLI;
                        }
                }
-               else if(subtype == PROP_COLOR && len == 4) {
+               else if(ELEM(subtype, PROP_COLOR, PROP_RGB) && len == 4) {
                        but= uiDefAutoButR(block, ptr, prop, 3, "A:", 0, 0, 0, w, UI_UNIT_Y);
                        if(slider && but->type==NUM)
                                but->type= NUMSLI;
                }
        }
-       else {
-               for(a=0; a<len; a++) {
-                       but= uiDefAutoButR(block, ptr, prop, a, "", 0, 0, 0, w, UI_UNIT_Y);
-                       if(slider && but->type==NUM)
-                               but->type= NUMSLI;
-               }
-       }
 
        uiBlockSetCurLayout(block, layout);
 }
index 51cc8507ff8730bb83d6acf9b9fcbf833e2bc828..4f5d3f8f73695668540518c8e3c67a11aa03ab10 100644 (file)
@@ -1096,31 +1096,20 @@ static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *i
                        }
                }
                else if(type == TSE_RNA_ARRAY_ELEM) {
-                       /* array property element */
-                       static char *vectoritem[4]= {"  x", "  y", "  z", "  w"};
-                       static char *quatitem[4]= {"  w", "  x", "  y", "  z"};
-                       static char *coloritem[4]= {"  r", "  g", "  b", "  a"};
+                       char c;
 
                        prop= parent->directdata;
-                       proptype= RNA_property_type(prop);
-                       propsubtype= RNA_property_subtype(prop);
-                       tot= RNA_property_array_length(prop);
 
                        te->directdata= prop;
                        te->rnaptr= *ptr;
                        te->index= index;
 
-                       if(tot == 4 && propsubtype == PROP_ROTATION)
-                               te->name= quatitem[index];
-                       else if(tot <= 4 && (propsubtype == PROP_VECTOR || propsubtype == PROP_ROTATION))
-                               te->name= vectoritem[index];
-                       else if(tot <= 4 && propsubtype == PROP_COLOR)
-                               te->name= coloritem[index];
-                       else {
-                               te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName");
-                               sprintf(te->name, "  %d", index+1);
-                               te->flag |= TE_FREE_NAME;
-                       }
+                       c= RNA_property_array_item_char(prop, index);
+
+                       te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName");
+                       if(c) sprintf(te->name, "  %c", c);
+                       else sprintf(te->name, "  %d", index+1);
+                       te->flag |= TE_FREE_NAME;
                }
        }
        else if(type == TSE_KEYMAP) {
index 1b3175d7f55fd4daab73eda17a82426102a63b66..06752250bd04e98a05724a0a810ab66d9e2372fc 100644 (file)
@@ -559,9 +559,11 @@ char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen);
 const char *RNA_property_identifier(PropertyRNA *prop);
 PropertyType RNA_property_type(PropertyRNA *prop);
 PropertySubType RNA_property_subtype(PropertyRNA *prop);
+PropertyUnit RNA_property_unit(PropertyRNA *prop);
 int RNA_property_flag(PropertyRNA *prop);
 
 int RNA_property_array_length(PropertyRNA *prop);
+char RNA_property_array_item_char(PropertyRNA *prop, int index);
 
 int RNA_property_string_maxlength(PropertyRNA *prop);
 
index a1e98ae8a1770817060a934a1095b061010efb53..0a641ecebe94a0ad112bc6dcecb75df44375dae6 100644 (file)
@@ -66,17 +66,49 @@ typedef enum PropertyType {
        PROP_COLLECTION = 6
 } PropertyType;
 
+typedef enum PropertyUnit {
+       PROP_UNIT_NONE = (0<<16),
+       PROP_UNIT_LENGTH = (1<<16),                     /* m */
+       PROP_UNIT_AREA = (2<<16),                       /* m^2 */
+       PROP_UNIT_VOLUME = (3<<16),                     /* m^3 */
+       PROP_UNIT_MASS = (4<<16),                       /* kg */
+       PROP_UNIT_ROTATION = (5<<16),           /* rad */
+       PROP_UNIT_TIME = (6<<16),                       /* frame */
+       PROP_UNIT_VELOCITY = (7<<16),           /* m/s */
+       PROP_UNIT_ACCELERATION = (8<<16)        /* m/(s^2) */
+} PropertyUnit;
+
+#define RNA_SUBTYPE_UNIT(subtype) (subtype & 0x00FF0000)
+
+/* also update rna_property_subtypename when you change this */
 typedef enum PropertySubType {
        PROP_NONE = 0,
-       PROP_UNSIGNED = 1,
-       PROP_FILEPATH = 2,
-       PROP_DIRPATH = 3,
-       PROP_COLOR = 4,
-       PROP_VECTOR = 5,
-       PROP_MATRIX = 6,
-       PROP_ROTATION = 7,
-       PROP_NEVER_NULL = 8,
-       PROP_PERCENTAGE = 9
+
+       /* strings */
+       PROP_FILEPATH = 1,
+       PROP_DIRPATH = 2,
+
+       /* numbers */
+       PROP_UNSIGNED = 13,
+       PROP_PERCENTAGE = 14,
+       PROP_ANGLE = 15|PROP_UNIT_ROTATION,
+       PROP_TIME = 16|PROP_UNIT_TIME,
+       PROP_DISTANCE = 17|PROP_UNIT_LENGTH,
+
+       /* number arrays */
+       PROP_COLOR = 20,
+       PROP_TRANSLATION = 21|PROP_UNIT_LENGTH,
+       PROP_DIRECTION = 22,
+       PROP_VELOCITY = 23|PROP_UNIT_VELOCITY,
+       PROP_ACCELERATION = 24|PROP_UNIT_ACCELERATION,
+       PROP_MATRIX = 25,
+       PROP_EULER = 26|PROP_UNIT_ROTATION,
+       PROP_QUATERNION = 27,
+       PROP_XYZ = 28,
+       PROP_RGB = 29,
+
+       /* pointers */
+       PROP_NEVER_NULL = 30,
 } PropertySubType;
 
 typedef enum PropertyFlag {
index b5fc4d2e463afec3fcd675fee9001103153f930a..8b9ce879b8aa4ba2299f12e601bfa03ec90ed59f 100644 (file)
@@ -1370,15 +1370,24 @@ static const char *rna_property_subtypename(PropertyType type)
 {
        switch(type) {
                case PROP_NONE: return "PROP_NONE";
-               case PROP_UNSIGNED: return "PROP_UNSIGNED";
                case PROP_FILEPATH: return "PROP_FILEPATH";
                case PROP_DIRPATH: return "PROP_DIRPATH";
+               case PROP_UNSIGNED: return "PROP_UNSIGNED";
+               case PROP_PERCENTAGE: return "PROP_PERCENTAGE";
+               case PROP_ANGLE: return "PROP_ANGLE";
+               case PROP_TIME: return "PROP_TIME";
+               case PROP_DISTANCE: return "PROP_DISTANCE";
                case PROP_COLOR: return "PROP_COLOR";
-               case PROP_VECTOR: return "PROP_VECTOR";
+               case PROP_TRANSLATION: return "PROP_TRANSLATION";
+               case PROP_DIRECTION: return "PROP_DIRECTION";
                case PROP_MATRIX: return "PROP_MATRIX";
-               case PROP_ROTATION: return "PROP_ROTATION";
+               case PROP_EULER: return "PROP_EULER";
+               case PROP_QUATERNION: return "PROP_QUATERNION";
+               case PROP_VELOCITY: return "PROP_VELOCITY";
+               case PROP_ACCELERATION: return "PROP_ACCELERATION";
+               case PROP_XYZ: return "PROP_XYZ";
+               case PROP_RGB: return "PROP_RGB";
                case PROP_NEVER_NULL: return "PROP_NEVER_NULL";
-               case PROP_PERCENTAGE: return "PROP_PERCENTAGE";
                default: return "PROP_UNKNOWN";
        }
 }
@@ -2194,7 +2203,7 @@ static void rna_generate_header_cpp(BlenderRNA *brna, FILE *f)
        fprintf(f, "#include \"RNA_blender.h\"\n");
        fprintf(f, "#include \"RNA_types.h\"\n");
 
-       fprintf(f, cpp_classes);
+       fprintf(f, "%s", cpp_classes);
 
        fprintf(f, "/**************** Declarations ****************/\n\n");
 
index b0db6ae9de5b53fc844d2e0b8e9eb6a87859f75c..9db4210c9ccc50bd7f45a4753daf31bcc1a1beea 100644 (file)
@@ -539,6 +539,11 @@ PropertySubType RNA_property_subtype(PropertyRNA *prop)
        return rna_ensure_property(prop)->subtype;
 }
 
+PropertyUnit RNA_property_unit(PropertyRNA *prop)
+{
+       return RNA_SUBTYPE_UNIT(rna_ensure_property(prop)->subtype);
+}
+
 int RNA_property_flag(PropertyRNA *prop)
 {
        return rna_ensure_property(prop)->flag;
@@ -549,6 +554,24 @@ int RNA_property_array_length(PropertyRNA *prop)
        return rna_ensure_property_array_length(prop);
 }
 
+char RNA_property_array_item_char(PropertyRNA *prop, int index)
+{
+       const char *vectoritem= "XYZW";
+       const char *quatitem= "WXYZ";
+       const char *coloritem= "RGBA";
+       PropertySubType subtype= rna_ensure_property(prop)->subtype;
+
+       /* get string to use for array index */
+       if ((index < 4) && (subtype == PROP_QUATERNION))
+               return quatitem[index];
+       else if((index < 4) && ELEM6(subtype, PROP_TRANSLATION, PROP_DIRECTION, PROP_XYZ, PROP_EULER, PROP_VELOCITY, PROP_ACCELERATION))
+               return vectoritem[index];
+       else if ((index < 4) && ELEM(subtype, PROP_COLOR, PROP_RGB))
+               return coloritem[index];
+       else
+               return '\0';
+}
+
 void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax)
 {
        IntPropertyRNA *iprop= (IntPropertyRNA*)rna_ensure_property(prop);
index cf20e92b2892a862bcfadc0e789d5778fd633533..7bab7947843c0a3b5500e600e4c06619220292bf 100644 (file)
@@ -495,13 +495,13 @@ static void rna_def_edit_bone(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Roll", "Bone rotation around head-tail axis.");
        RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
 
-       prop= RNA_def_property(srna, "head", PROP_FLOAT, PROP_VECTOR);
+       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_update(prop, 0, "rna_Armature_editbone_transform_update");
 
-       prop= RNA_def_property(srna, "tail", PROP_FLOAT, PROP_VECTOR);
+       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.");
@@ -708,13 +708,13 @@ void rna_def_armature(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Ghosting Frame Step", "Frame step for Ghosts (not for 'On Keyframes' Onion-skining method).");
        RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
        
-       prop= RNA_def_property(srna, "ghost_start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "ghost_start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "ghostsf");
        RNA_def_property_int_funcs(prop, NULL, "rna_Armature_ghost_start_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Ghosting Start Frame", "Starting frame of range of Ghosts to display (not for 'Around Current Frame' Onion-skinning method).");
        RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
        
-       prop= RNA_def_property(srna, "ghost_end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "ghost_end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "ghostef");
        RNA_def_property_int_funcs(prop, NULL, "rna_Armature_ghost_end_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Ghosting End Frame", "End frame of range of Ghosts to display (not for 'Around Current Frame' Onion-skinning method).");
@@ -727,13 +727,13 @@ void rna_def_armature(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Paths Frame Step", "Number of frames between 'dots' on Bone Paths (when drawing).");
        RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
        
-       prop= RNA_def_property(srna, "path_start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "path_start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "pathsf");
        RNA_def_property_int_funcs(prop, NULL, "rna_Armature_path_start_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Paths Calculation Start Frame", "Starting frame of range of frames to use for Bone Path calculations.");
        RNA_def_property_update(prop, 0, "rna_Armature_update_data");
        
-       prop= RNA_def_property(srna, "path_end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "path_end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "pathef");
        RNA_def_property_int_funcs(prop, NULL, "rna_Armature_path_end_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Paths Calculation End Frame", "End frame of range of frames to use for Bone Path calculations.");
index 1bc3987139f2a6cacaadc9e99fba8a9727e7c246..3b8586e020d3817001e702ad30e1a30739a84365 100644 (file)
@@ -248,7 +248,7 @@ void rna_def_brush(BlenderRNA *brna)
        RNA_def_property_range(prop, 0.0f, 1.0f);
        RNA_def_property_ui_text(prop, "Clone Opacity", "Opacity of clone image display.");
 
-       prop= RNA_def_property(srna, "clone_offset", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "clone_offset", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "clone.offset");
        RNA_def_property_ui_text(prop, "Clone Offset", "");
        RNA_def_property_ui_range(prop, -1.0f , 1.0f, 10.0f, 3);
@@ -273,12 +273,12 @@ static void rna_def_operator_stroke_element(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "OperatorStrokeElement", "IDPropertyGroup");
        RNA_def_struct_ui_text(srna, "Operator Stroke Element", "");
 
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_flag(prop, PROP_IDPROPERTY);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Location", "");
 
-       prop= RNA_def_property(srna, "mouse", PROP_INT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "mouse", PROP_INT, PROP_XYZ);
        RNA_def_property_flag(prop, PROP_IDPROPERTY);
        RNA_def_property_array(prop, 2);
        RNA_def_property_ui_text(prop, "Mouse", "");
index 11443ddfde11b6e5ff02628bffdbc448f6ec0c6c..9096bfc2844445aba7b094b7e01bd813e91d0d89 100644 (file)
@@ -218,7 +218,7 @@ static void rna_def_cloth_sim_settings(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Mass Vertex Group", "Vertex Group for pinning of vertices.");
        RNA_def_property_update(prop, NC_OBJECT|ND_GEOM_DATA, "rna_cloth_update");
        
-       prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_ACCELERATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_range(prop, -100.0, 100.0);
        RNA_def_property_float_funcs(prop, "rna_ClothSettings_gravity_get", "rna_ClothSettings_gravity_set", NULL);
index f4248d18db38c769bf8abf83de6e943e27fca3e1..420add2622a13f40fcffdf361c4c03eaec235889 100644 (file)
@@ -130,7 +130,7 @@ static void rna_def_curvemappoint(BlenderRNA *brna)
 
        /* not editable for now, need to have CurveMapping to do curvemapping_changed */
 
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "x");
        RNA_def_property_array(prop, 2);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
index d08e59c11dc6f976fc07287ba23d28998db8f712..467b8f6e8e13efba05bb74b0368f557e2e6b235c 100644 (file)
@@ -768,13 +768,13 @@ static void rna_def_constraint_action(BlenderRNA *brna)
        RNA_def_property_flag(prop, PROP_EDITABLE);
        RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
 
-       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "start");
        RNA_def_property_range(prop, MINAFRAME, MAXFRAME);
        RNA_def_property_ui_text(prop, "Start Frame", "First frame of the Action to use.");
        RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
 
-       prop= RNA_def_property(srna, "end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "end");
        RNA_def_property_range(prop, MINAFRAME, MAXFRAME);
        RNA_def_property_ui_text(prop, "End Frame", "Last frame of the Action to use.");
index 62786dd56cf043b92dba7bbfab60c96685b78f0a..1dd3d0e63c5ac4b69f789d32fa5b29351d3264f6 100644 (file)
@@ -188,7 +188,7 @@ static void rna_def_bpoint(BlenderRNA *brna)
        RNA_def_property_update(prop, 0, "rna_Curve_update_data");
 
        /* Vector value */
-       prop= RNA_def_property(srna, "point", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "point", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 4);
        RNA_def_property_float_sdna(prop, NULL, "vec");
        RNA_def_property_ui_text(prop, "Point", "Point coordinates");
@@ -265,19 +265,19 @@ static void rna_def_beztriple(BlenderRNA *brna)
        RNA_def_property_update(prop, 0, "rna_Curve_update_data");
 
        /* Vector values */
-       prop= RNA_def_property(srna, "handle1", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "handle1", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_float_funcs(prop, "rna_BezTriple_handle1_get", "rna_BezTriple_handle1_set", NULL);
        RNA_def_property_ui_text(prop, "Handle 1", "Coordinates of the first handle");
        RNA_def_property_update(prop, 0, "rna_Curve_update_data");
 
-       prop= RNA_def_property(srna, "control_point", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "control_point", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_float_funcs(prop, "rna_BezTriple_ctrlpoint_get", "rna_BezTriple_ctrlpoint_set", NULL);
        RNA_def_property_ui_text(prop, "Control Point", "Coordinates of the control point");
        RNA_def_property_update(prop, 0, "rna_Curve_update_data");
 
-       prop= RNA_def_property(srna, "handle2", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "handle2", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_float_funcs(prop, "rna_BezTriple_handle2_get", "rna_BezTriple_handle2_set", NULL);
        RNA_def_property_ui_text(prop, "Handle 2", "Coordinates of the second handle");
index 755089b9af18b4fbfb0a44b41f7a1b8c8ea8a305..5f1a069d876b84e2ba32881b5c042c717d66d3d8 100644 (file)
@@ -1087,7 +1087,7 @@ void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
        StructRNA *srna= DefRNA.laststruct;
 
        if(!DefRNA.preprocess) {
-               fprintf(stderr, "RNA_def_property_struct_type: only during preprocessing.\n");
+               fprintf(stderr, "RNA_def_property_struct_type %s.%s: only during preprocessing.\n", srna->identifier, prop->identifier);
                return;
        }
 
@@ -1898,7 +1898,7 @@ PropertyRNA *RNA_def_boolean_vector(StructOrFunctionRNA *cont_, const char *iden
        ContainerRNA *cont= cont_;
        PropertyRNA *prop;
        
-       prop= RNA_def_property(cont, identifier, PROP_BOOLEAN, PROP_VECTOR);
+       prop= RNA_def_property(cont, identifier, PROP_BOOLEAN, PROP_XYZ); // XXX
        if(len != 0) RNA_def_property_array(prop, len);
        if(default_value) RNA_def_property_boolean_array_default(prop, default_value);
        RNA_def_property_ui_text(prop, ui_name, ui_description);
@@ -1927,7 +1927,7 @@ PropertyRNA *RNA_def_int_vector(StructOrFunctionRNA *cont_, const char *identifi
        ContainerRNA *cont= cont_;
        PropertyRNA *prop;
        
-       prop= RNA_def_property(cont, identifier, PROP_INT, PROP_VECTOR);
+       prop= RNA_def_property(cont, identifier, PROP_INT, PROP_XYZ); // XXX
        if(len != 0) RNA_def_property_array(prop, len);
        if(default_value) RNA_def_property_int_array_default(prop, default_value);
        if(hardmin != hardmax) RNA_def_property_range(prop, hardmin, hardmax);
@@ -2036,7 +2036,7 @@ PropertyRNA *RNA_def_float_vector(StructOrFunctionRNA *cont_, const char *identi
        ContainerRNA *cont= cont_;
        PropertyRNA *prop;
        
-       prop= RNA_def_property(cont, identifier, PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(cont, identifier, PROP_FLOAT, PROP_XYZ);
        if(len != 0) RNA_def_property_array(prop, len);
        if(default_value) RNA_def_property_float_array_default(prop, default_value);
        if(hardmin != hardmax) RNA_def_property_range(prop, hardmin, hardmax);
@@ -2085,7 +2085,7 @@ PropertyRNA *RNA_def_float_rotation(StructOrFunctionRNA *cont_, const char *iden
        ContainerRNA *cont= cont_;
        PropertyRNA *prop;
        
-       prop= RNA_def_property(cont, identifier, PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(cont, identifier, PROP_FLOAT, PROP_EULER); // XXX
        if(len != 0) RNA_def_property_array(prop, len);
        if(default_value) RNA_def_property_float_array_default(prop, default_value);
        if(hardmin != hardmax) RNA_def_property_range(prop, hardmin, hardmax);
index ceef84b92dfd98e3ca8b189336c1dbf073d88422..fa6eea5f8a9f181d16bc5cf0c7f71a92ddc911c9 100644 (file)
@@ -255,7 +255,7 @@ static void rna_def_fmodifier_envelope_ctrl(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Maximum Value", "Upper bound of envelope at this control-point.");
        
        /* Frame */
-       prop= RNA_def_property(srna, "frame", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "frame", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "time");
        RNA_def_property_ui_text(prop, "Frame", "Frame this control-point occurs on.");
        
@@ -548,7 +548,7 @@ static void rna_def_fpoint(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Selected", "Selection status");
        
        /* Vector value */
-       prop= RNA_def_property(srna, "point", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "point", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_array(prop, 2);
        RNA_def_property_float_sdna(prop, NULL, "vec");
        RNA_def_property_ui_text(prop, "Point", "Point coordinates");
index ea4deae08e7b762997fba363cbf4fe41b0093eca..b7084a0b26d716b8d48aa8e343029dc7d4b3f57c 100644 (file)
@@ -202,12 +202,12 @@ static void rna_def_fluidsim_domain(BlenderRNA *brna)
        RNA_def_property_range(prop, 1, 100);
        RNA_def_property_ui_text(prop, "Preview Resolution", "Preview resolution in X,Y and Z direction.");
 
-       prop= RNA_def_property(srna, "start_time", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "start_time", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "animStart");
        RNA_def_property_range(prop, 0, 100);
        RNA_def_property_ui_text(prop, "Start Time", "Simulation time of the first blender frame.");
 
-       prop= RNA_def_property(srna, "end_time", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "end_time", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "animEnd");
        RNA_def_property_range(prop, 0, 100);
        RNA_def_property_ui_text(prop, "End Time", "Simulation time of the last blender frame.");
@@ -240,7 +240,7 @@ static void rna_def_fluidsim_domain(BlenderRNA *brna)
 
        /* advanced settings */
 
-       prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_ACCELERATION);
        RNA_def_property_float_sdna(prop, NULL, "gravx");
        RNA_def_property_array(prop, 3);
        RNA_def_property_range(prop, -1000.1, 1000.1);
@@ -338,7 +338,7 @@ static void rna_def_fluidsim_fluid(BlenderRNA *brna)
 
        rna_def_fluidsim_volume(srna);
 
-       prop= RNA_def_property(srna, "initial_velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "initial_velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "iniVelx");
        RNA_def_property_array(prop, 3);
        RNA_def_property_range(prop, -1000.1, 1000.1);
@@ -374,7 +374,7 @@ static void rna_def_fluidsim_inflow(BlenderRNA *brna)
 
        rna_def_fluidsim_volume(srna);
 
-       prop= RNA_def_property(srna, "inflow_velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "inflow_velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "iniVelx");
        RNA_def_property_array(prop, 3);
        RNA_def_property_range(prop, -1000.1, 1000.1);
@@ -443,12 +443,12 @@ static void rna_def_fluidsim_control(BlenderRNA *brna)
        RNA_def_struct_sdna(srna, "FluidsimSettings");
        RNA_def_struct_ui_text(srna, "Control Fluid Simulation Settings", "Fluid simulation settings for objects controlling the motion of fluid in the simulation.");
 
-       prop= RNA_def_property(srna, "start_time", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "start_time", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "cpsTimeStart");
        RNA_def_property_range(prop, 0.0, 100.0);
        RNA_def_property_ui_text(prop, "Start Time", "Specifies time when the control particles are activated.");
        
-       prop= RNA_def_property(srna, "end_time", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "end_time", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "cpsTimeEnd");
        RNA_def_property_range(prop, 0.0, 100.0);
        RNA_def_property_ui_text(prop, "End Time", "Specifies time when the control particles are deactivated.");
index 1406ad1ae60f9f716e3f32eb7abbcaa706305206..18c04fbfb50c3f2285586543562f2422905e08ea 100644 (file)
@@ -52,7 +52,7 @@ void RNA_def_group(BlenderRNA *brna)
        RNA_def_struct_ui_text(srna, "Group", "Group of Object datablocks.");
        RNA_def_struct_ui_icon(srna, ICON_GROUP);
 
-       prop= RNA_def_property(srna, "dupli_offset", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "dupli_offset", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "dupli_ofs");
        RNA_def_property_ui_text(prop, "Dupli Offset", "Offset from the center to use when instancing as DupliGroup.");
        RNA_def_property_ui_range(prop, -10000.0, 10000.0, 10, 4);
index c74e46c17da8f6aef96fa2e7a5a18363ff40f56a..4d04f4ee1f3af13f466a9e454e35106561cfeb51 100644 (file)
@@ -93,7 +93,7 @@ static void rna_def_imageuser(BlenderRNA *brna)
        RNA_def_property_range(prop, -MAXFRAMEF, MAXFRAMEF);
        RNA_def_property_ui_text(prop, "Offset", "Offsets the number of the frame to use in the animation.");
 
-       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "sfra");
        RNA_def_property_range(prop, 1.0f, MAXFRAMEF);
        RNA_def_property_ui_text(prop, "Start Frame", "Sets the global starting frame of the movie.");
@@ -219,7 +219,7 @@ static void rna_def_image(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Mapping", "Mapping type to use for this image in the game engine.");
        RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, NULL);
 
-       prop= RNA_def_property(srna, "display_aspect", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "display_aspect", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "aspx");
        RNA_def_property_array(prop, 2);
        RNA_def_property_range(prop, 0.1f, 5000.0f);
index 216a1d05079169fd5d26b8e527692560978db849..88047cda12b2cab18a236b5311ae77b8c811dbf1 100644 (file)
@@ -282,7 +282,7 @@ static void rna_def_keydata(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "ShapeKeyPoint", NULL);
        RNA_def_struct_ui_text(srna, "Shape Key Point", "Point in a shape key.");
 
-       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_float_funcs(prop, "rna_ShapeKeyPoint_co_get", "rna_ShapeKeyPoint_co_set", NULL);
        RNA_def_property_ui_text(prop, "Location", "");
@@ -291,7 +291,7 @@ static void rna_def_keydata(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "ShapeKeyCurvePoint", NULL);
        RNA_def_struct_ui_text(srna, "Shape Key Curve Point", "Point in a shape key for curves.");
 
-       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_float_funcs(prop, "rna_ShapeKeyPoint_co_get", "rna_ShapeKeyPoint_co_set", NULL);
        RNA_def_property_ui_text(prop, "Location", "");
@@ -305,19 +305,19 @@ static void rna_def_keydata(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "ShapeKeyBezierPoint", NULL);
        RNA_def_struct_ui_text(srna, "Shape Key Bezier Point", "Point in a shape key for bezier curves.");
 
-       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_float_funcs(prop, "rna_ShapeKeyBezierPoint_co_get", "rna_ShapeKeyBezierPoint_co_set", NULL);
        RNA_def_property_ui_text(prop, "Location", "");
        RNA_def_property_update(prop, 0, "rna_Key_update_data");
 
-       prop= RNA_def_property(srna, "handle_1_co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "handle_1_co", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_float_funcs(prop, "rna_ShapeKeyBezierPoint_handle_1_co_get", "rna_ShapeKeyBezierPoint_handle_1_co_set", NULL);
        RNA_def_property_ui_text(prop, "Handle 1 Location", "");
        RNA_def_property_update(prop, 0, "rna_Key_update_data");
 
-       prop= RNA_def_property(srna, "handle_2_co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "handle_2_co", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_float_funcs(prop, "rna_ShapeKeyBezierPoint_handle_2_co_get", "rna_ShapeKeyBezierPoint_handle_2_co_set", NULL);
        RNA_def_property_ui_text(prop, "Handle 2 Location", "");
@@ -351,7 +351,7 @@ static void rna_def_keyblock(BlenderRNA *brna)
        RNA_def_struct_name_property(srna, prop);
 
        /* keys need to be sorted to edit this */
-       prop= RNA_def_property(srna, "frame", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "frame", PROP_FLOAT, PROP_TIME);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_float_sdna(prop, NULL, "pos");
        RNA_def_property_ui_text(prop, "Frame", "Frame for absolute keys.");
index 299bd37496b7a601b739ace705dc8cd561e29351..16dc4fbc8cbd52b79df3547ef66f1e5c1e81cfff 100644 (file)
@@ -151,13 +151,13 @@ static void rna_def_lamp_mtex(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Shadow", "Lets the texture affect the shadow color of the lamp.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "color_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "color_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "colfac");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Color Factor", "Amount texture affects color values.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "shadow_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "shadow_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "colfac");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Shadow Factor", "Amount texture affects shadow.");
index 03a1dc9ec8f3b157cd91ce06fe3a23bda5eff15b..b53a0589ba6fe6b2c117756c0e5f489f953fbbda 100644 (file)
@@ -178,13 +178,13 @@ static void rna_def_latticepoint(BlenderRNA *brna)
        RNA_def_struct_sdna(srna, "BPoint");
        RNA_def_struct_ui_text(srna, "LatticePoint", "Point in the lattice grid.");
 
-       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_float_funcs(prop, "rna_LatticePoint_co_get", NULL, NULL);
        RNA_def_property_ui_text(prop, "Location", "");
 
-       prop= RNA_def_property(srna, "deformed_co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "deformed_co", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "vec");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Deformed Location", "");
index bf4f97347705517a122cb91d4f8fdb92dd54a9aa..e6de6a46c8e206b7227f46b9d611b7c331424c88 100644 (file)
@@ -408,7 +408,7 @@ static void rna_def_material_mtex(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Specular Color Factor", "Amount texture affects specular color.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "colordiff_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "colordiff_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "colfac");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Diffuse Color Factor", "Amount texture affects diffuse color.");
@@ -941,7 +941,7 @@ static void rna_def_material_sss(BlenderRNA *brna)
        RNA_def_struct_nested(brna, srna, "Material");
        RNA_def_struct_ui_text(srna, "Material Subsurface Scattering", "Diffuse subsurface scattering settings for a Material datablock.");
 
-       prop= RNA_def_property(srna, "radius", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "radius", PROP_FLOAT, PROP_RGB);
        RNA_def_property_float_sdna(prop, NULL, "sss_radius");
        RNA_def_property_range(prop, 0.001, FLT_MAX);
        RNA_def_property_ui_range(prop, 0.001, 10000, 1, 3);
index 769c4f485fa313697fedf2eb4d7e8b0d74a7fbd0..84190d60d1105870c88f26138e88f03b23f66524 100644 (file)
@@ -802,10 +802,10 @@ static void rna_def_mvert(BlenderRNA *brna)
        RNA_def_struct_path_func(srna, "rna_MeshVertex_path");
        RNA_def_struct_ui_icon(srna, ICON_VERTEXSEL);
 
-       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_ui_text(prop, "Location", "");
 
-       prop= RNA_def_property(srna, "normal", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "normal", PROP_FLOAT, PROP_DIRECTION);
        RNA_def_property_float_sdna(prop, NULL, "no");
        RNA_def_property_float_funcs(prop, "rna_MeshVertex_normal_get", NULL, NULL);
        RNA_def_property_ui_text(prop, "Normal", "Vertex Normal");
@@ -905,7 +905,7 @@ static void rna_def_mface(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_SMOOTH);
        RNA_def_property_ui_text(prop, "Smooth", "");
        
-       prop= RNA_def_property(srna, "normal", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "normal", PROP_FLOAT, PROP_DIRECTION);
        RNA_def_property_array(prop, 3);
        RNA_def_property_range(prop, -1.0f, 1.0f);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1022,22 +1022,22 @@ static void rna_def_mtface(BlenderRNA *brna)
        RNA_def_property_array(prop, 4);
        RNA_def_property_ui_text(prop, "UV Pinned", "");
 
-       prop= RNA_def_property(srna, "uv1", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "uv1", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_array(prop, 2);
        RNA_def_property_float_funcs(prop, "rna_MeshTextureFace_uv1_get", "rna_MeshTextureFace_uv1_set", NULL);
        RNA_def_property_ui_text(prop, "UV 1", "");
 
-       prop= RNA_def_property(srna, "uv2", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "uv2", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_array(prop, 2);
        RNA_def_property_float_funcs(prop, "rna_MeshTextureFace_uv2_get", "rna_MeshTextureFace_uv2_set", NULL);
        RNA_def_property_ui_text(prop, "UV 2", "");
 
-       prop= RNA_def_property(srna, "uv3", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "uv3", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_array(prop, 2);
        RNA_def_property_float_funcs(prop, "rna_MeshTextureFace_uv3_get", "rna_MeshTextureFace_uv3_set", NULL);
        RNA_def_property_ui_text(prop, "UV 3", "");
 
-       prop= RNA_def_property(srna, "uv4", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "uv4", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_array(prop, 2);
        RNA_def_property_float_funcs(prop, "rna_MeshTextureFace_uv4_get", "rna_MeshTextureFace_uv4_set", NULL);
        RNA_def_property_ui_text(prop, "UV 4", "");
@@ -1053,7 +1053,7 @@ static void rna_def_msticky(BlenderRNA *brna)
        RNA_def_struct_ui_text(srna, "Mesh Vertex Sticky Texture Coordinate", "Stricky texture coordinate.");
        RNA_def_struct_path_func(srna, "rna_MeshSticky_path");
 
-       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_ui_text(prop, "Location", "Sticky texture coordinate location.");
 }
 
@@ -1203,18 +1203,18 @@ void rna_def_texmat_common(StructRNA *srna, const char *texspace_editable)
        RNA_def_property_boolean_sdna(prop, NULL, "texflag", AUTOSPACE);
        RNA_def_property_ui_text(prop, "Auto Texture Space", "Adjusts active object's texture space automatically when transforming object.");
 
-       prop= RNA_def_property(srna, "texspace_loc", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "texspace_loc", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "loc");
        RNA_def_property_ui_text(prop, "Texure Space Location", "Texture space location.");
        RNA_def_property_editable_func(prop, texspace_editable);
 
-       prop= RNA_def_property(srna, "texspace_size", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "texspace_size", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "size");
        RNA_def_property_ui_text(prop, "Texture Space Size", "Texture space size.");
        RNA_def_property_editable_func(prop, texspace_editable);
 
        /* not supported yet
-       prop= RNA_def_property(srna, "texspace_rot", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "texspace_rot", PROP_FLOAT, PROP_EULER);
        RNA_def_property_float(prop, NULL, "rot");
        RNA_def_property_ui_text(prop, "Texture Space Rotation", "Texture space rotation");
        RNA_def_property_editable_func(prop, texspace_editable);*/
index 75922fdf2a0afd64ce8ee140d9082260958185a5..a5f4ef73f7bc8bc97129cb3665ea7f98dc832462 100644 (file)
@@ -93,13 +93,13 @@ void rna_def_metaelement(BlenderRNA *brna)
        RNA_def_property_update(prop, 0, "rna_MetaBall_update_data");
        
        /* number values */
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "x");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Location", "");
        RNA_def_property_update(prop, 0, "rna_MetaBall_update_data");
 
-       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_QUATERNION);
        RNA_def_property_float_sdna(prop, NULL, "quat");
        RNA_def_property_ui_text(prop, "Rotation", "");
        RNA_def_property_update(prop, 0, "rna_MetaBall_update_data");
index 7a27b87056b5279fbc4d0dcda92cb5eb9ff8f4ab..91ec036557386b644c7fe82dd4e59e5f9d474d01 100644 (file)
@@ -697,12 +697,12 @@ static void rna_def_modifier_wave(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Time Offset", "Either the starting frame (for positive speed) or ending frame (for negative speed.)");
        RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "lifetime", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "lifetime", PROP_FLOAT, PROP_TIME);
        RNA_def_property_range(prop, MINAFRAMEF, MAXFRAMEF);
        RNA_def_property_ui_text(prop, "Lifetime",  "");
        RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "damping_time", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "damping_time", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "damp");
        RNA_def_property_range(prop, MINAFRAMEF, MAXFRAMEF);
        RNA_def_property_ui_text(prop, "Damping Time",  "");
@@ -967,22 +967,22 @@ static void rna_def_modifier_array(BlenderRNA *brna)
        RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Modifier_dependency_update");
 
        /* Offset parameters */
-       prop= RNA_def_property(srna, "constant_offset", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "constant_offset", PROP_BOOLEAN, PROP_TRANSLATION);
        RNA_def_property_boolean_sdna(prop, NULL, "offset_type", MOD_ARR_OFF_CONST);
        RNA_def_property_ui_text(prop, "Constant Offset", "");
        RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Modifier_update");
        
-       prop= RNA_def_property(srna, "constant_offset_displacement", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "constant_offset_displacement", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "offset");
        RNA_def_property_ui_text(prop, "Constant Offset Displacement", "");
        RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "relative_offset", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "relative_offset", PROP_BOOLEAN, PROP_TRANSLATION);
        RNA_def_property_boolean_sdna(prop, NULL, "offset_type", MOD_ARR_OFF_RELATIVE);
        RNA_def_property_ui_text(prop, "Relative Offset", "");
        RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Modifier_update");
 
-       prop= RNA_def_property(srna, "relative_offset_displacement", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "relative_offset_displacement", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "scale");
        RNA_def_property_ui_text(prop, "Relative Offset Displacement", "");
        RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Modifier_update");
index 3b55da046b89ec526a55dd0d2ab4ed427f64fc8d..98c72b7ee742bf98e4f2174ff9d831250423d340 100644 (file)
@@ -297,12 +297,12 @@ void rna_def_nlastrip(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Blending", "Method used for combining strip's result with accumulated result.");
        
        /* Strip extents */
-       prop= RNA_def_property(srna, "start_frame", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "start_frame", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "start");
        RNA_def_property_float_funcs(prop, NULL, "rna_NlaStrip_start_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Start Frame", "");
        
-       prop= RNA_def_property(srna, "end_frame", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "end_frame", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "end");
        RNA_def_property_float_funcs(prop, NULL, "rna_NlaStrip_end_frame_set", NULL);
        RNA_def_property_ui_text(prop, "End Frame", "");
@@ -328,12 +328,12 @@ void rna_def_nlastrip(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Action", "Action referenced by this strip.");
        
        /* Action extents */
-       prop= RNA_def_property(srna, "action_start_frame", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "action_start_frame", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "actstart");
        RNA_def_property_float_funcs(prop, NULL, "rna_NlaStrip_action_start_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Action Start Frame", "");
        
-       prop= RNA_def_property(srna, "action_end_frame", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "action_end_frame", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "actend");
        RNA_def_property_float_funcs(prop, NULL, "rna_NlaStrip_action_end_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Action End Frame", "");
@@ -371,7 +371,7 @@ void rna_def_nlastrip(BlenderRNA *brna)
        RNA_def_property_range(prop, 0.0f, 1.0f);
        RNA_def_property_ui_text(prop, "Influence", "Amount the strip contributes to the current result.");
        
-       prop= RNA_def_property(srna, "strip_time", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "strip_time", PROP_FLOAT, PROP_TIME);
        RNA_def_property_ui_text(prop, "Strip Time", "Frame of referenced Action to evaluate.");
        
                // TODO: should the animated_influence/time settings be animatable themselves?
index a03b59556e1310e6e5a8a1c21234a65d7873ced7..23e79831292385317d7d93bb76ba5052f8c0c040 100644 (file)
@@ -1354,7 +1354,7 @@ static void rna_def_node(BlenderRNA *brna)
        RNA_def_struct_sdna(srna, "bNode");
        RNA_def_struct_refine_func(srna, "rna_Node_refine");
        
-       prop = RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop = RNA_def_property(srna, "location", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "locx");
        RNA_def_property_array(prop, 2);
        RNA_def_property_range(prop, -10000.0f, 10000.0f);
index 7e26cb0039422e6bed6b1f3db69f7a101c8f2bfa..87e102a9a54766024c0c899299111400eddf4cff 100644 (file)
@@ -904,7 +904,7 @@ static void rna_def_object_game_settings(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "gameflag", OB_ANISOTROPIC_FRICTION);
        RNA_def_property_ui_text(prop, "Anisotropic Friction", "Enable anisotropic friction.");
 
-       prop= RNA_def_property(srna, "friction_coefficients", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "friction_coefficients", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "anisotropicFriction");
        RNA_def_property_range(prop, 0.0, 1.0);
        RNA_def_property_ui_text(prop, "Friction Coefficients", "Relative friction coefficient in the in the X, Y and Z directions, when anisotropic friction is enabled.");
@@ -1124,47 +1124,47 @@ static void rna_def_object(BlenderRNA *brna)
 
        /* transform */
 
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "loc");
        RNA_def_property_ui_text(prop, "Location", "Location of the object.");
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
 
-       prop= RNA_def_property(srna, "delta_location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "delta_location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "dloc");
        RNA_def_property_ui_text(prop, "Delta Location", "Extra added translation to object location.");
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
        
-       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_EULER);
        RNA_def_property_float_sdna(prop, NULL, "rot");
        RNA_def_property_ui_text(prop, "Rotation", "Rotation of the object.");
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
 
-       prop= RNA_def_property(srna, "delta_rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "delta_rotation", PROP_FLOAT, PROP_EULER);
        RNA_def_property_float_sdna(prop, NULL, "drot");
        RNA_def_property_ui_text(prop, "Delta Rotation", "Extra added rotation to the rotation of the object.");
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
        
-       prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "size");
        RNA_def_property_ui_text(prop, "Scale", "Scaling of the object.");
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
 
-       prop= RNA_def_property(srna, "delta_scale", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "delta_scale", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "dsize");
        RNA_def_property_ui_text(prop, "Delta Scale", "Extra added scaling to the scale of the object.");
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
 
-       prop= RNA_def_property(srna, "lock_location", PROP_BOOLEAN, PROP_VECTOR);
+       prop= RNA_def_property(srna, "lock_location", PROP_BOOLEAN, PROP_XYZ);
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_LOCX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Location", "Lock editing of location in the interface.");
 
-       prop= RNA_def_property(srna, "lock_rotation", PROP_BOOLEAN, PROP_VECTOR);
+       prop= RNA_def_property(srna, "lock_rotation", PROP_BOOLEAN, PROP_XYZ);
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_ROTX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Rotation", "Lock editing of rotation in the interface.");
 
-       prop= RNA_def_property(srna, "lock_scale", PROP_BOOLEAN, PROP_VECTOR);
+       prop= RNA_def_property(srna, "lock_scale", PROP_BOOLEAN, PROP_XYZ);
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_SCALEX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Scale", "Lock editing of scale in the interface.");
index e229afedc62cc917726a7b75695ae0cc0fe26559..f04001d8a642d425181b6bea65845e9c1c2a4669 100644 (file)
@@ -372,12 +372,12 @@ static void rna_def_pointcache(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "PointCache", NULL);
        RNA_def_struct_ui_text(srna, "Point Cache", "Point cache for physics simulations.");
        
-       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "startframe");
        RNA_def_property_range(prop, 1, 300000);
        RNA_def_property_ui_text(prop, "Start", "Frame on which the simulation starts.");
        
-       prop= RNA_def_property(srna, "end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "endframe");
        RNA_def_property_range(prop, 1, 300000);
        RNA_def_property_ui_text(prop, "End", "Frame on which the simulation stops.");
@@ -810,7 +810,7 @@ static void rna_def_softbody(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Mass", "");
        RNA_def_property_update(prop, NC_OBJECT|ND_GEOM_DATA, "rna_Object_update_data");
        
-       prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_ACCELERATION);
        RNA_def_property_float_sdna(prop, NULL, "grav");
        RNA_def_property_range(prop, -10.0f, 10.0f);
        RNA_def_property_ui_text(prop, "Gravitation", "Apply gravitation to point movement");
index 3ebdd61ca50744bdc9de63f1536b563f85ab9bda..e0dbc232e064703381063e5db60f0fbf853dd708 100644 (file)
@@ -536,7 +536,7 @@ static void rna_def_particle_hair_key(BlenderRNA *brna)
        RNA_def_struct_sdna(srna, "HairKey");
        RNA_def_struct_ui_text(srna, "Particle Hair Key", "Particle key for hair particle system.");
 
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "co");
        RNA_def_property_ui_text(prop, "Location", "Key location.");
 
@@ -555,19 +555,19 @@ static void rna_def_particle_key(BlenderRNA *brna)
        srna = RNA_def_struct(brna, "ParticleKey", NULL);
        RNA_def_struct_ui_text(srna, "Particle Key", "Key location for a particle over time.");
 
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "co");
        RNA_def_property_ui_text(prop, "Location", "Key location.");
 
-       prop= RNA_def_property(srna, "velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "vel");
        RNA_def_property_ui_text(prop, "Velocity", "Key velocity");
 
-       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_QUATERNION);
        RNA_def_property_float_sdna(prop, NULL, "rot");
        RNA_def_property_ui_text(prop, "Rotation", "Key rotation quaterion.");
 
-       prop= RNA_def_property(srna, "angular_velocity", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "angular_velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "ave");
        RNA_def_property_ui_text(prop, "Angular Velocity", "Key angular velocity.");
 
@@ -616,35 +616,35 @@ static void rna_def_particle(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Stick Object", "Object that particle sticks to when dead");
 
        /* Particle State & Previous State */
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "state.co");
        RNA_def_property_ui_text(prop, "Particle Location", "");
 
-       prop= RNA_def_property(srna, "velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "state.vel");
        RNA_def_property_ui_text(prop, "Particle Velocity", "");
 
-       prop= RNA_def_property(srna, "angular_velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "angular_velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "state.ave");
        RNA_def_property_ui_text(prop, "Angular Velocity", "");
 
-       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_QUATERNION);
        RNA_def_property_float_sdna(prop, NULL, "state.rot");
        RNA_def_property_ui_text(prop, "Rotation", "");
 
-       prop= RNA_def_property(srna, "prev_location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "prev_location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "prev_state.co");
        RNA_def_property_ui_text(prop, "Previous Particle Location", "");
 
-       prop= RNA_def_property(srna, "prev_velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "prev_velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "prev_state.vel");
        RNA_def_property_ui_text(prop, "Previous Particle Velocity", "");
 
-       prop= RNA_def_property(srna, "prev_angular_velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "prev_angular_velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "prev_state.ave");
        RNA_def_property_ui_text(prop, "Previous Angular Velocity", "");
 
-       prop= RNA_def_property(srna, "prev_rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "prev_rotation", PROP_FLOAT, PROP_QUATERNION);
        RNA_def_property_float_sdna(prop, NULL, "prev_state.rot");
        RNA_def_property_ui_text(prop, "Previous Rotation", "");
 
@@ -662,17 +662,17 @@ static void rna_def_particle(BlenderRNA *brna)
 
        /* Random variables */
 
-       prop= RNA_def_property(srna, "random_rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "random_rotation", PROP_FLOAT, PROP_QUATERNION);
        RNA_def_property_float_sdna(prop, NULL, "r_rot");
 //     RNA_def_property_range(prop, lowerLimitf, upperLimitf);
        RNA_def_property_ui_text(prop, "Random Rotation", "");
 
-       prop= RNA_def_property(srna, "random_a_velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "random_a_velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "r_ave");
 //     RNA_def_property_range(prop, lowerLimitf, upperLimitf);
        RNA_def_property_ui_text(prop, "Random Angular Velocity", "");
 
-       prop= RNA_def_property(srna, "random_velocity", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "random_velocity", PROP_FLOAT, PROP_VELOCITY);
        RNA_def_property_float_sdna(prop, NULL, "r_ve");
 //     RNA_def_property_range(prop, lowerLimitf, upperLimitf);
        RNA_def_property_ui_text(prop, "Random Velocity", "");
@@ -681,16 +681,16 @@ static void rna_def_particle(BlenderRNA *brna)
 //     float fuv[4], foffset;  /* coordinates on face/edge number "num" and depth along*/
 //                                                     /* face normal for volume emission                                              */
 
-       prop= RNA_def_property(srna, "birthtime", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "birthtime", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "time");
 //     RNA_def_property_range(prop, lowerLimitf, upperLimitf);
        RNA_def_property_ui_text(prop, "Birth Time", "");
 
-       prop= RNA_def_property(srna, "lifetime", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "lifetime", PROP_FLOAT, PROP_TIME);
 //     RNA_def_property_range(prop, lowerLimitf, upperLimitf);
        RNA_def_property_ui_text(prop, "Lifetime", "");
 
-       prop= RNA_def_property(srna, "die_time", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "die_time", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "dietime");
 //     RNA_def_property_range(prop, lowerLimitf, upperLimitf);
        RNA_def_property_ui_text(prop, "Die Time", "");
@@ -1261,7 +1261,7 @@ static void rna_def_particle_settings(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Random Tilt", "Random tilt of the billboards");
        RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Particle_redo");
 
-       prop= RNA_def_property(srna, "billboard_offset", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "billboard_offset", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "bb_offset");
        RNA_def_property_array(prop, 2);
        RNA_def_property_range(prop, -100.0f, 100.0f);
@@ -1312,7 +1312,7 @@ static void rna_def_particle_settings(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "End", "Frame # to stop emitting particles.");
        RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Particle_reset");
 
-       prop= RNA_def_property(srna, "lifetime", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "lifetime", PROP_FLOAT, PROP_TIME);
        RNA_def_property_range(prop, 1.0f, MAXFRAMEF);
        RNA_def_property_ui_text(prop, "Lifetime", "Specify the life span of the particles");
        RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Particle_reset");
@@ -1465,14 +1465,14 @@ static void rna_def_particle_settings(BlenderRNA *brna)
 
 
        /* global physical properties */
-       prop= RNA_def_property(srna, "acceleration", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "acceleration", PROP_FLOAT, PROP_ACCELERATION);
        RNA_def_property_float_sdna(prop, NULL, "acc");
        RNA_def_property_array(prop, 3);
        RNA_def_property_range(prop, -200.0f, 200.0f);
        RNA_def_property_ui_text(prop, "Acceleration", "Constant acceleration");
        RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Particle_reset");
 
-       prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_ACCELERATION);
        RNA_def_property_float_sdna(prop, NULL, "acc[2]");
        RNA_def_property_range(prop, -200.0f, 200.0f);
        RNA_def_property_ui_text(prop, "Gravity", "Constant acceleration in global Z axis direction");
@@ -1837,7 +1837,7 @@ static void rna_def_particle_target(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Target Particle System", "The index of particle system on the target object.");
        RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Particle_target_reset");
 
-       prop= RNA_def_property(srna, "time", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "time", PROP_FLOAT, PROP_TIME);
        RNA_def_property_float_sdna(prop, NULL, "time");
        RNA_def_property_range(prop, 0.0, 30000.0f); //TODO: replace 30000 with MAXFRAMEF when available in 2.5
        RNA_def_property_ui_text(prop, "Time", "");
index 0148ce819d4ffb7852343bca50efc539f06e16b1..6cf4722494f9ab31af0f2796ec9fa03678fe447c 100644 (file)
@@ -358,13 +358,13 @@ static void rna_def_pose_channel(BlenderRNA *brna)
        RNA_def_property_int_sdna(prop, NULL, "agrp_index");
        RNA_def_property_ui_text(prop, "Bone Group Index", "Bone Group this pose channel belongs to (0=no group).");
 
-       prop= RNA_def_property(srna, "path_start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "path_start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "pathsf");
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Bone Paths Calculation Start Frame", "Starting frame of range of frames to use for Bone Path calculations.");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "path_end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "path_end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "pathef");
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Bone Paths Calculation End Frame", "End frame of range of frames to use for Bone Path calculations.");
@@ -385,22 +385,22 @@ static void rna_def_pose_channel(BlenderRNA *brna)
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Child", "Child of this pose channel.");
 
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "loc");
        RNA_def_property_ui_text(prop, "Location", "");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "size");
        RNA_def_property_ui_text(prop, "Scale", "");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_QUATERNION);
        RNA_def_property_float_sdna(prop, NULL, "quat");
        RNA_def_property_ui_text(prop, "Rotation", "Rotation in Quaternions.");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
        
-       prop= RNA_def_property(srna, "euler_rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "euler_rotation", PROP_FLOAT, PROP_EULER);
        RNA_def_property_float_sdna(prop, NULL, "eul");
        RNA_def_property_float_funcs(prop, "rna_PoseChannel_euler_rotation_get", "rna_PoseChannel_euler_rotation_set", NULL);
        RNA_def_property_ui_text(prop, "Rotation (Euler)", "Rotation in Eulers.");
@@ -429,45 +429,45 @@ static void rna_def_pose_channel(BlenderRNA *brna)
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Constraint Inverse Matrix", "4x4 matrix, defines transform from final position to unconstrained position."); */
        
-       prop= RNA_def_property(srna, "pose_head", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "pose_head", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Pose Head Position", "Location of head of the channel's bone.");
 
-       prop= RNA_def_property(srna, "pose_tail", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "pose_tail", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Pose Tail Position", "Location of tail of the channel's bone.");
 
-       prop= RNA_def_property(srna, "ik_min_x", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "ik_min_x", PROP_FLOAT, PROP_ANGLE);
        RNA_def_property_float_sdna(prop, NULL, "limitmin[0]");
        RNA_def_property_range(prop, -180.0f, 0.0f);
        RNA_def_property_ui_text(prop, "IK X Minimum", "Minimum angles for IK Limit");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "ik_max_x", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "ik_max_x", PROP_FLOAT, PROP_ANGLE);
        RNA_def_property_float_sdna(prop, NULL, "limitmax[0]");
        RNA_def_property_range(prop, 0.0f, 180.0f);
        RNA_def_property_ui_text(prop, "IK X Maximum", "Maximum angles for IK Limit");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "ik_min_y", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "ik_min_y", PROP_FLOAT, PROP_ANGLE);
        RNA_def_property_float_sdna(prop, NULL, "limitmin[1]");
        RNA_def_property_range(prop, -180.0f, 0.0f);
        RNA_def_property_ui_text(prop, "IK Y Minimum", "Minimum angles for IK Limit");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "ik_max_y", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "ik_max_y", PROP_FLOAT, PROP_ANGLE);
        RNA_def_property_float_sdna(prop, NULL, "limitmax[1]");
        RNA_def_property_range(prop, 0.0f, 180.0f);
        RNA_def_property_ui_text(prop, "IK Y Maximum", "Maximum angles for IK Limit");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "ik_min_z", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "ik_min_z", PROP_FLOAT, PROP_ANGLE);
        RNA_def_property_float_sdna(prop, NULL, "limitmin[2]");
        RNA_def_property_range(prop, -180.0f, 0.0f);
        RNA_def_property_ui_text(prop, "IK Z Minimum", "Minimum angles for IK Limit");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "ik_max_z", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "ik_max_z", PROP_FLOAT, PROP_ANGLE);
        RNA_def_property_float_sdna(prop, NULL, "limitmax[2]");
        RNA_def_property_range(prop, 0.0f, 180.0f);
        RNA_def_property_ui_text(prop, "IK Z Maximum", "Maximum angles for IK Limit");
@@ -501,17 +501,17 @@ static void rna_def_pose_channel(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Custom Object", "Object that defines custom draw type for this bone.");
        RNA_def_property_update(prop, NC_OBJECT|ND_POSE|ND_TRANSFORM, "rna_Pose_update");
 
-       prop= RNA_def_property(srna, "lock_location", PROP_BOOLEAN, PROP_VECTOR);
+       prop= RNA_def_property(srna, "lock_location", PROP_BOOLEAN, PROP_XYZ);
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_LOCX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Location", "Lock editing of location in the interface.");
 
-       prop= RNA_def_property(srna, "lock_rotation", PROP_BOOLEAN, PROP_VECTOR);
+       prop= RNA_def_property(srna, "lock_rotation", PROP_BOOLEAN, PROP_XYZ);
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_ROTX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Rotation", "Lock editing of rotation in the interface.");
 
-       prop= RNA_def_property(srna, "lock_scale", PROP_BOOLEAN, PROP_VECTOR);
+       prop= RNA_def_property(srna, "lock_scale", PROP_BOOLEAN, PROP_XYZ);
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_SCALEX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Scale", "Lock editing of scale in the interface.");
index 385c7f5b2b11b6cf1cf931fadcf626a04f8b5191..54f3cc234587cc779851611de2e1a24fa79440e9 100644 (file)
@@ -407,6 +407,13 @@ static int rna_Property_subtype_get(PointerRNA *ptr)
        return prop->subtype;
 }
 
+static int rna_Property_unit_get(PointerRNA *ptr)
+{
+       PropertyRNA *prop= (PropertyRNA*)ptr->data;
+       rna_idproperty_check(&prop, ptr);
+       return RNA_SUBTYPE_UNIT(prop->subtype);
+}
+
 static int rna_Property_editable_get(PointerRNA *ptr)
 {
        PropertyRNA *prop= (PropertyRNA*)ptr->data;
@@ -769,15 +776,32 @@ static void rna_def_property(BlenderRNA *brna)
                {0, NULL, 0, NULL, NULL}};
        static EnumPropertyItem subtype_items[] = {
                {PROP_NONE, "NONE", 0, "None", ""},
-               {PROP_UNSIGNED, "UNSIGNED", 0, "Unsigned Number", ""},
                {PROP_FILEPATH, "FILE_PATH", 0, "File Path", ""},
                {PROP_DIRPATH, "DIRECTORY_PATH", 0, "Directory Path", ""},
+               {PROP_UNSIGNED, "UNSIGNED", 0, "Unsigned Number", ""},
+               {PROP_PERCENTAGE, "PERCENTAGE", 0, "Percentage", ""},
+               {PROP_ANGLE, "ANGLE", 0, "Angle", ""},
+               {PROP_TIME, "TIME", 0, "Time", ""},
+               {PROP_DISTANCE, "DISTANCE", 0, "Distance", ""},
                {PROP_COLOR, "COLOR", 0, "Color", ""},
-               {PROP_VECTOR, "VECTOR", 0, "Vector", ""},
+               {PROP_TRANSLATION, "TRANSLATION", 0, "Translation", ""},
+               {PROP_DIRECTION, "DIRECTION", 0, "Direction", ""},
                {PROP_MATRIX, "MATRIX", 0, "Matrix", ""},
-               {PROP_ROTATION, "ROTATION", 0, "Rotation", ""},
+               {PROP_EULER, "EULER", 0, "Euler", ""},
+               {PROP_QUATERNION, "QUATERNION", 0, "Quaternion", ""},
+               {PROP_XYZ, "XYZ", 0, "XYZ", ""},
+               {PROP_RGB, "RGB", 0, "RGB", ""},
                {PROP_NEVER_NULL, "NEVER_NULL", 0, "Never Null", ""},
-               {PROP_PERCENTAGE, "PERCENTAGE", 0, "Percentage", ""},
+               {0, NULL, 0, NULL, NULL}};
+       static EnumPropertyItem unit_items[] = {
+               {PROP_UNIT_NONE, "NONE", 0, "None", ""},
+               {PROP_UNIT_LENGTH, "LENGTH", 0, "Length", ""},
+               {PROP_UNIT_AREA, "AREA", 0, "Area", ""},
+               {PROP_UNIT_VOLUME, "VOLUME", 0, "Volume", ""},
+               {PROP_UNIT_ROTATION, "ROTATION", 0, "Rotation", ""},
+               {PROP_UNIT_TIME, "TIME", 0, "Time", ""},
+               {PROP_UNIT_VELOCITY, "VELOCITY", 0, "Velocity", ""},
+               {PROP_UNIT_ACCELERATION, "ACCELERATION", 0, "Acceleration", ""},
                {0, NULL, 0, NULL, NULL}};
 
        srna= RNA_def_struct(brna, "Property", NULL);
@@ -813,6 +837,12 @@ static void rna_def_property(BlenderRNA *brna)
        RNA_def_property_enum_funcs(prop, "rna_Property_subtype_get", NULL, NULL);
        RNA_def_property_ui_text(prop, "Subtype", "Semantic interpretation of the property.");
 
+       prop= RNA_def_property(srna, "unit", PROP_ENUM, PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_enum_items(prop, unit_items);
+       RNA_def_property_enum_funcs(prop, "rna_Property_unit_get", NULL, NULL);
+       RNA_def_property_ui_text(prop, "Unit", "Type of units for this property.");
+
        prop= RNA_def_property(srna, "editable", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_boolean_funcs(prop, "rna_Property_editable_get", NULL);
@@ -875,15 +905,17 @@ static void rna_def_number_property(StructRNA *srna, PropertyType type)
        RNA_def_property_ui_text(prop, "Default", "Default value for this number");
 
        switch(type) {
-       case PROP_BOOLEAN:
-               RNA_def_property_boolean_funcs(prop, "rna_BoolProperty_default_get", NULL);
-               break;
-       case PROP_INT:
-               RNA_def_property_int_funcs(prop, "rna_IntProperty_default_get", NULL, NULL);
-               break;
-       case PROP_FLOAT:
-               RNA_def_property_float_funcs(prop, "rna_FloatProperty_default_get", NULL, NULL);
-               break;
+               case PROP_BOOLEAN:
+                       RNA_def_property_boolean_funcs(prop, "rna_BoolProperty_default_get", NULL);
+                       break;
+               case PROP_INT:
+                       RNA_def_property_int_funcs(prop, "rna_IntProperty_default_get", NULL, NULL);
+                       break;
+               case PROP_FLOAT:
+                       RNA_def_property_float_funcs(prop, "rna_FloatProperty_default_get", NULL, NULL);
+                       break;
+               default:
+                       break;
        }
 
 
index 2066ebe18a9984af3c958d695809ea984fab4f24..63f9c1b50e9cd5972db0e04ce87c222aa3796328 100644 (file)
@@ -818,7 +818,7 @@ void rna_def_scene_game_data(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Physics Engine", "Physics engine used for physics simulation in the game engine.");
        RNA_def_property_update(prop, NC_SCENE, NULL);
 
-       prop= RNA_def_property(srna, "physics_gravity", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "physics_gravity", PROP_FLOAT, PROP_ACCELERATION);
        RNA_def_property_float_sdna(prop, NULL, "gravity");
        RNA_def_property_range(prop, 0.0, 25.0);
        RNA_def_property_ui_text(prop, "Physics Gravity", "Gravitational constant used for physics simulation in the game engine.");
@@ -1641,7 +1641,7 @@ void RNA_def_scene(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "World", "World used for rendering the scene.");
        RNA_def_property_update(prop, NC_WORLD, NULL);
 
-       prop= RNA_def_property(srna, "cursor_location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "cursor_location", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "cursor");
        RNA_def_property_ui_text(prop, "Cursor Location", "3D cursor location.");
        RNA_def_property_ui_range(prop, -10000.0, 10000.0, 10, 4);
@@ -1663,28 +1663,28 @@ void RNA_def_scene(BlenderRNA *brna)
        
        
        /* Frame Range Stuff */
-       prop= RNA_def_property(srna, "current_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "current_frame", PROP_INT, PROP_TIME);
        RNA_def_property_clear_flag(prop, PROP_ANIMATEABLE);
        RNA_def_property_int_sdna(prop, NULL, "r.cfra");
        RNA_def_property_range(prop, MINAFRAME, MAXFRAME);
        RNA_def_property_ui_text(prop, "Current Frame", "");
        RNA_def_property_update(prop, NC_SCENE|ND_FRAME, "rna_Scene_frame_update");
        
-       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_clear_flag(prop, PROP_ANIMATEABLE);
        RNA_def_property_int_sdna(prop, NULL, "r.sfra");
        RNA_def_property_int_funcs(prop, NULL, "rna_Scene_start_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Start Frame", "");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
        
-       prop= RNA_def_property(srna, "end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_clear_flag(prop, PROP_ANIMATEABLE);
        RNA_def_property_int_sdna(prop, NULL, "r.efra");
        RNA_def_property_int_funcs(prop, NULL, "rna_Scene_end_frame_set", NULL);
        RNA_def_property_ui_text(prop, "End Frame", "");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
        
-       prop= RNA_def_property(srna, "frame_step", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "frame_step", PROP_INT, PROP_TIME);
        RNA_def_property_clear_flag(prop, PROP_ANIMATEABLE);
        RNA_def_property_int_sdna(prop, NULL, "frame_step");
        RNA_def_property_ui_text(prop, "Frame Step", "Number of frames to skip forward while rendering/playing back each frame");
@@ -1697,14 +1697,14 @@ void RNA_def_scene(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Use Preview Range", "");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
        
-       prop= RNA_def_property(srna, "preview_range_start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "preview_range_start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_clear_flag(prop, PROP_ANIMATEABLE);
        RNA_def_property_int_sdna(prop, NULL, "r.psfra");
        RNA_def_property_int_funcs(prop, NULL, "rna_Scene_preview_range_start_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Preview Range Start Frame", "");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
        
-       prop= RNA_def_property(srna, "preview_range_end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "preview_range_end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_clear_flag(prop, PROP_ANIMATEABLE);
        RNA_def_property_int_sdna(prop, NULL, "r.pefra");
        RNA_def_property_int_funcs(prop, NULL, "rna_Scene_preview_range_end_frame_set", NULL);
@@ -1739,13 +1739,13 @@ void RNA_def_scene(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Active Keying Set", "Current Keying Set index.");
        
        /* Tool Settings */
-       prop= RNA_def_property(srna, "tool_settings", PROP_POINTER, PROP_NONE);
+       prop= RNA_def_property(srna, "tool_settings", PROP_POINTER, PROP_NEVER_NULL);
        RNA_def_property_pointer_sdna(prop, NULL, "toolsettings");
        RNA_def_property_struct_type(prop, "ToolSettings");
        RNA_def_property_ui_text(prop, "Tool Settings", "");
        
        /* Render Data */
-       prop= RNA_def_property(srna, "render_data", PROP_POINTER, PROP_NONE);
+       prop= RNA_def_property(srna, "render_data", PROP_POINTER, PROP_NEVER_NULL);
        RNA_def_property_pointer_sdna(prop, NULL, "r");
        RNA_def_property_struct_type(prop, "SceneRenderData");
        RNA_def_property_ui_text(prop, "Render Data", "");
@@ -1757,7 +1757,7 @@ void RNA_def_scene(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Timeline Markers", "Markers used in all timelines for the current scene.");
 
        /* Game Settings */
-       prop= RNA_def_property(srna, "game_data", PROP_POINTER, PROP_NONE);
+       prop= RNA_def_property(srna, "game_data", PROP_POINTER, PROP_NEVER_NULL);
        RNA_def_property_pointer_sdna(prop, NULL, "gm");
        RNA_def_property_struct_type(prop, "SceneGameData");
        RNA_def_property_ui_text(prop, "Game Data", "");
index fec91c64e4dc5831ab315379aa910c19a1f453fd..06f9972d93f9b3a58452d99cc3d284abf5315ccb 100644 (file)
@@ -438,38 +438,38 @@ static void rna_def_sequence(BlenderRNA *brna)
 
        /* strip positioning */
 
-       prop= RNA_def_property(srna, "length", PROP_INT, PROP_UNSIGNED);
+       prop= RNA_def_property(srna, "length", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "len");
        RNA_def_property_range(prop, 1, MAXFRAME);
        RNA_def_property_ui_text(prop, "Length", "The length of the contents of this strip before the handles are applied");
        RNA_def_property_int_funcs(prop, "rna_SequenceEditor_length_get", "rna_SequenceEditor_length_set",NULL);
 
-       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_UNSIGNED);
+       prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "start");
        RNA_def_property_ui_text(prop, "Start Frame", "");
        RNA_def_property_int_funcs(prop, NULL, "rna_SequenceEditor_start_frame_set",NULL); // overlap tests and calc_seq_disp
        RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
        
-       prop= RNA_def_property(srna, "start_offset", PROP_INT, PROP_UNSIGNED);
+       prop= RNA_def_property(srna, "start_offset", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "startofs");
        RNA_def_property_clear_flag(prop, PROP_EDITABLE); // overlap tests
        RNA_def_property_ui_text(prop, "Start Offset", "");
        RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
        
-       prop= RNA_def_property(srna, "end_offset", PROP_INT, PROP_UNSIGNED);
+       prop= RNA_def_property(srna, "end_offset", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "endofs");
        RNA_def_property_clear_flag(prop, PROP_EDITABLE); // overlap tests
        RNA_def_property_ui_text(prop, "End offset", "");
        RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
        
-       prop= RNA_def_property(srna, "start_still", PROP_INT, PROP_UNSIGNED);
+       prop= RNA_def_property(srna, "start_still", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "startstill");
        RNA_def_property_clear_flag(prop, PROP_EDITABLE); // overlap tests
        RNA_def_property_range(prop, 0, MAXFRAME);
        RNA_def_property_ui_text(prop, "Start Still", "");
        RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
        
-       prop= RNA_def_property(srna, "end_still", PROP_INT, PROP_UNSIGNED);
+       prop= RNA_def_property(srna, "end_still", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "endstill");
        RNA_def_property_clear_flag(prop, PROP_EDITABLE); // overlap tests
        RNA_def_property_range(prop, 0, MAXFRAME);
index 25b16d4b3ef669ba22259eebbb973f99e8491fc7..5c7fd5ece0e4df5cb2b1d1c4739f03ec3a4c2a22 100644 (file)
@@ -209,27 +209,27 @@ static void rna_def_texmapping(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "TexMapping", NULL);
        RNA_def_struct_ui_text(srna, "Texture Mapping", "Mapping settings");
 
-       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "loc");
        RNA_def_property_ui_text(prop, "Location", "");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
        
-       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_ROTATION);
+       prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_EULER);
        RNA_def_property_float_sdna(prop, NULL, "rot");
        RNA_def_property_ui_text(prop, "Rotation", "");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
        
-       prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "size");
        RNA_def_property_ui_text(prop, "Scale", "");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
        
-       prop= RNA_def_property(srna, "minimum", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "minimum", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "min");
        RNA_def_property_ui_text(prop, "Minimum", "Minimum value for clipping");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
        
-       prop= RNA_def_property(srna, "maximum", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "maximum", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_float_sdna(prop, NULL, "max");
        RNA_def_property_ui_text(prop, "Maximum", "Maximum value for clipping");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
@@ -287,13 +287,13 @@ static void rna_def_mtex(BlenderRNA *brna)
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
        /* mapping */
-       prop= RNA_def_property(srna, "offset", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "offset", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "ofs");
        RNA_def_property_ui_range(prop, -10, 10, 10, 2);
        RNA_def_property_ui_text(prop, "Offset", "Fine tunes texture mapping X, Y and Z locations.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "size", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "size", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_ui_range(prop, -100, 100, 10, 2);
        RNA_def_property_ui_text(prop, "Size", "Sets scaling for the texture's X, Y and Z sizes.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
@@ -325,19 +325,19 @@ static void rna_def_mtex(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "RGB to Intensity", "Converts texture RGB values to intensity (gray) values.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "def_var");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Default Value", "Value to use for Ref, Spec, Amb, Emit, Alpha, RayMir, TransLu and Hard.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
        
-       prop= RNA_def_property(srna, "variable_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "variable_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "varfac");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Variable Factor", "Amount texture affects other values.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
        
-       prop= RNA_def_property(srna, "normal_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "normal_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "norfac");
        RNA_def_property_ui_range(prop, 0, 5, 10, 3);
        RNA_def_property_ui_text(prop, "Normal Factor", "Amount texture affects normal values.");
index d42603e1952cfb0c0acd29949a630bdb34aadfbe..5e20fca15f044a0e4a86877892b49cdd80002243 100644 (file)
@@ -49,7 +49,7 @@ static void rna_def_timeline_marker(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Name", "");
        RNA_def_struct_name_property(srna, prop);
 
-       prop= RNA_def_property(srna, "frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "frame", PROP_INT, PROP_TIME);
        RNA_def_property_ui_text(prop, "Frame", "The frame on which the timeline marker appears.");
 }
 
index 42f22ba365746729567a850b2e5dc064a5f2723e..19b2b5376f7f55961ba5e4da6445fb42dc40c021 100644 (file)
@@ -1479,7 +1479,7 @@ static void rna_def_userdef_solidlight(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "flag", 1);
        RNA_def_property_ui_text(prop, "Enabled", "Enable this OpenGL light in solid draw mode.");
 
-       prop= RNA_def_property(srna, "direction", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "direction", PROP_FLOAT, PROP_DIRECTION);
        RNA_def_property_float_sdna(prop, NULL, "vec");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Direction", "The direction that the OpenGL light is shining.");
index 4a2154bc3cf8f8afc3bfb75c806c6a5f93643d81..eaed010038640b95b394c808a442da7278b241a7 100644 (file)
@@ -297,7 +297,7 @@ static void rna_def_operator_utils(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "OperatorMousePath", "IDPropertyGroup");
        RNA_def_struct_ui_text(srna, "Operator Mouse Path", "Mouse path values for operators that record such paths.");
 
-       prop= RNA_def_property(srna, "loc", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "loc", PROP_FLOAT, PROP_XYZ);
        RNA_def_property_flag(prop, PROP_IDPROPERTY);
        RNA_def_property_array(prop, 2);
        RNA_def_property_ui_text(prop, "Location", "Mouse location.");
index f23b893539da575b3a679bddf0330e34ca0990ab..e999ae5d601f190a62ac272d5c067a38e1e1b90b 100644 (file)
@@ -154,25 +154,25 @@ static void rna_def_world_mtex(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Object", "Object to use for mapping with Object texture coordinates.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "blend_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "blend_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "varfac");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Blend Factor", "Amount texture affects color progression of the background.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "horizon_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "horizon_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "colfac");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Horizon Factor", "Amount texture affects color of the horizon.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "zenith_up_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "zenith_up_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "colfac");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Zenith Up Factor", "Amount texture affects color of the zenith above.");
        RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-       prop= RNA_def_property(srna, "zenith_down_factor", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "zenith_down_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "colfac");
        RNA_def_property_ui_range(prop, 0, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Zenith Down Factor", "Amount texture affects color of the zenith below.");
index 6c959b9f42c3eeea44f0e289ebe42f079a3c0225..d25572fdda3b9d5d709f80cafe7927cb220a118c 100644 (file)
@@ -255,7 +255,11 @@ PyObject * pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
                /* return a mathutils vector where possible */
                if(RNA_property_type(prop)==PROP_FLOAT) {
                        switch(RNA_property_subtype(prop)) {
-                       case PROP_VECTOR:
+                       case PROP_TRANSLATION:
+                       case PROP_DIRECTION:
+                       case PROP_VELOCITY:
+                       case PROP_ACCELERATION:
+                       case PROP_XYZ:
                                if(len>=2 && len <= 4) {
                                        PyObject *vec_cb= newVectorObject_cb(ret, len, mathutils_rna_array_cb_index, FALSE);
                                        Py_DECREF(ret); /* the vector owns now */
@@ -274,7 +278,8 @@ PyObject * pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
                                        ret= mat_cb; /* return the matrix instead */
                                }
                                break;
-                       case PROP_ROTATION:
+                       case PROP_EULER:
+                       case PROP_QUATERNION:
                                if(len==3) { /* euler */
                                        PyObject *eul_cb= newEulerObject_cb(ret, mathutils_rna_array_cb_index, FALSE);
                                        Py_DECREF(ret); /* the matrix owns now */