Cleanup: moved drivers to BKE_fcurve_driver.h / fcurve_driver.c
All the driver-specific code in `fcurve.c` has been moved into a new file `fcurve_driver.c`. The corresponding declarations have been moved from `BKE_fcurve.h` to `BKE_fcurve_driver.h`. All the `#include "BKE_fcurve.h"` statements have been investigated and replaced with `BKE_fcurve_driver.h` where necessary. No functional changes.
This commit is contained in:
parent
28bdf669a9
commit
aa72e3abf9
|
@ -29,8 +29,6 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
struct ChannelDriver;
|
||||
struct DriverTarget;
|
||||
struct DriverVar;
|
||||
struct FCM_EnvelopeData;
|
||||
struct FCurve;
|
||||
struct FModifier;
|
||||
|
@ -56,67 +54,6 @@ typedef struct CfraElem {
|
|||
|
||||
void bezt_add_to_cfra_elem(ListBase *lb, struct BezTriple *bezt);
|
||||
|
||||
/* ************** F-Curve Drivers ***************** */
|
||||
|
||||
/* With these iterators for convenience, the variables "tarIndex" and "dtar" can be
|
||||
* accessed directly from the code using them, but it is not recommended that their
|
||||
* values be changed to point at other slots...
|
||||
*/
|
||||
|
||||
/* convenience looper over ALL driver targets for a given variable (even the unused ones) */
|
||||
#define DRIVER_TARGETS_LOOPER_BEGIN(dvar) \
|
||||
{ \
|
||||
DriverTarget *dtar = &dvar->targets[0]; \
|
||||
int tarIndex = 0; \
|
||||
for (; tarIndex < MAX_DRIVER_TARGETS; tarIndex++, dtar++)
|
||||
|
||||
/* convenience looper over USED driver targets only */
|
||||
#define DRIVER_TARGETS_USED_LOOPER_BEGIN(dvar) \
|
||||
{ \
|
||||
DriverTarget *dtar = &dvar->targets[0]; \
|
||||
int tarIndex = 0; \
|
||||
for (; tarIndex < dvar->num_targets; tarIndex++, dtar++)
|
||||
|
||||
/* tidy up for driver targets loopers */
|
||||
#define DRIVER_TARGETS_LOOPER_END \
|
||||
} \
|
||||
((void)0)
|
||||
|
||||
/* ---------------------- */
|
||||
|
||||
void fcurve_free_driver(struct FCurve *fcu);
|
||||
struct ChannelDriver *fcurve_copy_driver(const struct ChannelDriver *driver);
|
||||
|
||||
void driver_variables_copy(struct ListBase *dst_vars, const struct ListBase *src_vars);
|
||||
|
||||
void BKE_driver_target_matrix_to_rot_channels(
|
||||
float mat[4][4], int auto_order, int rotation_mode, int channel, bool angles, float r_buf[4]);
|
||||
|
||||
void driver_free_variable(struct ListBase *variables, struct DriverVar *dvar);
|
||||
void driver_free_variable_ex(struct ChannelDriver *driver, struct DriverVar *dvar);
|
||||
|
||||
void driver_change_variable_type(struct DriverVar *dvar, int type);
|
||||
void driver_variable_name_validate(struct DriverVar *dvar);
|
||||
struct DriverVar *driver_add_new_variable(struct ChannelDriver *driver);
|
||||
|
||||
float driver_get_variable_value(struct ChannelDriver *driver, struct DriverVar *dvar);
|
||||
bool driver_get_variable_property(struct ChannelDriver *driver,
|
||||
struct DriverTarget *dtar,
|
||||
struct PointerRNA *r_ptr,
|
||||
struct PropertyRNA **r_prop,
|
||||
int *r_index);
|
||||
|
||||
bool BKE_driver_has_simple_expression(struct ChannelDriver *driver);
|
||||
bool BKE_driver_expression_depends_on_time(struct ChannelDriver *driver);
|
||||
void BKE_driver_invalidate_expression(struct ChannelDriver *driver,
|
||||
bool expr_changed,
|
||||
bool varname_changed);
|
||||
|
||||
float evaluate_driver(struct PathResolvedRNA *anim_rna,
|
||||
struct ChannelDriver *driver,
|
||||
struct ChannelDriver *driver_orig,
|
||||
const float evaltime);
|
||||
|
||||
/* ************** F-Curve Modifiers *************** */
|
||||
|
||||
/* F-Curve Modifier Type-Info (fmi):
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* The Original Code is Copyright (C) 2009 Blender Foundation, Joshua Leung
|
||||
* All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef __BKE_FCURVE_DRIVER_H__
|
||||
#define __BKE_FCURVE_DRIVER_H__
|
||||
|
||||
/** \file
|
||||
* \ingroup bke
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct ChannelDriver;
|
||||
struct DriverTarget;
|
||||
struct DriverVar;
|
||||
struct FCurve;
|
||||
struct PathResolvedRNA;
|
||||
struct PointerRNA;
|
||||
struct PropertyRNA;
|
||||
|
||||
#include "DNA_curve_types.h"
|
||||
|
||||
/* ************** F-Curve Drivers ***************** */
|
||||
|
||||
/* With these iterators for convenience, the variables "tarIndex" and "dtar" can be
|
||||
* accessed directly from the code using them, but it is not recommended that their
|
||||
* values be changed to point at other slots...
|
||||
*/
|
||||
|
||||
/* convenience looper over ALL driver targets for a given variable (even the unused ones) */
|
||||
#define DRIVER_TARGETS_LOOPER_BEGIN(dvar) \
|
||||
{ \
|
||||
DriverTarget *dtar = &dvar->targets[0]; \
|
||||
int tarIndex = 0; \
|
||||
for (; tarIndex < MAX_DRIVER_TARGETS; tarIndex++, dtar++)
|
||||
|
||||
/* convenience looper over USED driver targets only */
|
||||
#define DRIVER_TARGETS_USED_LOOPER_BEGIN(dvar) \
|
||||
{ \
|
||||
DriverTarget *dtar = &dvar->targets[0]; \
|
||||
int tarIndex = 0; \
|
||||
for (; tarIndex < dvar->num_targets; tarIndex++, dtar++)
|
||||
|
||||
/* tidy up for driver targets loopers */
|
||||
#define DRIVER_TARGETS_LOOPER_END \
|
||||
} \
|
||||
((void)0)
|
||||
|
||||
/* ---------------------- */
|
||||
|
||||
void fcurve_free_driver(struct FCurve *fcu);
|
||||
struct ChannelDriver *fcurve_copy_driver(const struct ChannelDriver *driver);
|
||||
|
||||
void driver_variables_copy(struct ListBase *dst_vars, const struct ListBase *src_vars);
|
||||
|
||||
void BKE_driver_target_matrix_to_rot_channels(
|
||||
float mat[4][4], int auto_order, int rotation_mode, int channel, bool angles, float r_buf[4]);
|
||||
|
||||
void driver_free_variable(struct ListBase *variables, struct DriverVar *dvar);
|
||||
void driver_free_variable_ex(struct ChannelDriver *driver, struct DriverVar *dvar);
|
||||
|
||||
void driver_change_variable_type(struct DriverVar *dvar, int type);
|
||||
void driver_variable_name_validate(struct DriverVar *dvar);
|
||||
struct DriverVar *driver_add_new_variable(struct ChannelDriver *driver);
|
||||
|
||||
float driver_get_variable_value(struct ChannelDriver *driver, struct DriverVar *dvar);
|
||||
bool driver_get_variable_property(struct ChannelDriver *driver,
|
||||
struct DriverTarget *dtar,
|
||||
struct PointerRNA *r_ptr,
|
||||
struct PropertyRNA **r_prop,
|
||||
int *r_index);
|
||||
|
||||
bool BKE_driver_has_simple_expression(struct ChannelDriver *driver);
|
||||
bool BKE_driver_expression_depends_on_time(struct ChannelDriver *driver);
|
||||
void BKE_driver_invalidate_expression(struct ChannelDriver *driver,
|
||||
bool expr_changed,
|
||||
bool varname_changed);
|
||||
|
||||
float evaluate_driver(struct PathResolvedRNA *anim_rna,
|
||||
struct ChannelDriver *driver,
|
||||
struct ChannelDriver *driver_orig,
|
||||
const float evaltime);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __BKE_FCURVE_DRIVER_H__*/
|
|
@ -116,6 +116,7 @@ set(SRC
|
|||
intern/editmesh_tangent.c
|
||||
intern/effect.c
|
||||
intern/fcurve.c
|
||||
intern/fcurve_driver.c
|
||||
intern/fluid.c
|
||||
intern/fmodifier.c
|
||||
intern/font.c
|
||||
|
@ -301,6 +302,7 @@ set(SRC
|
|||
BKE_editmesh_tangent.h
|
||||
BKE_effect.h
|
||||
BKE_fcurve.h
|
||||
BKE_fcurve_driver.h
|
||||
BKE_fluid.h
|
||||
BKE_font.h
|
||||
BKE_freestyle.h
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "BKE_animsys.h"
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_lib_id.h"
|
||||
#include "BKE_main.h"
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
#include "BKE_deform.h"
|
||||
#include "BKE_displist.h"
|
||||
#include "BKE_editmesh.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_idprop.h"
|
||||
#include "BKE_lib_id.h"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -60,6 +60,7 @@
|
|||
#include "BKE_action.h"
|
||||
#include "BKE_anim_data.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_idtype.h"
|
||||
#include "BKE_ipo.h"
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
#include "BKE_anim_data.h"
|
||||
#include "BKE_collection.h"
|
||||
#include "BKE_constraint.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_gpencil_modifier.h"
|
||||
#include "BKE_idprop.h"
|
||||
#include "BKE_lib_id.h"
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
#include "BKE_editmesh.h"
|
||||
#include "BKE_effect.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_font.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_gpencil.h"
|
||||
|
|
|
@ -118,7 +118,7 @@
|
|||
#include "BKE_constraint.h"
|
||||
#include "BKE_curve.h"
|
||||
#include "BKE_effect.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_fluid.h"
|
||||
#include "BKE_global.h" // for G
|
||||
#include "BKE_gpencil_modifier.h"
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
#include "BKE_anim_data.h"
|
||||
#include "BKE_animsys.h"
|
||||
#include "BKE_colortools.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_main.h"
|
||||
#include "BKE_mask.h"
|
||||
#include "BKE_modifier.h"
|
||||
|
|
|
@ -75,6 +75,7 @@
|
|||
#include "BKE_curveprofile.h"
|
||||
#include "BKE_customdata.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_freestyle.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_gpencil.h"
|
||||
|
|
|
@ -157,6 +157,7 @@
|
|||
#include "BKE_constraint.h"
|
||||
#include "BKE_curve.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h" // for G
|
||||
#include "BKE_gpencil_modifier.h"
|
||||
#include "BKE_idtype.h"
|
||||
|
|
|
@ -75,7 +75,7 @@ extern "C" {
|
|||
#include "BKE_constraint.h"
|
||||
#include "BKE_curve.h"
|
||||
#include "BKE_effect.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_gpencil.h"
|
||||
#include "BKE_gpencil_modifier.h"
|
||||
#include "BKE_idprop.h"
|
||||
|
|
|
@ -76,7 +76,7 @@ extern "C" {
|
|||
#include "BKE_constraint.h"
|
||||
#include "BKE_curve.h"
|
||||
#include "BKE_effect.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_gpencil_modifier.h"
|
||||
#include "BKE_idprop.h"
|
||||
#include "BKE_image.h"
|
||||
|
|
|
@ -87,6 +87,7 @@
|
|||
#include "BKE_collection.h"
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_key.h"
|
||||
#include "BKE_layer.h"
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include "BKE_animsys.h"
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_report.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
|
|
|
@ -50,6 +50,7 @@
|
|||
#include "BKE_armature.h"
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_idtype.h"
|
||||
#include "BKE_key.h"
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
#include "BKE_armature.h"
|
||||
#include "BKE_constraint.h"
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_layer.h"
|
||||
#include "BKE_main.h"
|
||||
#include "BKE_report.h"
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
#include "BKE_brush.h"
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_deform.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_gpencil.h"
|
||||
#include "BKE_gpencil_modifier.h"
|
||||
#include "BKE_lib_id.h"
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_main.h"
|
||||
#include "BKE_nla.h"
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include "BKE_context.h"
|
||||
#include "BKE_curve.h"
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_main.h"
|
||||
#include "BKE_screen.h"
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_idtype.h"
|
||||
#include "BKE_layer.h"
|
||||
#include "BKE_lib_id.h"
|
||||
|
|
|
@ -213,6 +213,7 @@ static StructRNA *rna_FModifierType_refine(struct PointerRNA *ptr)
|
|||
|
||||
# include "BKE_anim_data.h"
|
||||
# include "BKE_fcurve.h"
|
||||
# include "BKE_fcurve_driver.h"
|
||||
|
||||
# include "DEG_depsgraph.h"
|
||||
# include "DEG_depsgraph_build.h"
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
#include "BLI_math_base.h"
|
||||
#include "BLI_string.h"
|
||||
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
#include "BKE_global.h"
|
||||
|
||||
#include "bpy_rna_driver.h" /* for pyrna_driver_get_variable_value */
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#include "BLI_utildefines.h"
|
||||
|
||||
#include "BKE_fcurve.h"
|
||||
#include "BKE_fcurve_driver.h"
|
||||
|
||||
#include "RNA_access.h"
|
||||
|
||||
|
|
Loading…
Reference in New Issue