[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