Blender  V3.3
Classes | Macros | Typedefs | Enumerations
#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
 

Typedefs

typedef struct FModifier FModifier
 
typedef enum eFModifier_Types eFModifier_Types
 
typedef enum eFModifier_Flags eFModifier_Flags
 
typedef struct FMod_Generator FMod_Generator
 
typedef enum eFMod_Generator_Modes eFMod_Generator_Modes
 
typedef enum eFMod_Generator_Flags eFMod_Generator_Flags
 
typedef struct FMod_FunctionGenerator FMod_FunctionGenerator
 
typedef enum eFMod_Generator_Functions eFMod_Generator_Functions
 
typedef struct FCM_EnvelopeData FCM_EnvelopeData
 
typedef struct FMod_Envelope FMod_Envelope
 
typedef struct FMod_Cycles FMod_Cycles
 
typedef enum eFMod_Cycling_Modes eFMod_Cycling_Modes
 
typedef struct FMod_Python FMod_Python
 
typedef struct FMod_Limits FMod_Limits
 
typedef enum eFMod_Limit_Flags eFMod_Limit_Flags
 
typedef struct FMod_Noise FMod_Noise
 
typedef enum eFMod_Noise_Modifications eFMod_Noise_Modifications
 
typedef struct FMod_Stepped FMod_Stepped
 
typedef enum eFMod_Stepped_Flags eFMod_Stepped_Flags
 
typedef struct DriverTarget DriverTarget
 
typedef enum eDriverTarget_Flag eDriverTarget_Flag
 
typedef enum eDriverTarget_TransformChannels eDriverTarget_TransformChannels
 
typedef enum eDriverTarget_RotationMode eDriverTarget_RotationMode
 
typedef struct DriverVar DriverVar
 
typedef enum eDriverVar_Types eDriverVar_Types
 
typedef enum eDriverVar_Flags eDriverVar_Flags
 
typedef struct ChannelDriver ChannelDriver
 
typedef enum eDriver_Types eDriver_Types
 
typedef enum eDriver_Flags eDriver_Flags
 
typedef struct FPoint FPoint
 
typedef struct FCurve FCurve
 
typedef enum eFCurve_Flags eFCurve_Flags
 
typedef enum eFCurve_Extend eFCurve_Extend
 
typedef enum eFCurve_Coloring eFCurve_Coloring
 
typedef enum eFCurve_Smoothing eFCurve_Smoothing
 
typedef struct NlaStrip NlaStrip
 
typedef enum eNlaStrip_Blend_Mode eNlaStrip_Blend_Mode
 
typedef enum eNlaStrip_Extrapolate_Mode eNlaStrip_Extrapolate_Mode
 
typedef enum eNlaStrip_Flag eNlaStrip_Flag
 
typedef enum eNlaStrip_Type eNlaStrip_Type
 
typedef struct NlaTrack NlaTrack
 
typedef enum eNlaTrack_Flag eNlaTrack_Flag
 
typedef struct KS_Path KS_Path
 
typedef enum eKSP_Settings eKSP_Settings
 
typedef enum eKSP_Grouping eKSP_Grouping
 
typedef struct KeyingSet KeyingSet
 
typedef enum eKS_Settings eKS_Settings
 
typedef enum eInsertKeyFlags eInsertKeyFlags
 
typedef struct AnimOverride AnimOverride
 
typedef struct AnimData AnimData
 
typedef enum eAnimData_Flag eAnimData_Flag
 
typedef struct IdAdtTemplate IdAdtTemplate
 

Enumerations

enum  eFModifier_Types {
  FMODIFIER_TYPE_NULL = 0 , FMODIFIER_TYPE_GENERATOR = 1 , FMODIFIER_TYPE_FN_GENERATOR = 2 , FMODIFIER_TYPE_ENVELOPE = 3 ,
  FMODIFIER_TYPE_CYCLES = 4 , FMODIFIER_TYPE_NOISE = 5 , FMODIFIER_TYPE_FILTER = 6 , FMODIFIER_TYPE_PYTHON = 7 ,
  FMODIFIER_TYPE_LIMITS = 8 , FMODIFIER_TYPE_STEPPED = 9 , FMODIFIER_NUM_TYPES
}
 
