12#define NLASTRIP_MIN_LEN_THRESH 0.1f
106 bool is_liboverride);
void BKE_nlastrip_free(NlaStrip *strip, bool do_id_user)
float BKE_nla_tweakedit_remap(AnimData *adt, float cframe, short mode)
bool BKE_nlatrack_get_bounds(NlaTrack *nlt, float bounds[2])
void BKE_nlameta_flush_transforms(NlaStrip *mstrip)
bool BKE_nlatrack_has_animated_strips(NlaTrack *nlt)
void BKE_nlastrip_remove_and_free(ListBase *strips, NlaStrip *strip, const bool do_id_user)
bool BKE_nlatrack_add_strip(NlaTrack *nlt, NlaStrip *strip, bool is_liboverride)
void BKE_nlastrips_clear_metastrip(ListBase *strips, NlaStrip *strip)
void BKE_nla_tracks_copy_from_adt(Main *bmain, AnimData *adt_dest, const AnimData *adt_source, int flag)
void BKE_nla_action_pushdown(OwnedAnimData owned_adt, bool is_liboverride)
void BKE_nla_debug_print_flags(AnimData *adt, ID *owner_id)
void BKE_nla_clip_length_ensure_nonzero(const float *actstart, float *r_actend)
void BKE_nlastrip_recalculate_bounds_sync_action(NlaStrip *strip)
void BKE_nlastrips_sort_strips(ListBase *strips)
void BKE_nlastrips_clear_metas(ListBase *strips, bool only_sel, bool only_temp)
float BKE_nlastrip_compute_frame_to_next_strip(NlaStrip *strip)
void BKE_nla_tweakmode_exit(OwnedAnimData owned_adt)
NlaStrip * BKE_nlastrip_copy(Main *bmain, NlaStrip *strip, bool use_same_action, int flag)
void BKE_nla_validate_state(AnimData *adt)
void BKE_nla_tweakmode_exit_nofollowptr(AnimData *adt)
NlaStrip * BKE_nlastrip_prev_in_track(NlaStrip *strip, bool skip_transitions)
void BKE_nla_tracks_copy(Main *bmain, ListBase *dst, const ListBase *src, int flag)
NlaTrack * BKE_nlatrack_copy(Main *bmain, NlaTrack *nlt, bool use_same_actions, int flag)
void BKE_nlatrack_solo_toggle(AnimData *adt, NlaTrack *nlt)
void BKE_nlatrack_insert_after(ListBase *nla_tracks, NlaTrack *prev, NlaTrack *new_track, bool is_liboverride)
void BKE_nlatrack_set_active(ListBase *tracks, NlaTrack *nlt)
NlaStrip * BKE_nlastrip_next_in_track(NlaStrip *strip, bool skip_transitions)
NlaStrip * BKE_nlastrip_new(bAction *act, ID &animated_id)
NlaStrip * BKE_nlastrip_find_by_name(NlaTrack *nlt, const char *name)
void BKE_nlatrack_remove_strip(NlaTrack *track, NlaStrip *strip)
void BKE_nlastrips_add_strip_unsafe(ListBase *strips, NlaStrip *strip)
struct NlaTrack * BKE_nlatrack_new(void)
void BKE_nlastrip_recalculate_bounds(NlaStrip *strip)
NlaTrack * BKE_nlatrack_new_after(ListBase *nla_tracks, NlaTrack *prev, bool is_liboverride)
bool BKE_nlastrips_has_space(ListBase *strips, float start, float end)
bool BKE_nlastrips_add_strip(ListBase *strips, NlaStrip *strip)
NlaTrack * BKE_nlatrack_new_tail(ListBase *nla_tracks, const bool is_liboverride)
bool BKE_nlastrip_has_curves_for_property(const PointerRNA *ptr, const PropertyRNA *prop)
void BKE_nlastrip_remove(ListBase *strips, NlaStrip *strip)
void BKE_nlastrip_recalculate_blend(NlaStrip *strip)
NlaTrack * BKE_nlatrack_find_tweaked(AnimData *adt)
void BKE_nlastrip_set_active(AnimData *adt, NlaStrip *strip)
NlaTrack * BKE_nlatrack_new_head(ListBase *nla_tracks, bool is_liboverride)
bool BKE_nla_action_stash(OwnedAnimData owned_adt, bool is_liboverride)
float BKE_nla_clip_length_get_nonzero(const NlaStrip *strip)
void BKE_nla_blend_write(BlendWriter *writer, ListBase *tracks)
bool BKE_nla_tweakmode_enter(OwnedAnimData owned_adt)
void BKE_nla_tracks_free(ListBase *tracks, bool do_id_user)
bool BKE_nlatrack_has_space(NlaTrack *nlt, float start, float end)
void BKE_nlatrack_sort_strips(NlaTrack *nlt)
NlaStrip * BKE_nlastrip_find_active(NlaTrack *nlt)
void BKE_nla_liboverride_post_process(ID *id, AnimData *adt)
NlaStrip * BKE_nla_add_soundstrip(Main *bmain, Scene *scene, Speaker *speaker)
NlaTrack * BKE_nlatrack_find_active(ListBase *tracks)
void BKE_nlatrack_insert_before(ListBase *nla_tracks, NlaTrack *next, NlaTrack *new_track, bool is_liboverride)
bool BKE_nlatrack_is_nonlocal_in_liboverride(const ID *id, const NlaTrack *nlt)
void BKE_nlatrack_free(NlaTrack *nlt, bool do_id_user)
float BKE_nlastrip_compute_frame_from_previous_strip(NlaStrip *strip)
bool BKE_nlastrip_within_bounds(NlaStrip *strip, float min, float max)
NlaStrip * BKE_nlastack_add_strip(OwnedAnimData owned_adt, bAction *act, bool is_liboverride)
void BKE_nla_tweakmode_clear_flags(AnimData *adt)
void BKE_nlatrack_remove(ListBase *tracks, NlaTrack *nlt)
void BKE_nlastrip_validate_name(AnimData *adt, NlaStrip *strip)
bool BKE_nlameta_add_strip(NlaStrip *mstrip, NlaStrip *strip)
bool BKE_nlatrack_has_strips(ListBase *tracks)
bool BKE_nlatracks_have_animated_strips(ListBase *tracks)
void BKE_nlatrack_remove_and_free(ListBase *tracks, NlaTrack *nlt, bool do_id_user)
void BKE_nlastrip_validate_fcurves(NlaStrip *strip)
float BKE_nlastrip_distance_to_frame(const NlaStrip *strip, float timeline_frame)
bool BKE_nla_action_is_stashed(AnimData *adt, bAction *act)
NlaTrack * BKE_nlatrack_new_before(ListBase *nla_tracks, NlaTrack *next, bool is_liboverride)
void BKE_nla_blend_read_data(BlendDataReader *reader, ID *id_owner, ListBase *tracks)
void BKE_nla_strip_foreach_id(NlaStrip *strip, LibraryForeachIDData *data)
void BKE_nlastrips_make_metas(ListBase *strips, bool is_temp)
These structs are the foundation for all linked lists in the library system.
static btDbvtVolume bounds(btDbvtNode **leaves, int count)
DEGForeachIDComponentCallback callback
bool foreach_strip(ID *id, blender::FunctionRef< bool(NlaStrip *)> callback)
bool foreach_strip_adt(const AnimData &adt, blender::FunctionRef< bool(NlaStrip *)> callback)