Blender  V3.3
Public Attributes | List of all members
FModifierTypeInfo Struct Reference

#include <BKE_fcurve.h>

Public Attributes

short type
 
short size
 
short acttype
 
short requires
 
char name [64]
 
char structName [64]
 
uint storage_size
 
void(* free_data )(struct FModifier *fcm)
 
void(* copy_data )(struct FModifier *fcm, const struct FModifier *src)
 
void(* new_data )(void *mdata)
 
void(* verify_data )(struct FModifier *fcm)
 
float(* evaluate_modifier_time )(struct FCurve *fcu, struct FModifier *fcm, float cvalue, float evaltime, void *storage)
 
void(* evaluate_modifier )(struct FCurve *fcu, struct FModifier *fcm, float *cvalue, float evaltime, void *storage)
 

Detailed Description

F-Curve Modifier Type-Info (fmi): This struct provides function pointers for runtime, so that functions can be written more generally (with fewer/no special exceptions for various modifiers).

Callers of these functions must check that they actually point to something useful, as some constraints don't define some of these.

Warning
it is not too advisable to reorder order of members of this struct, as you'll have to edit quite a few (FMODIFIER_NUM_TYPES) of these structs.

Definition at line 57 of file BKE_fcurve.h.

Member Data Documentation

◆ acttype

short FModifierTypeInfo::acttype

eFMI_Action_Types.

Definition at line 64 of file BKE_fcurve.h.

Referenced by list_has_suitable_fmodifier().

◆ copy_data

void(* FModifierTypeInfo::copy_data) (struct FModifier *fcm, const struct FModifier *src)

Copy any special data that is allocated separately (optional).

Definition at line 78 of file BKE_fcurve.h.

Referenced by copy_fmodifier(), and copy_fmodifiers().

◆ evaluate_modifier

void(* FModifierTypeInfo::evaluate_modifier) (struct FCurve *fcu, struct FModifier *fcm, float *cvalue, float evaltime, void *storage)

Evaluate the modifier for the given time and 'accumulated' value

Definition at line 91 of file BKE_fcurve.h.

Referenced by evaluate_value_fmodifiers().

◆ evaluate_modifier_time

float(* FModifierTypeInfo::evaluate_modifier_time) (struct FCurve *fcu, struct FModifier *fcm, float cvalue, float evaltime, void *storage)

Evaluate time that the modifier requires the F-Curve to be evaluated at

Definition at line 88 of file BKE_fcurve.h.

Referenced by evaluate_time_fmodifiers().

◆ free_data

void(* FModifierTypeInfo::free_data) (struct FModifier *fcm)

Free any data that is allocated separately (optional).

Definition at line 76 of file BKE_fcurve.h.

Referenced by remove_fmodifier().

◆ name

char FModifierTypeInfo::name[64]

name of modifier in interface.

Definition at line 68 of file BKE_fcurve.h.

Referenced by fmodifier_panel_register(), graph_fmodifier_panel_id(), and nla_fmodifier_panel_id().

◆ new_data

void(* FModifierTypeInfo::new_data) (void *mdata)

Set settings for data that will be used for FCuModifier.data (memory already allocated using MEM_callocN).

Definition at line 82 of file BKE_fcurve.h.

Referenced by add_fmodifier().

◆ requires

short FModifierTypeInfo::requires

eFMI_Requirement_Flags.

Definition at line 66 of file BKE_fcurve.h.

Referenced by fmodifier_reorder().

◆ size

short FModifierTypeInfo::size

size in bytes of the struct.

Definition at line 62 of file BKE_fcurve.h.

Referenced by add_fmodifier().

◆ storage_size

uint FModifierTypeInfo::storage_size

Size of buffer that can be reused between time and value evaluation.

Definition at line 72 of file BKE_fcurve.h.

Referenced by evaluate_fmodifiers_storage_size_per_modifier().

◆ structName

char FModifierTypeInfo::structName[64]

name of struct for SDNA.

Definition at line 70 of file BKE_fcurve.h.

Referenced by add_fmodifier(), and BKE_fmodifiers_blend_write().

◆ type

short FModifierTypeInfo::type

#FMODIFIER_TYPE_*

Definition at line 60 of file BKE_fcurve.h.

Referenced by graph_fmodifier_itemf(), and nla_fmodifier_itemf().

◆ verify_data

void(* FModifierTypeInfo::verify_data) (struct FModifier *fcm)

Verifies that the modifier settings are valid

Definition at line 84 of file BKE_fcurve.h.


The documentation for this struct was generated from the following file: