Blender V5.0
#include "BLI_utildefines.h"
#include "DNA_ID.h"
#include "DNA_action_types.h"
#include "DNA_anim_enums.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_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

Typedefs

typedef struct FModifier FModifier
typedef struct FMod_Generator FMod_Generator
typedef struct FMod_FunctionGenerator FMod_FunctionGenerator
typedef struct FCM_EnvelopeData FCM_EnvelopeData
typedef struct FMod_Envelope FMod_Envelope
typedef struct FMod_Cycles FMod_Cycles
typedef struct FMod_Limits FMod_Limits
typedef struct FMod_Noise FMod_Noise
typedef struct FMod_Stepped FMod_Stepped
typedef struct DriverTarget DriverTarget
typedef struct DriverVar DriverVar
typedef struct ChannelDriver ChannelDriver
typedef struct FPoint FPoint
typedef struct FCurve FCurve
typedef struct NlaStrip NlaStrip
typedef struct NlaTrack NlaTrack
typedef struct KS_Path KS_Path
typedef struct KeyingSet KeyingSet
typedef struct AnimOverride AnimOverride
typedef struct AnimData AnimData
typedef struct IdAdtTemplate IdAdtTemplate

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

Driver Target (dtar)

Defines how to access a dependency needed for a driver variable.

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

◆ FCM_EnvelopeData

typedef struct FCM_EnvelopeData FCM_EnvelopeData

◆ FCurve

typedef struct FCurve FCurve

'Function-Curve' - defines values over time for a given setting (fcu).

◆ FMod_Cycles

typedef struct FMod_Cycles FMod_Cycles

◆ FMod_Envelope

typedef struct FMod_Envelope FMod_Envelope

◆ FMod_FunctionGenerator

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

◆ FMod_Generator

typedef struct FMod_Generator FMod_Generator

◆ FMod_Limits

typedef struct FMod_Limits FMod_Limits

◆ FMod_Noise

typedef struct FMod_Noise FMod_Noise

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