enum  eFModifier_Flags {
  FMODIFIER_FLAG_DISABLED = (1 << 0) , FMODIFIER_FLAG_ACTIVE = (1 << 2) , FMODIFIER_FLAG_MUTED = (1 << 3) , FMODIFIER_FLAG_RANGERESTRICT = (1 << 4) ,
  FMODIFIER_FLAG_USEINFLUENCE = (1 << 5)
}
 
enum  eFMod_Generator_Modes { FCM_GENERATOR_POLYNOMIAL = 0 , FCM_GENERATOR_POLYNOMIAL_FACTORISED = 1 }
 
enum  eFMod_Generator_Flags { FCM_GENERATOR_ADDITIVE = (1 << 0) }
 
enum  eFMod_Generator_Functions {
  FCM_GENERATOR_FN_SIN = 0 , FCM_GENERATOR_FN_COS = 1 , FCM_GENERATOR_FN_TAN = 2 , FCM_GENERATOR_FN_SQRT = 3 ,
  FCM_GENERATOR_FN_LN = 4 , FCM_GENERATOR_FN_SINC = 5
}
 
enum  eFMod_Cycling_Modes { FCM_EXTRAPOLATE_NONE = 0 , FCM_EXTRAPOLATE_CYCLIC , FCM_EXTRAPOLATE_CYCLIC_OFFSET , FCM_EXTRAPOLATE_MIRROR }
 
enum  eFMod_Limit_Flags { FCM_LIMIT_XMIN = (1 << 0) , FCM_LIMIT_XMAX = (1 << 1) , FCM_LIMIT_YMIN = (1 << 2) , FCM_LIMIT_YMAX = (1 << 3) }
 
enum  eFMod_Noise_Modifications { FCM_NOISE_MODIF_REPLACE = 0 , FCM_NOISE_MODIF_ADD , FCM_NOISE_MODIF_SUBTRACT , FCM_NOISE_MODIF_MULTIPLY }
 
enum  eFMod_Stepped_Flags { FCM_STEPPED_NO_BEFORE = (1 << 0) , FCM_STEPPED_NO_AFTER = (1 << 1) }
 
enum  eDriverTarget_Flag {
  DTAR_FLAG_STRUCT_REF = (1 << 0) , DTAR_FLAG_ID_OB_ONLY = (1 << 1) , DTAR_FLAG_LOCALSPACE = (1 << 2) , DTAR_FLAG_LOCAL_CONSTS = (1 << 3) ,
  DTAR_FLAG_INVALID = (1 << 4)
}
 
enum  eDriverTarget_TransformChannels {
  DTAR_TRANSCHAN_LOCX = 0 , DTAR_TRANSCHAN_LOCY , DTAR_TRANSCHAN_LOCZ , DTAR_TRANSCHAN_ROTX ,
  DTAR_TRANSCHAN_ROTY , DTAR_TRANSCHAN_ROTZ , DTAR_TRANSCHAN_SCALEX , DTAR_TRANSCHAN_SCALEY ,
  DTAR_TRANSCHAN_SCALEZ , DTAR_TRANSCHAN_SCALE_AVG , DTAR_TRANSCHAN_ROTW , MAX_DTAR_TRANSCHAN_TYPES
}
 
enum  eDriverTarget_RotationMode {
  DTAR_ROTMODE_AUTO = 0 , DTAR_ROTMODE_EULER_XYZ = 1 , 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 , DTAR_ROTMODE_SWING_TWIST_Y , DTAR_ROTMODE_SWING_TWIST_Z , DTAR_ROTMODE_EULER_MIN = DTAR_ROTMODE_EULER_XYZ ,
  DTAR_ROTMODE_EULER_MAX = DTAR_ROTMODE_EULER_ZYX
}
 
