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

#include <DNA_anim_types.h>

Public Attributes

struct FCurvenext
 
struct FCurveprev
 
bActionGroupgrp
 
ChannelDriverdriver
 
ListBase modifiers
 
BezTriplebezt
 
FPointfpt
 
unsigned int totvert
 
int active_keyframe_index
 
float curval
 
short flag
 
short extend
 
char auto_smoothing
 
char _pad [3]
 
int array_index
 
char * rna_path
 
int color_mode
 
float color [3]
 
float prev_norm_factor
 
float prev_offset
 

Detailed Description

Definition at line 565 of file DNA_anim_types.h.

Member Data Documentation

◆ _pad

char FCurve::_pad[3]

Definition at line 606 of file DNA_anim_types.h.

◆ active_keyframe_index

int FCurve::active_keyframe_index

Index of active keyframe in bezt for numerical editing in the interface. A value of FCURVE_ACTIVE_KEYFRAME_NONE indicates that the FCurve has no active keyframe.

Do not access directly, use BKE_fcurve_active_keyframe_index() and BKE_fcurve_active_keyframe_set() instead.

Definition at line 594 of file DNA_anim_types.h.

Referenced by BKE_fcurve_active_keyframe_index(), BKE_fcurve_active_keyframe_set(), BKE_fcurve_delete_keys_selected(), and blender::bke::tests::TEST().

◆ array_index

int FCurve::array_index

When the RNA property from rna_path is an array, use this to access the array index.

