[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21744] branches/blender2.5/blender/source /blender: RNA

Brecht Van Lommel brecht at blender.org
Tue Jul 21 03:14:56 CEST 2009


Revision: 21744
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21744
Author:   blendix
Date:     2009-07-21 03:14:55 +0200 (Tue, 21 Jul 2009)

Log Message:
-----------
RNA

* Added suppport for generating code without verifying with DNA,
  this doesn't give good errors and is more error prone, but makes
  it easier to wrap things like EditBone which are not in DNA.
* RNA_define_verify_sdna(0), and set to 1 again afterwards.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h
    branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h
    branches/blender2.5/blender/source/blender/makesrna/RNA_define.h
    branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_armature.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h	2009-07-21 00:55:20 UTC (rev 21743)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h	2009-07-21 01:14:55 UTC (rev 21744)
@@ -194,6 +194,12 @@
 	void				(*py_free)(void *py_data);
 } HeaderType;
 
+typedef struct Header {
+	struct HeaderType *type;	/* runtime */
+	struct uiLayout *layout;	/* runtime for drawing */
+} Header;
+
+
 /* menu types */
 
 typedef struct MenuType {
@@ -215,6 +221,11 @@
 	void				(*py_free)(void *py_data);
 } MenuType;
 
+typedef struct Menu {
+	struct MenuType *type;		/* runtime */
+	struct uiLayout *layout;	/* runtime for drawing */
+} Menu;
+
 /* spacetypes */
 struct SpaceType *BKE_spacetype_from_id(int spaceid);
 struct ARegionType *BKE_regiontype_from_id(struct SpaceType *st, int regionid);

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h	2009-07-21 00:55:20 UTC (rev 21743)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h	2009-07-21 01:14:55 UTC (rev 21744)
@@ -110,16 +110,6 @@
 	char list_search[64];
 } Panel;
 
-typedef struct Header {
-	struct HeaderType *type;	/* runtime */
-	struct uiLayout *layout;	/* runtime for drawing */
-} Header;
-
-typedef struct Menu {
-	struct MenuType *type;		/* runtime */
-	struct uiLayout *layout;	/* runtime for drawing */
-} Menu;
-
 typedef struct ScrArea {
 	struct ScrArea *next, *prev;
 	

Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_define.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/RNA_define.h	2009-07-21 00:55:20 UTC (rev 21743)
+++ branches/blender2.5/blender/source/blender/makesrna/RNA_define.h	2009-07-21 01:14:55 UTC (rev 21744)
@@ -42,6 +42,7 @@
 BlenderRNA *RNA_create(void);
 void RNA_define_free(BlenderRNA *brna);
 void RNA_free(BlenderRNA *brna);
+void RNA_define_verify_sdna(int verify);
 
 void RNA_init(void);
 void RNA_exit(void);

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c	2009-07-21 00:55:20 UTC (rev 21743)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c	2009-07-21 01:14:55 UTC (rev 21744)
@@ -398,8 +398,10 @@
 							}
 							else if(rna_color_quantize(prop, dp))
 								fprintf(f, "	values[%d]= (%s)(data->%s[%d]*(1.0f/255.0f));\n", i, rna_type_type(prop), dp->dnaname, i);
+							else if(dp->dnatype)
+								fprintf(f, "	values[%d]= (%s)%s(((%s*)data->%s)[%d]);\n", i, rna_type_type(prop), (dp->booleannegative)? "!": "", dp->dnatype, dp->dnaname, i);
 							else
-								fprintf(f, "	values[%d]= (%s)%s(((%s*)data->%s)[%d]);\n", i, rna_type_type(prop), (dp->booleannegative)? "!": "", dp->dnatype, dp->dnaname, i);
+								fprintf(f, "	values[%d]= (%s)%s((data->%s)[%d]);\n", i, rna_type_type(prop), (dp->booleannegative)? "!": "", dp->dnaname, i);
 						}
 					}
 				}
@@ -564,7 +566,10 @@
 								fprintf(f, "	data->%s[%d]= FTOCHAR(values[%d]);\n", dp->dnaname, i, i);
 							}
 							else {
-								fprintf(f, "	((%s*)data->%s)[%d]= %s", dp->dnatype, dp->dnaname, i, (dp->booleannegative)? "!": "");
+								if(dp->dnatype)
+									fprintf(f, "	((%s*)data->%s)[%d]= %s", dp->dnatype, dp->dnaname, i, (dp->booleannegative)? "!": "");
+								else
+									fprintf(f, "	(data->%s)[%d]= %s", dp->dnaname, i, (dp->booleannegative)? "!": "");
 								rna_clamp_value(f, prop, 1, i);
 							}
 						}

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_armature.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_armature.c	2009-07-21 00:55:20 UTC (rev 21743)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_armature.c	2009-07-21 01:14:55 UTC (rev 21744)
@@ -144,18 +144,6 @@
 	data->pathef= value;
 }
 
-static void rna_EditBone_name_get(PointerRNA *ptr, char *value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	BLI_strncpy(value, data->name, sizeof(data->name));
-}
-
-static int rna_EditBone_name_length(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return strlen(data->name);
-}
-
 static void rna_EditBone_name_set(PointerRNA *ptr, const char *value)
 {
 	bArmature *arm= (bArmature*)ptr->id.data;
@@ -169,55 +157,6 @@
 	ED_armature_bone_rename(arm, oldname, newname);
 }
 