enum  eDriverVar_Types {
  DVAR_TYPE_SINGLE_PROP = 0 , DVAR_TYPE_ROT_DIFF , DVAR_TYPE_LOC_DIFF , DVAR_TYPE_TRANSFORM_CHAN ,
  MAX_DVAR_TYPES
}
 
enum  eDriverVar_Flags {
  DVAR_FLAG_ERROR = (1 << 0) , DVAR_FLAG_INVALID_NAME = (1 << 1) , DVAR_FLAG_INVALID_START_NUM = (1 << 2) , DVAR_FLAG_INVALID_START_CHAR = (1 << 3) ,
  DVAR_FLAG_INVALID_HAS_SPACE = (1 << 4) , DVAR_FLAG_INVALID_HAS_DOT = (1 << 5) , DVAR_FLAG_INVALID_HAS_SPECIAL = (1 << 6) , DVAR_FLAG_INVALID_PY_KEYWORD = (1 << 7) ,
  DVAR_FLAG_INVALID_EMPTY = (1 << 8)
}
 
enum  eDriver_Types {
  DRIVER_TYPE_AVERAGE = 0 , DRIVER_TYPE_PYTHON , DRIVER_TYPE_SUM , DRIVER_TYPE_MIN ,
  DRIVER_TYPE_MAX
}
 
enum  eDriver_Flags {
  DRIVER_FLAG_INVALID = (1 << 0) , DRIVER_FLAG_DEPRECATED = (1 << 1) , DRIVER_FLAG_RECOMPILE = (1 << 3) , DRIVER_FLAG_RENAMEVAR = (1 << 4) ,
  DRIVER_FLAG_USE_SELF = (1 << 6)
}
 
enum  eFCurve_Flags {
  FCURVE_VISIBLE = (1 << 0) , FCURVE_SELECTED = (1 << 1) , FCURVE_ACTIVE = (1 << 2) , FCURVE_PROTECTED = (1 << 3) ,
  FCURVE_MUTED = (1 << 4) , FCURVE_MOD_OFF = (1 << 6) , FCURVE_DISABLED = (1 << 10) , FCURVE_INT_VALUES = (1 << 11) ,
  FCURVE_DISCRETE_VALUES = (1 << 12) , FCURVE_TAGGED = (1 << 15)
}
 
enum  eFCurve_Extend { FCURVE_EXTRAPOLATE_CONSTANT = 0 , FCURVE_EXTRAPOLATE_LINEAR }
 
enum  eFCurve_Coloring { FCURVE_COLOR_AUTO_RAINBOW = 0 , FCURVE_COLOR_AUTO_RGB = 1 , FCURVE_COLOR_AUTO_YRGB = 3 , FCURVE_COLOR_CUSTOM = 2 }
 
enum  eFCurve_Smoothing { FCURVE_SMOOTH_NONE = 0 , FCURVE_SMOOTH_CONT_ACCEL = 1 }
 
enum  eNlaStrip_Blend_Mode {
  NLASTRIP_MODE_REPLACE = 0 , NLASTRIP_MODE_ADD , NLASTRIP_MODE_SUBTRACT , NLASTRIP_MODE_MULTIPLY ,
  NLASTRIP_MODE_COMBINE
}
 
enum  eNlaStrip_Extrapolate_Mode { NLASTRIP_EXTEND_HOLD = 0 , NLASTRIP_EXTEND_HOLD_FORWARD = 1 , NLASTRIP_EXTEND_NOTHING = 2 }
 
