Blender
V3.3
|
#include "DNA_ID.h"
#include "DNA_action_types.h"
#include "DNA_curve_types.h"
#include "DNA_listBase.h"
Go to the source code of this file.
Classes | |
struct | FModifier |
struct | FMod_Generator |
struct | FMod_FunctionGenerator |
struct | FCM_EnvelopeData |
struct | FMod_Envelope |
struct | FMod_Cycles |
struct | FMod_Python |
struct | FMod_Limits |
struct | FMod_Noise |
struct | FMod_Stepped |
struct | DriverTarget |
struct | DriverVar |
struct | ChannelDriver |
struct | FPoint |
struct | FCurve |
struct | NlaStrip |
struct | NlaTrack |
struct | KS_Path |
struct | KeyingSet |
struct | AnimOverride |
struct | AnimData |
struct | IdAdtTemplate |
Macros | |
#define | MAX_DRIVER_TARGETS 8 |
#define | DVAR_ALL_INVALID_FLAGS |
#define | FCURVE_ACTIVE_KEYFRAME_NONE -1 |
#define DVAR_ALL_INVALID_FLAGS |
Definition at line 467 of file DNA_anim_types.h.
#define FCURVE_ACTIVE_KEYFRAME_NONE -1 |
When #active_keyframe_index is set to this, the FCurve does not have an active keyframe.
Definition at line 548 of file DNA_anim_types.h.
#define MAX_DRIVER_TARGETS 8 |
Definition at line 390 of file DNA_anim_types.h.
Animation data for some ID block (adt)
This block of data is used to provide all of the necessary animation data for a data-block. Currently, this data will not be reusable, as there shouldn't be any need to do so.
This information should be made available for most if not all ID-blocks, which should enable all of its settings to be animatable locally. Animation from 'higher-up' ID-AnimData blocks may override local settings.
This data-block should be placed immediately after the ID block where it is used, so that the code which retrieves this data can do so in an easier manner. See blenkernel/intern/anim_sys.c for details.
typedef struct AnimOverride AnimOverride |
Animation Override (aor)
This is used to as temporary storage of values which have been changed by the user, but not yet keyframed (thus, would get overwritten by the animation system before the user had a chance to see the changes that were made).
It is probably not needed for overriding keyframed values in most cases, as those will only get evaluated on frame-change now. That situation may change in future.
typedef struct ChannelDriver ChannelDriver |
Channel Driver (i.e. Drivers / Expressions) (driver)
Channel Drivers are part of the dependency system, and are executed in addition to normal user-defined animation. They take the animation result of some channel(s), and use that (optionally combined with its own F-Curve for modification of results) to define the value of some setting semi-procedurally.
Drivers are stored as part of F-Curve data, so that the F-Curve's RNA-path settings (for storing what setting the driver will affect). The order in which they are stored defines the order that they're evaluated in. This order is set by the Depsgraph's sorting stuff.
typedef struct DriverTarget DriverTarget |
Driver Variable (dvar)
A 'variable' for use as an input for the driver evaluation. Defines a way of accessing some channel to use, that can be referred to in the expression as a variable, thus simplifying expressions and also Depsgraph building.
typedef enum eAnimData_Flag eAnimData_Flag |
typedef enum eDriver_Flags eDriver_Flags |
Driver flags.
typedef enum eDriver_Types eDriver_Types |
Driver type.
typedef enum eDriverTarget_Flag eDriverTarget_Flag |
Driver Target flags.
typedef enum eDriverTarget_RotationMode eDriverTarget_RotationMode |
typedef enum eDriverVar_Flags eDriverVar_Flags |
typedef enum eDriverVar_Types eDriverVar_Types |
Driver Variable Types.*
typedef enum eFCurve_Coloring eFCurve_Coloring |
typedef enum eFCurve_Extend eFCurve_Extend |
typedef enum eFCurve_Flags eFCurve_Flags |
typedef enum eFCurve_Smoothing eFCurve_Smoothing |
typedef enum eFMod_Cycling_Modes eFMod_Cycling_Modes |
typedef enum eFMod_Generator_Flags eFMod_Generator_Flags |
typedef enum eFMod_Generator_Functions eFMod_Generator_Functions |
typedef enum eFMod_Generator_Modes eFMod_Generator_Modes |
typedef enum eFMod_Limit_Flags eFMod_Limit_Flags |
typedef enum eFMod_Noise_Modifications eFMod_Noise_Modifications |
typedef enum eFMod_Stepped_Flags eFMod_Stepped_Flags |
typedef enum eFModifier_Flags eFModifier_Flags |
F-Curve Modifier Settings.
typedef enum eFModifier_Types eFModifier_Types |
Types of F-Curve modifier WARNING: order here is important!
typedef enum eInsertKeyFlags eInsertKeyFlags |
typedef enum eKS_Settings eKS_Settings |
typedef enum eKSP_Grouping eKSP_Grouping |
typedef enum eKSP_Settings eKSP_Settings |
typedef enum eNlaStrip_Blend_Mode eNlaStrip_Blend_Mode |
typedef enum eNlaStrip_Extrapolate_Mode eNlaStrip_Extrapolate_Mode |
NLA Strip Extrapolation Mode.
typedef enum eNlaStrip_Flag eNlaStrip_Flag |
NLA Strip Settings.
typedef enum eNlaStrip_Type eNlaStrip_Type |
typedef enum eNlaTrack_Flag eNlaTrack_Flag |
typedef struct FCM_EnvelopeData FCM_EnvelopeData |
typedef struct FMod_Cycles FMod_Cycles |
typedef struct FMod_Envelope FMod_Envelope |
typedef struct FMod_FunctionGenerator FMod_FunctionGenerator |
'Built-In Function' Generator modifier data
This uses the general equation for equations: y = amplitude * fn(phase_multiplier*x + phase_offset) + y_offset
where amplitude, phase_multiplier/offset, y_offset are user-defined coefficients, x is the evaluation 'time', and 'y' is the resultant value
typedef struct FMod_Generator FMod_Generator |
typedef struct FMod_Limits FMod_Limits |
typedef struct FMod_Noise FMod_Noise |
typedef struct FMod_Python FMod_Python |
typedef struct FMod_Stepped FMod_Stepped |
F-Curve Modifiers (fcm)
These alter the way F-Curves behave, by altering the value that is returned when evaluating the curve's data at some time (t).
FPoint (fpt)
This is the bare-minimum data required storing motion samples. Should be more efficient than using BPoints, which contain a lot of other unnecessary data...
typedef struct IdAdtTemplate IdAdtTemplate |
Used for BKE_animdata_from_id() All ID-data-blocks which have their own 'local' AnimData should have the same arrangement in their structs.
KeyingSet definition (ks)
A KeyingSet defines a group of properties that should be keyframed together, providing a convenient way for animators to insert keyframes without resorting to Auto-Keyframing.
A few 'generic' (non-absolute and dependent on templates) KeyingSets are defined 'built-in' to facilitate easy animating for the casual animator without the need to add extra steps to the rigging process.
Path for use in KeyingSet definitions (ksp)
Paths may be either specific (specifying the exact sub-ID dynamic data-block - such as PoseChannels - to act upon, ala Maya's 'Character Sets' and XSI's 'Marking Sets'), or they may be generic (using various placeholder template tags that will be replaced with appropriate information from the context).
NLA Track (nlt)
A track groups a bunch of 'strips', which should form a continuous set of motion, on top of which other such groups can be layered. This should allow for animators to work in a non-destructive manner, layering tweaks, etc. over 'rough' blocks of their work.
enum eAnimData_Flag |
Enumerator | |
---|---|
ADT_NLA_SOLO_TRACK | Only evaluate a single track in the NLA. |
ADT_NLA_EVAL_OFF | Don't use NLA |
ADT_NLA_EDIT_ON | NLA is being 'tweaked' (i.e. in EditMode). |
ADT_NLA_EDIT_NOMAP | Active Action for 'tweaking' does not have mapping applied for editing. |
ADT_NLA_SKEYS_COLLAPSED | NLA-Strip F-Curves are expanded in UI. |
ADT_NLA_EVAL_UPPER_TRACKS | |
ADT_DRIVERS_COLLAPSED | Drivers expanded in UI. |
ADT_UI_SELECTED | Don't execute drivers. AnimData block is selected in UI. |
ADT_UI_ACTIVE | AnimData block is active in UI. |
ADT_CURVES_NOT_VISIBLE | F-Curves from this AnimData block are not visible in the Graph Editor. |
ADT_CURVES_ALWAYS_VISIBLE | F-Curves from this AnimData block are always visible. |
Definition at line 1120 of file DNA_anim_types.h.
enum eDriver_Flags |
Driver flags.
Definition at line 529 of file DNA_anim_types.h.
enum eDriver_Types |
Driver type.
Definition at line 515 of file DNA_anim_types.h.
enum eDriverTarget_Flag |
Driver Target flags.
Enumerator | |
---|---|
DTAR_FLAG_STRUCT_REF | used for targets that use the pchan_name instead of RNA path (i.e. rotation difference) |
DTAR_FLAG_ID_OB_ONLY | idtype can only be 'Object' |
DTAR_FLAG_LOCALSPACE | base flag - basically "pre parent+constraints" |
DTAR_FLAG_LOCAL_CONSTS | include constraints transformed to space including parents |
DTAR_FLAG_INVALID | error flags |
Definition at line 328 of file DNA_anim_types.h.
Enumerator | |
---|---|
DTAR_ROTMODE_AUTO | Automatic euler mode. |
DTAR_ROTMODE_EULER_XYZ | Explicit euler rotation modes - must sync with BLI_math_rotation.h defines. |
DTAR_ROTMODE_EULER_XZY | |
DTAR_ROTMODE_EULER_YXZ | |
DTAR_ROTMODE_EULER_YZX | |
DTAR_ROTMODE_EULER_ZXY | |
DTAR_ROTMODE_EULER_ZYX | |
DTAR_ROTMODE_QUATERNION | |
DTAR_ROTMODE_SWING_TWIST_X | Implements the very common Damped Track + child trick to decompose rotation into bending followed by twist around the remaining axis. |
DTAR_ROTMODE_SWING_TWIST_Y | |
DTAR_ROTMODE_SWING_TWIST_Z | |
DTAR_ROTMODE_EULER_MIN | |
DTAR_ROTMODE_EULER_MAX |
Definition at line 363 of file DNA_anim_types.h.
Definition at line 346 of file DNA_anim_types.h.
enum eDriverVar_Flags |
Definition at line 444 of file DNA_anim_types.h.
enum eDriverVar_Types |
Driver Variable Types.*
Definition at line 424 of file DNA_anim_types.h.
enum eFCurve_Coloring |
Definition at line 672 of file DNA_anim_types.h.
enum eFCurve_Extend |
Enumerator | |
---|---|
FCURVE_EXTRAPOLATE_CONSTANT | Just extend min/max keyframe value. |
FCURVE_EXTRAPOLATE_LINEAR | Just extend gradient of segment between first segment keyframes. |
Definition at line 664 of file DNA_anim_types.h.
enum eFCurve_Flags |
Enumerator | |
---|---|
FCURVE_VISIBLE | Curve/keyframes are visible in editor |
FCURVE_SELECTED | Curve is selected for editing. |
FCURVE_ACTIVE | Curve is active one. |
FCURVE_PROTECTED | Keyframes (beztriples) cannot be edited. |
FCURVE_MUTED | FCurve will not be evaluated for the next round. |
FCURVE_MOD_OFF | |
FCURVE_DISABLED | skip evaluation, as RNA-path cannot be resolved (similar to muting, but cannot be set by user) |
FCURVE_INT_VALUES | curve can only have whole-number values (integer types) |
FCURVE_DISCRETE_VALUES | curve can only have certain discrete-number values (no interpolation at all, for enums/booleans) |
FCURVE_TAGGED | temporary tag for editing |
Definition at line 633 of file DNA_anim_types.h.
enum eFCurve_Smoothing |
Enumerator | |
---|---|
FCURVE_SMOOTH_NONE | legacy mode: auto handles only consider adjacent points |
FCURVE_SMOOTH_CONT_ACCEL | maintain continuity of the acceleration |
Definition at line 684 of file DNA_anim_types.h.
enum eFMod_Cycling_Modes |
Definition at line 210 of file DNA_anim_types.h.
Enumerator | |
---|---|
FCM_GENERATOR_ADDITIVE |
Definition at line 132 of file DNA_anim_types.h.
Enumerator | |
---|---|
FCM_GENERATOR_FN_SIN | |
FCM_GENERATOR_FN_COS | |
FCM_GENERATOR_FN_TAN | |
FCM_GENERATOR_FN_SQRT | |
FCM_GENERATOR_FN_LN | |
FCM_GENERATOR_FN_SINC |
Definition at line 161 of file DNA_anim_types.h.
Enumerator | |
---|---|
FCM_GENERATOR_POLYNOMIAL | |
FCM_GENERATOR_POLYNOMIAL_FACTORISED |
Definition at line 124 of file DNA_anim_types.h.
enum eFMod_Limit_Flags |
Enumerator | |
---|---|
FCM_LIMIT_XMIN | |
FCM_LIMIT_XMAX | |
FCM_LIMIT_YMIN | |
FCM_LIMIT_YMAX |
Definition at line 239 of file DNA_anim_types.h.
Definition at line 258 of file DNA_anim_types.h.
enum eFMod_Stepped_Flags |
Enumerator | |
---|---|
FCM_STEPPED_NO_BEFORE | Don't affect frames before the start frame. |
FCM_STEPPED_NO_AFTER | Don't affect frames after the end frame. |
Definition at line 286 of file DNA_anim_types.h.
enum eFModifier_Flags |
F-Curve Modifier Settings.
Definition at line 87 of file DNA_anim_types.h.
enum eFModifier_Types |
Types of F-Curve modifier WARNING: order here is important!
Definition at line 69 of file DNA_anim_types.h.
enum eInsertKeyFlags |
Definition at line 997 of file DNA_anim_types.h.
enum eKS_Settings |
Enumerator | |
---|---|
KEYINGSET_ABSOLUTE | Keyingset cannot be removed (and doesn't need to be freed). Keyingset does not depend on context info (i.e. paths are absolute). |
Definition at line 989 of file DNA_anim_types.h.
enum eKSP_Grouping |
Enumerator | |
---|---|
KSP_GROUP_NAMED | Path should be grouped using group name stored in path. |
KSP_GROUP_NONE | Path should not be grouped at all. |
KSP_GROUP_KSNAME | Path should be grouped using KeyingSet's name. |
Definition at line 934 of file DNA_anim_types.h.
enum eKSP_Settings |
Enumerator | |
---|---|
KSP_FLAG_WHOLE_ARRAY |
Definition at line 928 of file DNA_anim_types.h.
enum eNlaStrip_Blend_Mode |
Enumerator | |
---|---|
NLASTRIP_MODE_REPLACE | |
NLASTRIP_MODE_ADD | |
NLASTRIP_MODE_SUBTRACT | |
NLASTRIP_MODE_MULTIPLY | |
NLASTRIP_MODE_COMBINE |
Definition at line 766 of file DNA_anim_types.h.
NLA Strip Extrapolation Mode.
Enumerator | |
---|---|
NLASTRIP_EXTEND_HOLD | |
NLASTRIP_EXTEND_HOLD_FORWARD | |
NLASTRIP_EXTEND_NOTHING |
Definition at line 775 of file DNA_anim_types.h.
enum eNlaStrip_Flag |
NLA Strip Settings.
Enumerator | |
---|---|
NLASTRIP_FLAG_ACTIVE | NLA strip is the active one in the track (also indicates if strip is being tweaked) |
NLASTRIP_FLAG_SELECT | |
NLASTRIP_FLAG_TWEAKUSER | NLA strip uses the same action that the action being tweaked uses (not set for the tweaking one though). |
NLASTRIP_FLAG_USR_INFLUENCE | strip influence is controlled by local F-Curve |
NLASTRIP_FLAG_USR_TIME | |
NLASTRIP_FLAG_USR_TIME_CYCLIC | |
NLASTRIP_FLAG_SYNC_LENGTH | NLA strip length is synced to the length of the referenced action |
NLASTRIP_FLAG_AUTO_BLENDS | NLA strip blendin/out values are set automatically based on overlaps |
NLASTRIP_FLAG_REVERSE | NLA strip is played back in reverse order |
NLASTRIP_FLAG_MUTED | NLA strip is muted (i.e. doesn't contribute in any way) |
NLASTRIP_FLAG_NO_TIME_MAP | NLA Strip is played back in 'ping-pong' style NLA strip should ignore frame range and hold settings, and evaluate at global time. |
NLASTRIP_FLAG_TEMP_META | NLA-Strip is really just a temporary meta used to facilitate easier transform code |
NLASTRIP_FLAG_EDIT_TOUCHED |
Definition at line 786 of file DNA_anim_types.h.
enum eNlaStrip_Type |
Enumerator | |
---|---|
NLASTRIP_TYPE_CLIP | |
NLASTRIP_TYPE_TRANSITION | |
NLASTRIP_TYPE_META | |
NLASTRIP_TYPE_SOUND |
Definition at line 827 of file DNA_anim_types.h.
enum eNlaTrack_Flag |
Enumerator | |
---|---|
NLATRACK_ACTIVE | track is the one that settings can be modified on, also indicates if track is being 'tweaked' |
NLATRACK_SELECTED | track is selected in UI for relevant editing operations |
NLATRACK_MUTED | track is not evaluated |
NLATRACK_SOLO | track is the only one evaluated (must be used in conjunction with adt->flag) |
NLATRACK_PROTECTED | track's settings (and strips) cannot be edited (to guard against unwanted changes) |
NLATRACK_DISABLED | track is not allowed to execute, usually as result of tweaking being enabled (internal flag) |
NLATRACK_OVERRIDELIBRARY_LOCAL | This NLA track is added to an override ID, which means it is fully editable. Irrelevant in case the owner ID is not an override. |
Definition at line 866 of file DNA_anim_types.h.