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

Joshua Leung aligorith at gmail.com
Mon Feb 2 12:51:11 CET 2009


Revision: 18789
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18789
Author:   aligorith
Date:     2009-02-02 12:51:10 +0100 (Mon, 02 Feb 2009)

Log Message:
-----------
Animato RNA wrapping:

It's about time that the RNA wrapping for various parts of the animation system were cleaned up for my recent changes. I've moved some code around (and/or deleted a file or two) in the process.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c
    branches/blender2.5/blender/source/blender/editors/animation/anim_ipo_utils.c
    branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_anim_types.h
    branches/blender2.5/blender/source/blender/makesdna/DNA_curve_types.h
    branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
    branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_camera.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_curve.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_fluidsim.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_key.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_lattice.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_main.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_material.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_meta.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_object.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_pose.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_sequence.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_sound.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_space.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_texture.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_world.c

Removed Paths:
-------------
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_ipo.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c	2009-02-02 11:51:10 UTC (rev 18789)
@@ -448,7 +448,7 @@
 	
 	
 	/* allocate new eval-strip for this strip + add to stack */
-	nes= MEM_callocN(sizeof(NlaEvalStrip), "bNlaEvalStrip");
+	nes= MEM_callocN(sizeof(NlaEvalStrip), "NlaEvalStrip");
 	
 	nes->track= nlt;
 	nes->strip= astrip;
@@ -473,7 +473,7 @@
 /* write the accumulated settings to */
 static void nladata_flush_channels (PointerRNA *ptr, ListBase *channels)
 {
-
+	
 }
 
 /* ---------------------- */

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c	2009-02-02 11:51:10 UTC (rev 18789)
@@ -287,14 +287,13 @@
 		case AC_QUAT_Z:
 			*array_index= 3; return "rotation";
 			
-#if 0 // XXX these were not 'official' channels (i.e. not in bf-releases)... these will need separate wrapping to work...
 		case AC_EUL_X:
-			*array_index= 0; return "rotation";
+			*array_index= 0; return "euler_rotation";
 		case AC_EUL_Y:
-			*array_index= 1; return "rotation";
+			*array_index= 1; return "euler_rotation";
 		case AC_EUL_Z:
-			*array_index= 2; return "rotation";
-#endif 
+			*array_index= 2; return "euler_rotation";
+			
 		case -1: // XXX special case for rotation drivers... until eulers are added...
 			*array_index= 0; return "rotation";
 			
@@ -937,7 +936,7 @@
 				fcurve= fcu;
 				
 			/* set path */
-			fcurve->rna_path= MEM_dupallocN(abp->path);
+			fcurve->rna_path= adrcode_bitmap_path_copy(abp->path);
 			fcurve->array_index= abp->array_index;
 			
 			/* convert keyframes 
@@ -1010,9 +1009,11 @@
 				if (icu->ipo != IPO_MIXED)
 					dst->ipo= icu->ipo;
 					
-				/* correct values for object rotation curves - they were degrees/10 */
+				/* correct values for euler rotation curves - they were degrees/10 */
 				// XXX for now, just make them into radians as RNA sets/reads directly in that form