enum  eNlaStrip_Flag {
  NLASTRIP_FLAG_ACTIVE = (1 << 0) , NLASTRIP_FLAG_SELECT = (1 << 1) , NLASTRIP_FLAG_TWEAKUSER = (1 << 4) , NLASTRIP_FLAG_USR_INFLUENCE = (1 << 5) ,
  NLASTRIP_FLAG_USR_TIME = (1 << 6) , NLASTRIP_FLAG_USR_TIME_CYCLIC = (1 << 7) , NLASTRIP_FLAG_SYNC_LENGTH = (1 << 9) , NLASTRIP_FLAG_AUTO_BLENDS = (1 << 10) ,
  NLASTRIP_FLAG_REVERSE = (1 << 11) , NLASTRIP_FLAG_MUTED = (1 << 12) , NLASTRIP_FLAG_NO_TIME_MAP = (1 << 29) , NLASTRIP_FLAG_TEMP_META = (1 << 30) ,
  NLASTRIP_FLAG_EDIT_TOUCHED = (1u << 31)
}
 
enum  eNlaStrip_Type { NLASTRIP_TYPE_CLIP = 0 , NLASTRIP_TYPE_TRANSITION , NLASTRIP_TYPE_META , NLASTRIP_TYPE_SOUND }
 
enum  eNlaTrack_Flag {
  NLATRACK_ACTIVE = (1 << 0) , NLATRACK_SELECTED = (1 << 1) , NLATRACK_MUTED = (1 << 2) , NLATRACK_SOLO = (1 << 3) ,
  NLATRACK_PROTECTED = (1 << 4) , NLATRACK_DISABLED = (1 << 10) , NLATRACK_OVERRIDELIBRARY_LOCAL = 1 << 16
}
 
enum  eKSP_Settings { KSP_FLAG_WHOLE_ARRAY = (1 << 0) }
 
enum  eKSP_Grouping { KSP_GROUP_NAMED = 0 , KSP_GROUP_NONE , KSP_GROUP_KSNAME }
 
enum  eKS_Settings { KEYINGSET_ABSOLUTE = (1 << 1) }
 
enum  eInsertKeyFlags {
  INSERTKEY_NOFLAGS = 0 , INSERTKEY_NEEDED = (1 << 0) , INSERTKEY_MATRIX = (1 << 1) , INSERTKEY_FAST = (1 << 2) ,
  INSERTKEY_REPLACE = (1 << 4) , INSERTKEY_XYZ2RGB = (1 << 5) , INSERTKEY_NO_USERPREF = (1 << 6) , INSERTKEY_OVERWRITE_FULL = (1 << 7) ,
  INSERTKEY_DRIVER = (1 << 8) , INSERTKEY_CYCLE_AWARE = (1 << 9) , INSERTKEY_AVAILABLE = (1 << 10)
}
 
enum  eAnimData_Flag {
  ADT_NLA_SOLO_TRACK = (1 << 0) , ADT_NLA_EVAL_OFF = (1 << 1) , ADT_NLA_EDIT_ON = (1 << 2) , ADT_NLA_EDIT_NOMAP = (1 << 3) ,
  ADT_NLA_SKEYS_COLLAPSED = (1 << 4) , ADT_NLA_EVAL_UPPER_TRACKS = (1 << 5) , ADT_DRIVERS_COLLAPSED = (1 << 10) , ADT_UI_SELECTED = (1 << 14) ,
  ADT_UI_ACTIVE = (1 << 15) , ADT_CURVES_NOT_VISIBLE = (1 << 16) , ADT_CURVES_ALWAYS_VISIBLE = (1 << 17)
}
 

Macro Definition Documentation

◆ DVAR_ALL_INVALID_FLAGS

