31static void rna_FCurve_convert_to_samples(
FCurve *fcu,
ReportList *reports,
int start,
int end)
43 else if (!fcu->
bezt) {
52static void rna_FCurve_convert_to_keyframes(
FCurve *fcu,
ReportList *reports,
int start,
int end)
69static void rna_FCurve_bake(
FCurve *fcu,
74 int remove_existing_as_int)
77 if (start_frame >= end_frame) {
80 "Invalid frame range (%d - %d). Start Frame is larger than End Frame",
99 "Remove all keys within the defined range"},
104 "Remove all keys outside the defined range"},
106 {0,
nullptr, 0,
nullptr,
nullptr},
114 func =
RNA_def_function(srna,
"convert_to_samples",
"rna_FCurve_convert_to_samples");
116 func,
"Convert current FCurve from keyframes to sample points, if necessary");
124 func =
RNA_def_function(srna,
"convert_to_keyframes",
"rna_FCurve_convert_to_keyframes");
127 "Convert current FCurve from sample points to keyframes (linear interpolation), "
145 "Frame at which to start baking",
155 "Frame at which to end baking (inclusive)",
160 func,
"step", 1, 0.01,
FLT_MAX,
"Step",
"At which interval to add keys", 1, 16);
167 "Choose which keys should be automatically removed by the bake");
Functions to modify FCurves.
void fcurve_samples_to_keyframes(FCurve *fcu, int start, int end)
void fcurve_store_samples(FCurve *fcu, void *data, int start, int end, FcuSampleFunc sample_cb)
float fcurve_samplingcb_evalcurve(FCurve *fcu, void *data, float evaltime)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void bake_fcurve(FCurve *fcu, blender::int2 range, float step, BakeCurveRemove remove_existing)
T step(const T &edge, const T &value)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, const float default_value, const float hardmin, const float hardmax, const char *ui_name, const char *ui_description, const float softmin, const float softmax)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_function_flag(FunctionRNA *func, int flag)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, const int default_value, const int hardmin, const int hardmax, const char *ui_name, const char *ui_description, const int softmin, const int softmax)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_api_fcurves(StructRNA *srna)
void RNA_api_drivers(StructRNA *)
static const EnumPropertyItem channel_bake_remove_options[]
void WM_main_add_notifier(uint type, void *reference)