-				if ((icu->blocktype == ID_OB) && ELEM3(icu->adrcode, OB_ROT_X, OB_ROT_Y, OB_ROT_Z)) {
+				if ( ((icu->blocktype == ID_OB) && ELEM3(icu->adrcode, OB_ROT_X, OB_ROT_Y, OB_ROT_Z)) ||
+					 ((icu->blocktype == ID_PO) && ELEM3(icu->adrcode, AC_EUL_X, AC_EUL_Y, AC_EUL_Z)) )
+				{
 					const float fac= (float)M_PI / 18.0f; //10.0f * M_PI/180.0f;
 					
 					dst->vec[0][1] *= fac;

Modified: branches/blender2.5/blender/source/blender/editors/animation/anim_ipo_utils.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/animation/anim_ipo_utils.c	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/editors/animation/anim_ipo_utils.c	2009-02-02 11:51:10 UTC (rev 18789)
@@ -69,7 +69,7 @@
 		case ID_PO:
 			return ICON_POSE_HLT;
 		case ID_KE:
-			return ICON_EDIT;
+			return ICON_SHAPEKEY;
 		case ID_MA:
 			return ICON_MATERIAL;
 		case ID_WO:

Modified: branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c	2009-02-02 11:51:10 UTC (rev 18789)
@@ -3178,6 +3178,8 @@
 		return ICON_LIBRARY_DEHLT;
 	else if(rnatype == &RNA_Action)
 		return ICON_ACTION;
+	else if(rnatype == &RNA_FCurve)
+		return ICON_IPO_DEHLT;
 	//else if(rnatype == &RNA_Ipo)
 	//	return ICON_IPO_DEHLT;
 	else if(rnatype == &RNA_Key)

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_anim_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_anim_types.h	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_anim_types.h	2009-02-02 11:51:10 UTC (rev 18789)
@@ -255,14 +255,6 @@
 	FCURVE_EXTRAPOLATE_LINEAR,			/* just extend gradient of segment between first segment keyframes */
 } eFCurve_Extend;
 
-/* interpolation modes (used only for BezTriple->ipo) */
-// TODO: move this to curve-types file?
-enum {
-	BEZT_IPO_CONST = 0,	/* constant interpolation */
-	BEZT_IPO_LIN,		/* linear interpolation */
-	BEZT_IPO_BEZ,		/* bezier interpolation */
-} eBezTriple_Interpolation;
-
 /* ************************************************ */
 /* 'Action' Datatypes */
 

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_curve_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_curve_types.h	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_curve_types.h	2009-02-02 11:51:10 UTC (rev 18789)
@@ -260,13 +260,24 @@
 /* flagu flagv (nurb) */
 #define CU_CYCLIC		1
 
+/* *************** BEZTRIPLE **************** */
+
 /* h1 h2 (beztriple) */
-#define HD_FREE			0
-#define HD_AUTO			1
-#define HD_VECT			2
-#define HD_ALIGN		3
-#define HD_AUTO_ANIM	4
+enum {
+	HD_FREE	= 0,
+	HD_AUTO,
+	HD_VECT,
+	HD_ALIGN,
+	HD_AUTO_ANIM
+} eBezTriple_Handle;
 
+/* interpolation modes (used only for BezTriple->ipo) */
+enum {
+	BEZT_IPO_CONST = 0,	/* constant interpolation */
+	BEZT_IPO_LIN,		/* linear interpolation */
+	BEZT_IPO_BEZ,		/* bezier interpolation */
+} eBezTriple_Interpolation;
+
 /* *************** CHARINFO **************** */
 
 /* flag */

Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-02-02 11:51:10 UTC (rev 18789)
@@ -36,12 +36,12 @@
 extern BlenderRNA BLENDER_RNA;
 
 extern StructRNA RNA_Action;
-extern StructRNA RNA_ActionChannel;
 extern StructRNA RNA_ActionGroup;
 extern StructRNA RNA_Actuator;
 extern StructRNA RNA_ActuatorSensor;
 extern StructRNA RNA_AlwaysSensor;
 extern StructRNA RNA_AndController;
+extern StructRNA RNA_AnimData;
 extern StructRNA RNA_Area;
 extern StructRNA RNA_AreaLamp;
 extern StructRNA RNA_Armature;
@@ -80,6 +80,7 @@
 extern StructRNA RNA_DelaySensor;
 extern StructRNA RNA_DisplaceModifier;
 extern StructRNA RNA_DomainFluidSettings;
+extern StructRNA RNA_Driver;
 extern StructRNA RNA_EdgeSplitModifier;
 extern StructRNA RNA_EffectSequence;
 extern StructRNA RNA_EnumProperty;
@@ -87,6 +88,7 @@
 extern StructRNA RNA_EnvironmentMap;
 extern StructRNA RNA_ExplodeModifier;
 extern StructRNA RNA_ExpressionController;
+extern StructRNA RNA_FCurve;
 extern StructRNA RNA_FieldSettings;
 extern StructRNA RNA_FloatProperty;
 extern StructRNA RNA_FluidFluidSettings;
@@ -112,9 +114,6 @@
 extern StructRNA RNA_ImageUser;
 extern StructRNA RNA_InflowFluidSettings;
 extern StructRNA RNA_IntProperty;
-extern StructRNA RNA_Ipo;
-extern StructRNA RNA_IpoCurve;
-extern StructRNA RNA_IpoDriver;
 extern StructRNA RNA_JoystickSensor;
 extern StructRNA RNA_Key;
 extern StructRNA RNA_KeyboardSensor;
@@ -235,13 +234,13 @@
 extern StructRNA RNA_Texture;
 extern StructRNA RNA_TextureSlot;
 extern StructRNA RNA_Theme;
-extern StructRNA RNA_ThemeActionEditor;
+extern StructRNA RNA_ThemeDopeSheetEditor;
 extern StructRNA RNA_ThemeAudioWindow;
 extern StructRNA RNA_ThemeBoneColorSet;
 extern StructRNA RNA_ThemeButtonsWindow;
 extern StructRNA RNA_ThemeFileBrowser;
 extern StructRNA RNA_ThemeImageEditor;
-extern StructRNA RNA_ThemeIpoEditor;
+extern StructRNA RNA_ThemeGraphEditor;
 extern StructRNA RNA_ThemeNLAEditor;
 extern StructRNA RNA_ThemeNodeEditor;
 extern StructRNA RNA_ThemeOutliner;

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c	2009-02-02 11:51:10 UTC (rev 18789)
@@ -936,7 +936,7 @@
 RNAProcessItem PROCESS_ITEMS[]= {
 	{"rna_ID.c", RNA_def_ID},
 	{"rna_texture.c", RNA_def_texture},
-	{"rna_action.c", RNA_def_action},
+	{"rna_action.c", RNA_def_animation},
 	{"rna_actuator.c", RNA_def_actuator},
 	{"rna_armature.c", RNA_def_armature},
 	{"rna_brush.c", RNA_def_brush},
@@ -949,7 +949,6 @@
 	{"rna_fluidsim.c", RNA_def_fluidsim},
 	{"rna_group.c", RNA_def_group},
 	{"rna_image.c", RNA_def_image},
-	{"rna_ipo.c", RNA_def_ipo},
 	{"rna_key.c", RNA_def_key},
 	{"rna_lamp.c", RNA_def_lamp},
 	{"rna_lattice.c", RNA_def_lattice},

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c	2009-02-02 11:51:10 UTC (rev 18789)
@@ -65,7 +65,7 @@
 		case ID_CU: return &RNA_Curve;
 		case ID_GR: return &RNA_Group;
 		case ID_IM: return &RNA_Image;
-		case ID_IP: return &RNA_Ipo;
+		//case ID_IP: return &RNA_Ipo;
 		case ID_KE: return &RNA_Key;
 		case ID_LA: return &RNA_Lamp;
 		case ID_LI: return &RNA_Library;

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c	2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c	2009-02-02 11:51:10 UTC (rev 18789)
@@ -29,74 +29,172 @@
 
 #include "rna_internal.h"
 
+#include "DNA_anim_types.h"
 #include "DNA_action_types.h"
-#include "DNA_constraint_types.h"
 #include "DNA_scene_types.h"
 
+#include "MEM_guardedalloc.h"
 
 #ifdef RNA_RUNTIME
 
+static void rna_Driver_RnaPath_get(PointerRNA *ptr, char *value)
+{
+	ChannelDriver *driver= (ChannelDriver *)ptr->data;
+
+	if (driver->rna_path)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list