#define DVAR_ALL_INVALID_FLAGS
Value:
DVAR_FLAG_INVALID_HAS_SPACE | DVAR_FLAG_INVALID_HAS_DOT | DVAR_FLAG_INVALID_HAS_SPECIAL | \
DVAR_FLAG_INVALID_PY_KEYWORD | DVAR_FLAG_INVALID_EMPTY)
@ DVAR_FLAG_INVALID_START_CHAR
@ DVAR_FLAG_INVALID_NAME
@ DVAR_FLAG_INVALID_EMPTY
@ DVAR_FLAG_INVALID_START_NUM
@ DVAR_FLAG_INVALID_HAS_DOT
@ DVAR_FLAG_INVALID_HAS_SPECIAL

Definition at line 467 of file DNA_anim_types.h.

◆ FCURVE_ACTIVE_KEYFRAME_NONE

#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.

◆ MAX_DRIVER_TARGETS

#define MAX_DRIVER_TARGETS   8

Definition at line 390 of file DNA_anim_types.h.

Typedef Documentation

◆ AnimData

typedef struct AnimData AnimData

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.

◆ AnimOverride

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.

◆ ChannelDriver

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.

◆ DriverTarget

typedef struct DriverTarget DriverTarget

◆ DriverVar

typedef struct DriverVar DriverVar

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.

◆ eAnimData_Flag

◆ eDriver_Flags

Driver flags.

◆ eDriver_Types

Driver type.

◆ eDriverTarget_Flag

Driver Target flags.

◆ eDriverTarget_RotationMode

◆ eDriverTarget_TransformChannels

◆ eDriverVar_Flags

◆ eDriverVar_Types

Driver Variable Types.*

◆ eFCurve_Coloring

◆ eFCurve_Extend

◆ eFCurve_Flags

◆ eFCurve_Smoothing

◆ eFMod_Cycling_Modes

◆ eFMod_Generator_Flags

◆ eFMod_Generator_Functions

◆ eFMod_Generator_Modes

◆ eFMod_Limit_Flags

◆ eFMod_Noise_Modifications

◆ eFMod_Stepped_Flags

◆ eFModifier_Flags

F-Curve Modifier Settings.

◆ eFModifier_Types

Types of F-Curve modifier WARNING: order here is important!

◆ eInsertKeyFlags

◆ eKS_Settings

typedef enum eKS_Settings eKS_Settings

◆ eKSP_Grouping

◆ eKSP_Settings

◆ eNlaStrip_Blend_Mode

◆ eNlaStrip_Extrapolate_Mode

NLA Strip Extrapolation Mode.

◆ eNlaStrip_Flag

NLA Strip Settings.

◆ eNlaStrip_Type

◆ eNlaTrack_Flag

◆ FCM_EnvelopeData

◆ FCurve

typedef struct FCurve FCurve

◆ FMod_Cycles

typedef struct FMod_Cycles FMod_Cycles

◆ FMod_Envelope

typedef struct FMod_Envelope FMod_Envelope

◆ 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

◆ FMod_Generator

◆ FMod_Limits

typedef struct FMod_Limits FMod_Limits

◆ FMod_Noise

typedef struct FMod_Noise FMod_Noise

◆ FMod_Python

typedef struct FMod_Python FMod_Python

◆ FMod_Stepped

typedef struct FMod_Stepped FMod_Stepped

◆ FModifier

typedef struct FModifier FModifier

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

typedef struct FPoint FPoint

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...

◆ IdAdtTemplate

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

typedef struct KeyingSet KeyingSet

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.

◆ KS_Path

typedef struct KS_Path KS_Path

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).

◆ NlaStrip

typedef struct NlaStrip NlaStrip

NLA Strip (strip)

A NLA Strip is a container for the reuse of Action data, defining parameters to control the remapping of the Action data to some destination.

◆ NlaTrack

typedef struct NlaTrack NlaTrack

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.

Enumeration Type Documentation

◆ 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.

◆ eDriver_Flags

Driver flags.

Enumerator
DRIVER_FLAG_INVALID 

Driver has invalid settings (internal flag).

DRIVER_FLAG_DEPRECATED 
DRIVER_FLAG_RECOMPILE 