-static int rna_EditBone_active_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (((data->flag) & BONE_ACTIVE) != 0);
-}
-
-static void rna_EditBone_active_set(PointerRNA *ptr, int value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	if(value) data->flag |= BONE_ACTIVE;
-	else data->flag &= ~BONE_ACTIVE;
-}
-
-static float rna_EditBone_bbone_in_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (float)(data->ease1);
-}
-
-static void rna_EditBone_bbone_in_set(PointerRNA *ptr, float value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	data->ease1= CLAMPIS(value, 0.0f, 2.0f);
-}
-
-static float rna_EditBone_bbone_out_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (float)(data->ease2);
-}
-
-static void rna_EditBone_bbone_out_set(PointerRNA *ptr, float value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	data->ease2= CLAMPIS(value, 0.0f, 2.0f);
-}
-
-static int rna_EditBone_bbone_segments_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (int)(data->segments);
-}
-
-static void rna_EditBone_bbone_segments_set(PointerRNA *ptr, int value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	data->segments= CLAMPIS(value, 1, 32);
-}
-
 static void rna_EditBone_layer_get(PointerRNA *ptr, int values[16])
 {
 	EditBone *data= (EditBone*)(ptr->data);
@@ -261,12 +200,6 @@
 	}
 }
 
-static int rna_EditBone_connected_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (((data->flag) & BONE_CONNECTED) != 0);
-}
-
 static void rna_EditBone_connected_set(PointerRNA *ptr, int value)
 {
 	EditBone *ebone= (EditBone*)(ptr->data);
@@ -277,190 +210,6 @@
 	rna_EditBone_connected_check(ebone);
 }
 
-static int rna_EditBone_cyclic_offset_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (!((data->flag) & BONE_NO_CYCLICOFFSET) != 0);
-}
-
-static void rna_EditBone_cyclic_offset_set(PointerRNA *ptr, int value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	if(!value) data->flag |= BONE_NO_CYCLICOFFSET;
-	else data->flag &= ~BONE_NO_CYCLICOFFSET;
-}
-
-static int rna_EditBone_deform_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (!((data->flag) & BONE_NO_DEFORM) != 0);
-}
-
-static void rna_EditBone_deform_set(PointerRNA *ptr, int value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	if(!value) data->flag |= BONE_NO_DEFORM;
-	else data->flag &= ~BONE_NO_DEFORM;
-}
-
-static int rna_EditBone_draw_wire_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (((data->flag) & BONE_DRAWWIRE) != 0);
-}
-
-static void rna_EditBone_draw_wire_set(PointerRNA *ptr, int value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	if(value) data->flag |= BONE_DRAWWIRE;
-	else data->flag &= ~BONE_DRAWWIRE;
-}
-
-static float rna_EditBone_envelope_distance_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (float)(data->dist);
-}
-
-static void rna_EditBone_envelope_distance_set(PointerRNA *ptr, float value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	data->dist= CLAMPIS(value, 0.0f, 1000.0f);
-}
-
-static float rna_EditBone_envelope_weight_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (float)(data->weight);
-}
-
-static void rna_EditBone_envelope_weight_set(PointerRNA *ptr, float value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	data->weight= CLAMPIS(value, 0.0f, 1000.0f);
-}
-
-static float rna_EditBone_radius_head_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (float)(data->rad_head);
-}
-
-static void rna_EditBone_radius_head_set(PointerRNA *ptr, float value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	if(data->parent)
-		data->parent->rad_tail= value;
-	else
-		data->rad_head= value;
-}
-
-static float rna_EditBone_radius_tail_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (float)(data->rad_tail);
-}
-
-static void rna_EditBone_radius_tail_set(PointerRNA *ptr, float value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	data->rad_tail= value;
-}
-
-static void rna_EditBone_head_get(PointerRNA *ptr, float values[3])
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	values[0]= (float)(((float*)data->head)[0]);
-	values[1]= (float)(((float*)data->head)[1]);
-	values[2]= (float)(((float*)data->head)[2]);
-}
-
-static void rna_EditBone_head_set(PointerRNA *ptr, const float values[3])
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	((float*)data->head)[0]= values[0];
-	((float*)data->head)[1]= values[1];
-	((float*)data->head)[2]= values[2];
-}
-
-static int rna_EditBone_head_selected_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (((data->flag) & BONE_ROOTSEL) != 0);
-}
-
-static void rna_EditBone_head_selected_set(PointerRNA *ptr, int value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	if(value) data->flag |= BONE_ROOTSEL;
-	else data->flag &= ~BONE_ROOTSEL;
-}
-
-static int rna_EditBone_hidden_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (((data->flag) & BONE_HIDDEN_A) != 0);
-}
-
-static void rna_EditBone_hidden_set(PointerRNA *ptr, int value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	if(value) data->flag |= BONE_HIDDEN_A;
-	else data->flag &= ~BONE_HIDDEN_A;
-}
-
-static int rna_EditBone_hinge_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	return (!((data->flag) & BONE_HINGE) != 0);
-}
-
-static void rna_EditBone_hinge_set(PointerRNA *ptr, int value)
-{
-	EditBone *data= (EditBone*)(ptr->data);
-	if(!value) data->flag |= BONE_HINGE;
-	else data->flag &= ~BONE_HINGE;
-}
-
-static int rna_EditBone_inherit_scale_get(PointerRNA *ptr)
-{
-	EditBone *data= (EditBone*)(ptr->data);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list