Blender V4.3
FModifierTypeInfo Struct Reference

#include <BKE_fcurve.hh>

Public Attributes

short type
 
short size
 
short acttype
 
short requires_flag
 
char name [64]
 
char struct_name [64]
 
uint storage_size
 
void(* free_data )(FModifier *fcm)
 
void(* copy_data )(FModifier *fcm, const FModifier *src)
 
void(* new_data )(void *mdata)
 
void(* verify_data )(FModifier *fcm)
 
float(* evaluate_modifier_time )(const FCurve *fcu, const FModifier *fcm, float cvalue, float evaltime, void *storage)
 
void(* evaluate_modifier )(const FCurve *fcu, const 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 47 of file BKE_fcurve.hh.

Member Data Documentation

◆ acttype

short FModifierTypeInfo::acttype

eFMI_Action_Types.

Definition at line 54 of file BKE_fcurve.hh.

Referenced by list_has_suitable_fmodifier().

◆ copy_data

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

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

Definition at line 68 of file BKE_fcurve.hh.

Referenced by copy_fmodifier(), and copy_fmodifiers().

◆ evaluate_modifier

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

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

Definition at line 81 of file BKE_fcurve.hh.

Referenced by evaluate_value_fmodifiers().

◆ evaluate_modifier_time

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

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

Definition at line 78 of file BKE_fcurve.hh.

Referenced by evaluate_time_fmodifiers().

◆ free_data

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

Free any data that is allocated separately (optional).

Definition at line 66 of file BKE_fcurve.hh.

Referenced by remove_fmodifier().

◆ name

char FModifierTypeInfo::name[64]

name of modifier in interface.

Definition at line 58 of file BKE_fcurve.hh.

Referenced by BKE_fmodifier_name_set(), 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 72 of file BKE_fcurve.hh.

Referenced by add_fmodifier().

◆ requires_flag

short FModifierTypeInfo::requires_flag

eFMI_Requirement_Flags.

Definition at line 56 of file BKE_fcurve.hh.

Referenced by fmodifier_reorder().

◆ size

short FModifierTypeInfo::size

size in bytes of the struct.

Definition at line 52 of file BKE_fcurve.hh.

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 62 of file BKE_fcurve.hh.

Referenced by evaluate_fmodifiers_storage_size_per_modifier().

◆ struct_name

char FModifierTypeInfo::struct_name[64]

name of struct for SDNA.

Definition at line 60 of file BKE_fcurve.hh.

Referenced by add_fmodifier(), BKE_fmodifiers_blend_read_data(), and BKE_fmodifiers_blend_write().

◆ type

short FModifierTypeInfo::type

#FMODIFIER_TYPE_*

Definition at line 50 of file BKE_fcurve.hh.

Referenced by graph_fmodifier_itemf(), and nla_fmodifier_itemf().

◆ verify_data

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

Verifies that the modifier settings are valid

Definition at line 74 of file BKE_fcurve.hh.


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