Driver does replace value, but overrides (for layering of animation over driver) Use when the expression needs to be recompiled.

DRIVER_FLAG_RENAMEVAR 

The names are cached so they don't need have python unicode versions created each time

DRIVER_FLAG_USE_SELF 

Include 'self' in the drivers namespace.

Definition at line 529 of file DNA_anim_types.h.

◆ eDriver_Types

Driver type.

Enumerator
DRIVER_TYPE_AVERAGE 

target values are averaged together.

DRIVER_TYPE_PYTHON 

python expression/function relates targets.

DRIVER_TYPE_SUM 

sum of all values.

DRIVER_TYPE_MIN 

smallest value.

DRIVER_TYPE_MAX 

largest value.

Definition at line 515 of file DNA_anim_types.h.

◆ 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.

◆ eDriverTarget_RotationMode

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.

◆ eDriverTarget_TransformChannels

Enumerator
DTAR_TRANSCHAN_LOCX 
DTAR_TRANSCHAN_LOCY 
DTAR_TRANSCHAN_LOCZ 
DTAR_TRANSCHAN_ROTX 
DTAR_TRANSCHAN_ROTY 
DTAR_TRANSCHAN_ROTZ 
DTAR_TRANSCHAN_SCALEX 
DTAR_TRANSCHAN_SCALEY 
DTAR_TRANSCHAN_SCALEZ 
DTAR_TRANSCHAN_SCALE_AVG 
DTAR_TRANSCHAN_ROTW 
MAX_DTAR_TRANSCHAN_TYPES 

Definition at line 346 of file DNA_anim_types.h.

◆ eDriverVar_Flags

Enumerator
DVAR_FLAG_ERROR 
DVAR_FLAG_INVALID_NAME 
DVAR_FLAG_INVALID_START_NUM 
DVAR_FLAG_INVALID_START_CHAR 
DVAR_FLAG_INVALID_HAS_SPACE 
DVAR_FLAG_INVALID_HAS_DOT 
DVAR_FLAG_INVALID_HAS_SPECIAL 
DVAR_FLAG_INVALID_PY_KEYWORD 
DVAR_FLAG_INVALID_EMPTY 

Definition at line 444 of file DNA_anim_types.h.

◆ eDriverVar_Types

Driver Variable Types.*

Enumerator
DVAR_TYPE_SINGLE_PROP 

single RNA property

DVAR_TYPE_ROT_DIFF 

rotation difference (between 2 bones)

DVAR_TYPE_LOC_DIFF 

distance between objects/bones

DVAR_TYPE_TRANSFORM_CHAN 

'final' transform for object/bones

MAX_DVAR_TYPES 

Maximum number of variable types.

Note
This must always be the last item in this list, so add new types above this line.

Definition at line 424 of file DNA_anim_types.h.

◆ eFCurve_Coloring

Enumerator
FCURVE_COLOR_AUTO_RAINBOW 

automatically determine color using rainbow (calculated at drawtime)

FCURVE_COLOR_AUTO_RGB 

automatically determine color using XYZ (array index) <-> RGB

FCURVE_COLOR_AUTO_YRGB 

automatically determine color where XYZ <-> RGB, but index(X) != 0

FCURVE_COLOR_CUSTOM 

custom color

Definition at line 672 of file DNA_anim_types.h.

◆ 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.

◆ 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.

◆ 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.

◆ eFMod_Cycling_Modes

Enumerator
FCM_EXTRAPOLATE_NONE 

don't do anything

FCM_EXTRAPOLATE_CYCLIC 

repeat keyframe range as-is

FCM_EXTRAPOLATE_CYCLIC_OFFSET 

repeat keyframe range, but with offset based on gradient between values

FCM_EXTRAPOLATE_MIRROR 

alternate between forward and reverse playback of keyframe range

Definition at line 210 of file DNA_anim_types.h.

◆ eFMod_Generator_Flags