Note
This may be negative (as it wasn't prevented in 2.91 and older). Currently it silently fails to resolve the data-path in this case.

Definition at line 615 of file DNA_anim_types.h.

Referenced by acf_nla_curve_name(), alloc_driver_fcurve(), ANIM_add_driver(), ANIM_channel_draw_widgets(), ANIM_copy_driver(), ANIM_paste_driver(), ANIM_remove_driver(), animsys_evaluate_action_group(), animsys_evaluate_drivers(), animsys_quaternion_evaluate_fcurves(), autokeyframe_object(), BKE_animsys_eval_driver(), BKE_fcurve_find(), BKE_fcurve_pathcache_find_array(), blender::deg::DepsgraphRelationBuilder::build_driver(), blender::deg::DepsgraphNodeBuilder::build_driver(), blender::deg::DepsgraphRelationBuilder::build_driver_data(), blender::deg::DepsgraphRelationBuilder::build_driver_variables(), clean_fcurve(), copy_animedit_keys(), blender::deg::DriverDescriptor::depsgraph_key(), do_version_bbone_len_scale_fcurve_fix(), ED_action_fcurve_ensure(), ED_autokeyframe_property(), euler_filter_group_channels(), fcurve_cmp_for_cache(), fcurve_is_changed(), get_default_rna_value(), getname_anim_fcurve(), graph_driver_delete_invalid_exec(), graph_refresh_fcurve_colors(), icu_to_fcurves(), insert_fcurve_key(), insert_graph_keys(), insert_keyframe_direct(), insert_keyframe_value(), AnimationImporter::modify_fcurve(), nlasnapshot_from_action(), pastebuf_match_index_only(), pastebuf_match_path_full(), pastebuf_match_path_property(), pose_propagate_get_refVal(), pose_slide_apply_quat(), pose_slide_apply_vec3(), and updateDuplicateActionConstraintSettings().

◆ auto_smoothing

char FCurve::auto_smoothing

◆ bezt

BezTriple* FCurve::bezt

User-editable keyframes (array).

Definition at line 581 of file DNA_anim_types.h.

Referenced by acf_fcurve_setting_valid(), action_flip_pchan_cache_fcurve_assign_value(), action_flip_pchan_cache_init(), action_frame_has_keyframe(), ActionFCurveToTransData(), add_keyframes_from(), BCAnimationCurve::adjust_range(), ANIM_fcurve_equalize_keyframes_loop(), ANIM_fcurve_keyframes_loop(), ANIM_paste_driver(), AnimationImporter::Assign_lens_animations(), beztmap_to_data(), BKE_fcurve_active_keyframe_index(), BKE_fcurve_active_keyframe_set(), BKE_fcurve_blend_read_data(), BKE_fcurve_blend_write(), BKE_fcurve_calc_bounds(), BKE_fcurve_calc_range(), BKE_fcurve_copy(), BKE_fcurve_delete_key(), BKE_fcurve_delete_keys_selected(), BKE_fcurve_free(), BKE_fcurve_handles_recalc_ex(), BKE_fcurves_calc_keyed_frames_ex(), BKE_nlastrip_validate_fcurves(), blend_to_default_fcurve(), blend_to_default_graph_keys(), blend_to_neighbor_fcurve_segment(), blo_do_versions_250(), breakdown_fcurve_segment(), blender::editor::animation::tests::build_fcurve(), clean_fcurve(), BCAnimationCurve::clean_handles(), BCAnimationCurve::closest_index_above(), BCAnimationCurve::closest_index_below(), AnimationExporter::collada_tangent_from_curve(), copy_animedit_keys(), count_fcurve_keys(), decimate_fcurve(), decimate_fcurve_segment(), delete_key_button_exec(), delete_keyframe_fcurve(), do_versions_291_fcurve_handles_limit(), do_versions_sequencer_speed_effect_recursive(), draw_fcurve(), draw_fcurve_active_handle_vertices(), draw_fcurve_active_vertex(), draw_fcurve_curve_bezts(), draw_fcurve_handles(), draw_fcurve_selected_handle_vertices(), draw_fcurve_selected_keyframe_vertices(), duplicate_fcurve_keys(), ED_object_parent_set(), euler_filter_multi_channel(), euler_filter_single_channel(), evaluate_fcurve_ex(), fcm_cycles_time(), fcu_test_selected(), fcurve_bezt_free(), fcurve_can_use_simple_bezt_drawing(), fcurve_frame_has_keyframe(), fcurve_samples_to_keyframes(), fcurve_segment_end_get(), fcurve_segment_start_get(), fcurve_store_samples(), fcurve_to_keylist(), find_fcurve_segment(), AnimationImporter::find_frames(), AnimationImporter::find_frames_old(), followpath_path_animate_exec(), get_active_fcurve_keyframe_edit(), get_fcurve_end_keyframes(), BCAnimationCurve::get_frames(), BCAnimationCurve::get_interpolation_type(), get_nearest_fcurve_verts_list(), BCAnimationCurve::get_value_map(), BCAnimationCurve::get_values(), graph_key_shortest_dist(), graph_panel_key_properties(), graphop_editable_keyframes_poll(), graphop_visible_keyframes_poll(), icu_to_fcurves(), insert_bezt_fcurve(), insert_vert_fcurve(), BCAnimationCurve::is_keyframe(), make_new_fcurve_cyclic(), new_key_needed(), normalization_factor_get(), paste_animedit_keys_fcurve(), pose_propagate_fcurve(), posttrans_fcurve_clean(), prepare_for_decimate(), pyrna_struct_keyframe_delete(), remake_graph_transdata(), remap_cyclic_keyframe_location(), reset_bezts(), sample_fcurve(), screen_ctx_selected_editable_keyframes(), select_anim_channel_keys(), select_moreless_action_keys(), select_moreless_graph_keys(), seq_convert_transform_animation(), seq_convert_transform_animation_2(), smooth_fcurve(), sort_time_fcurve(), store_original_bezt_arrays(), blender::bke::tests::TEST(), test_time_fcurve(), testhandles_fcurve(), and updateDuplicateActionConstraintSettings().

◆ color

float FCurve::color[3]

The last-color this curve took.

Definition at line 627 of file DNA_anim_types.h.

Referenced by ANIM_channel_draw(), draw_fcurve(), graph_draw_driver_debug(), graph_draw_ghost_curves(), and graph_refresh_fcurve_colors().

◆ color_mode

int FCurve::color_mode

Coloring method to use (eFCurve_Coloring).

Definition at line 625 of file DNA_anim_types.h.

Referenced by graph_panel_properties(), graph_refresh_fcurve_colors(), and insert_keyframe_fcurve_value().

◆ curval

float FCurve::curval

Value stored from last time curve was evaluated (not threadsafe, debug display only!).

Definition at line 598 of file DNA_anim_types.h.

Referenced by BKE_animsys_eval_driver(), calculate_fcurve(), and graph_draw_driver_debug().

◆ driver

ChannelDriver* FCurve::driver

Only valid for drivers (i.e. stored in AnimData not Actions).

Definition at line 574 of file DNA_anim_types.h.

Referenced by add_driver_button_poll(), add_driver_with_target(), alloc_driver_fcurve(), ANIM_add_driver(), ANIM_copy_as_driver(), ANIM_copy_driver(), ANIM_driver_vars_copy(), ANIM_driver_vars_paste(), ANIM_paste_driver(), animchannels_enable_exec(), animsys_evaluate_drivers(), bake_graph_curves(), BKE_animdata_merge_copy(), BKE_animsys_eval_driver(), BKE_fcurve_blend_read_data(), BKE_fcurve_blend_read_expand(), BKE_fcurve_blend_read_lib(), BKE_fcurve_blend_write(), BKE_fcurve_copy(), BKE_fcurve_foreach_id(), BKE_fcurve_is_empty(), blender::deg::DepsgraphRelationBuilder::build_driver(), blender::deg::DepsgraphNodeBuilder::build_driver_variables(), blender::deg::DepsgraphRelationBuilder::build_driver_variables(), calculate_fcurve(), do_graph_region_driver_buttons(), do_version_bbone_easing_fcurve_fix(), do_version_bbone_len_scale_fcurve_fix(), do_version_bbone_scale_fcurve_fix(), draw_fcurve_curve(), draw_fcurve_curve_bezts(), driver_update_flags_cb(), drivers_path_rename_fix(), evaluate_fcurve(), evaluate_fcurve_driver(), fcurve_bake_modifiers(), fcurve_free_driver(), fcurve_has_errors(), gpencil_joined_fix_animdata_cb(), graph_draw_driver_debug(), graph_draw_driver_settings_panel(), graph_driver_delete_invalid_exec(), graph_panel_drivers_popover(), icu_to_fcurves(), insert_graph_keys(), insert_keyframe_value(), joined_armature_fix_animdata_cb(), normalization_factor_get(), ui_but_anim_expression_create(), ui_but_anim_expression_get(), and ui_but_anim_expression_set().

◆ extend

short FCurve::extend

◆ flag

short FCurve::flag

User-editable settings for this curve.

Definition at line 600 of file DNA_anim_types.h.

Referenced by acf_fcurve_name_prop(), acf_fcurve_setting_ptr(), action_flip_pchan_cache_init(), add_driver_with_target(), alloc_driver_fcurve(), ANIM_add_driver(), ANIM_add_driver_with_target(), ANIM_channel_draw(), anim_channels_select_set(), ANIM_set_active_channel(), animchan_sync_fcurve_scene(), animchannels_enable_exec(), animfilter_fcurve_next(), animsys_evaluate_action_group(), animsys_evaluate_drivers(), bc_enable_fcurves(), BKE_animsys_eval_driver(), BKE_fcurve_blend_read_data(), BKE_fcurve_is_protected(), BKE_nlastrip_validate_fcurves(), blo_do_versions_250(), box_select_graphcurves(), box_select_graphkeys(), click_select_channel_fcurve(), click_select_channel_group(), do_graph_region_driver_buttons(), draw_fcurve(), draw_fcurve_active_handle_vertices(), draw_fcurve_active_vertex(), draw_fcurve_channel(), draw_fcurve_curve_bezts(), draw_fcurve_curve_samples(), draw_fcurve_handles_check(), draw_fcurve_samples(), draw_fcurve_vertices(), driver_update_flags_cb(), drivers_editor_show_exec(), ED_action_fcurve_ensure(), evaluate_fcurve_ex(), evaluate_time_fmodifiers(), evaluate_value_fmodifiers(), fcurve_add_to_list(), fcurve_display_alpha(), fcurve_eval_keyframes_extrapolate(), fcurve_eval_keyframes_interpolate(), fcurve_frame_has_keyframe(), fcurve_has_errors(), fmodifier_get_pointers(), getname_anim_fcurve(), graph_draw_curves(), graph_panel_key_properties(), graph_panel_properties(), graphkeys_click_insert_exec(), graphkeys_deselectall_exec(), graphop_active_fcurve_poll(), icu_to_fcurves(), insert_vert_fcurve(), is_fcurve_evaluatable(), joined_armature_fix_animdata_cb(), make_new_animlistelem(), mouse_action_keys(), posttrans_fcurve_clean(), set_fcurve_vertex_color(), ui_but_anim_expression_set(), update_autoflags_fcurve(), and update_autoflags_fcurve_direct().

◆ fpt

FPoint* FCurve::fpt

◆ grp

bActionGroup* FCurve::grp

◆ modifiers

ListBase FCurve::modifiers

◆ next

struct FCurve* FCurve::next

◆ prev

struct FCurve * FCurve::prev

◆ prev_norm_factor

float FCurve::prev_norm_factor

Definition at line 629 of file DNA_anim_types.h.

Referenced by normalization_factor_get().

◆ prev_offset

float FCurve::prev_offset

Definition at line 629 of file DNA_anim_types.h.

Referenced by normalization_factor_get().

◆ rna_path

char* FCurve::rna_path

RNA-path to resolve data-access, see: RNA_path_resolve_property.

Note
String look-ups for collection and custom-properties are escaped using BLI_str_escape.

Definition at line 621 of file DNA_anim_types.h.

Referenced by acf_nla_curve_name(), achannel_setting_slider_cb(), action_get_item_transforms(), action_move_fcurves_by_basepath(), alloc_driver_fcurve(), ANIM_add_driver(), anim_change_prop_name(), ANIM_channel_draw_widgets(), ANIM_copy_driver(), ANIM_list_elem_update(), ANIM_paste_driver(), ANIM_remove_driver(), ANIM_unit_mapping_get_factor(), animchan_sync_fcurve(), animchan_sync_fcurve_scene(), animpath_update_basepath(), animsys_evaluate_action_group(), animsys_evaluate_drivers(), animsys_quaternion_evaluate_fcurves(), autokeyframe_object(), bc_enable_fcurves(), BKE_animsys_eval_driver(), BKE_fcurve_blend_read_data(), BKE_fcurve_blend_write(), BKE_fcurve_copy(), BKE_fcurve_find(), BKE_fcurve_free(), BKE_fcurve_iter_step(), BKE_fcurves_filter(), BKE_nlastrip_validate_fcurves(), blend_to_default_fcurve(), blender::deg::DepsgraphRelationBuilder::build_driver(), blender::deg::DepsgraphNodeBuilder::build_driver(), blender::deg::DepsgraphRelationBuilder::build_driver_data(), blender::deg::DepsgraphNodeBuilder::build_driver_variables(), blender::deg::DepsgraphRelationBuilder::build_driver_variables(), clean_fcurve(), clear_anim_v3d_exec(), clear_keyframe(), copy_animedit_keys(), delete_key_v3d_without_keying_set(), delete_keyframe(), blender::deg::DriverDescriptor::depsgraph_key(), do_version_bbone_easing_fcurve_fix(), do_version_bbone_len_scale_fcurve_fix(), do_version_bbone_scale_fcurve_fix(), do_version_fcurve_hide_viewport_fix(), do_versions_sequencer_speed_effect_recursive(), drivers_path_rename_fix(), ED_action_fcurve_ensure(), ED_autokeyframe_property(), euler_filter_group_channels(), fcurve_cmp_for_cache(), fcurve_path_rename(), fcurves_path_remove_fix(), fcurves_path_rename_fix(), BCAnimationCurve::get_animation_name(), getname_anim_fcurve(), gpencil_joined_fix_animdata_cb(), graph_driver_delete_invalid_exec(), graph_panel_key_properties(), icu_to_fcurves(), insert_fcurve_key(), insert_graph_keys(), insert_keyframe_direct(), insert_keyframe_value(), joined_armature_fix_animdata_cb(), AnimationImporter::modify_fcurve(), nlasnapshot_from_action(), pastebuf_match_path_full(), pastebuf_match_path_property(), pose_propagate_get_refVal(), pose_slide_apply_props(), poseAnim_mapping_getNextFCurve(), posttrans_fcurve_clean(), seq_speed_factor_fix_rna_path(), sequencer_fcurves_targets_color_strip(), skip_fcurve_selected_data(), blender::bke::tests::TEST(), update_autoflags_fcurve(), update_mapping_node_fcurve_rna_path_callback(), and updateDuplicateActionConstraintSettings().

◆ totvert

unsigned int FCurve::totvert

Total number of points which define the curve (i.e. size of arrays in FPoints).

Definition at line 585 of file DNA_anim_types.h.

Referenced by action_flip_pchan_cache_init(), action_frame_has_keyframe(), action_has_motion(), AnimationImporter::add_bone_animation_sampled(), add_keyframes_from(), BCAnimationCurve::add_value(), BCAnimationCurve::adjust_range(), ANIM_paste_driver(), AnimationImporter::apply_matrix_curves(), AnimationImporter::Assign_lens_animations(), BKE_fcurve_active_keyframe_index(), BKE_fcurve_active_keyframe_set(), BKE_fcurve_blend_write(), BKE_fcurve_calc_bounds(), BKE_fcurve_calc_range(), BKE_fcurve_delete_key(), BKE_fcurve_delete_keys_selected(), BKE_fcurve_handles_recalc_ex(), BKE_fcurve_is_empty(), BKE_fcurves_calc_keyed_frames_ex(), BKE_nlastrip_validate_fcurves(), blend_to_default_fcurve(), blend_to_default_graph_keys(), blo_do_versions_250(), blender::editor::animation::tests::build_fcurve(), calc_action_range(), clean_fcurve(), BCAnimationCurve::clean_handles(), BCAnimationCurve::closest_index_above(), BCAnimationCurve::closest_index_below(), AnimationExporter::collada_tangent_from_curve(), decimate_fcurve(), decimate_fcurve_segment(), delete_key_button_exec(), delete_keyframe_fcurve(), do_versions_sequencer_speed_effect_recursive(), draw_fcurve(), draw_fcurve_curve_bezts(), draw_fcurve_curve_samples(), draw_fcurve_handles(), draw_fcurve_handles_check(), draw_fcurve_samples(), draw_fcurve_selected_handle_vertices(), draw_fcurve_selected_keyframe_vertices(), duplicate_fcurve_keys(), euler_filter_multi_channel(), euler_filter_single_channel(), evaluate_fcurve_driver(), fcm_cycles_time(), fcu_test_selected(), fcurve_bezt_free(), fcurve_eval_keyframes(), fcurve_eval_keyframes_extrapolate(), fcurve_eval_keyframes_interpolate(), fcurve_eval_samples(), fcurve_frame_has_keyframe(), fcurve_samples_to_keyframes(), fcurve_segment_end_get(), fcurve_store_samples(), fcurve_to_keylist(), find_fcurve_segment(), AnimationImporter::find_frames(), AnimationImporter::find_frames_old(), get_fcurve_end_keyframes(), BCAnimationCurve::get_frames(), get_nearest_fcurve_verts_list(), BCAnimationCurve::get_value_map(), BCAnimationCurve::get_values(), graph_draw_driver_debug(), graph_key_shortest_dist(), icu_to_fcurves(), insert_bezt_fcurve(), insert_keyframe_fcurve_value(), insert_keyframe_value(), insert_vert_fcurve(), BCAnimationCurve::is_keyframe(), make_new_fcurve_cyclic(), new_key_needed(), normalization_factor_get(), pose_propagate_fcurve(), posttrans_fcurve_clean(), prepare_for_decimate(), pyrna_struct_keyframe_delete(), remake_graph_transdata(), remap_cyclic_keyframe_location(), reset_bezts(), BCAnimationCurve::sample_count(), select_moreless_action_keys(), select_moreless_graph_keys(), selmap_build_bezier_less(), selmap_build_bezier_more(), seq_convert_transform_animation(), seq_convert_transform_animation_2(), smooth_fcurve(), sort_time_fcurve(), store_original_bezt_arrays(), blender::bke::tests::TEST(), and test_time_fcurve().


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