Enumerator
FCM_GENERATOR_ADDITIVE 

Definition at line 132 of file DNA_anim_types.h.

◆ eFMod_Generator_Functions

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.

◆ eFMod_Generator_Modes

Enumerator
FCM_GENERATOR_POLYNOMIAL 
FCM_GENERATOR_POLYNOMIAL_FACTORISED 

Definition at line 124 of file DNA_anim_types.h.

◆ 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.

◆ eFMod_Noise_Modifications

Enumerator
FCM_NOISE_MODIF_REPLACE 

Modify existing curve, matching its shape.

FCM_NOISE_MODIF_ADD 

Add noise to the curve.

FCM_NOISE_MODIF_SUBTRACT 

Subtract noise from the curve.

FCM_NOISE_MODIF_MULTIPLY 

Multiply the curve by noise.

Definition at line 258 of file DNA_anim_types.h.

◆ 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.

◆ eFModifier_Flags

F-Curve Modifier Settings.

Enumerator
FMODIFIER_FLAG_DISABLED 

Modifier is not able to be evaluated for some reason, and should be skipped (internal).

FMODIFIER_FLAG_ACTIVE 

Modifier is active one (in UI) for editing purposes.

FMODIFIER_FLAG_MUTED 

User wants modifier to be skipped.

FMODIFIER_FLAG_RANGERESTRICT 

Restrict range that F-Modifier can be considered over.

FMODIFIER_FLAG_USEINFLUENCE 

Use influence control.

Definition at line 87 of file DNA_anim_types.h.

◆ eFModifier_Types

Types of F-Curve modifier WARNING: order here is important!

Enumerator
FMODIFIER_TYPE_NULL 
FMODIFIER_TYPE_GENERATOR 
FMODIFIER_TYPE_FN_GENERATOR 
FMODIFIER_TYPE_ENVELOPE 
FMODIFIER_TYPE_CYCLES 
FMODIFIER_TYPE_NOISE 
FMODIFIER_TYPE_FILTER 

Unimplemented - for applying: FFT, high/low pass filters, etc.

FMODIFIER_TYPE_PYTHON 
FMODIFIER_TYPE_LIMITS 
FMODIFIER_TYPE_STEPPED 
FMODIFIER_NUM_TYPES 

Definition at line 69 of file DNA_anim_types.h.

◆ eInsertKeyFlags

Enumerator
INSERTKEY_NOFLAGS 
INSERTKEY_NEEDED 

only insert keyframes where they're needed

INSERTKEY_MATRIX 

insert 'visual' keyframes where possible/needed

INSERTKEY_FAST 

don't recalculate handles,etc. after adding key

INSERTKEY_REPLACE 

don't realloc mem (or increase count, as array has already been set out) only replace an existing keyframe (this overrides INSERTKEY_NEEDED)

INSERTKEY_XYZ2RGB 

transform F-Curves should have XYZ->RGB color mode

INSERTKEY_NO_USERPREF 

ignore user-prefs (needed for predictable API use)

INSERTKEY_OVERWRITE_FULL 

Allow to make a full copy of new key into existing one, if any, instead of 'reusing' existing handles. Used by copy/paste code.

INSERTKEY_DRIVER 

for driver FCurves, use driver's "input" value - for easier corrective driver setup

INSERTKEY_CYCLE_AWARE 

for cyclic FCurves, adjust key timing to preserve the cycle period and flow

INSERTKEY_AVAILABLE 

don't create new F-Curves (implied by INSERTKEY_REPLACE)

Definition at line 997 of file DNA_anim_types.h.

◆ 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.

◆ 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.

◆ eKSP_Settings

Enumerator
KSP_FLAG_WHOLE_ARRAY 

Definition at line 928 of file DNA_anim_types.h.

◆ 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.

◆ eNlaStrip_Extrapolate_Mode

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.

◆ 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.

◆ 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.

◆ 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.