Blender  V2.93
Enumerations | Functions
BKE_nla.h File Reference

Go to the source code of this file.

Enumerations

enum  eNlaTime_ConvertModes { NLATIME_CONVERT_EVAL = 0 , NLATIME_CONVERT_UNMAP , NLATIME_CONVERT_MAP }
 

Functions

void BKE_nlastrip_free (ListBase *strips, struct NlaStrip *strip, bool do_id_user)
 
void BKE_nlatrack_free (ListBase *tracks, struct NlaTrack *nlt, bool do_id_user)
 
void BKE_nla_tracks_free (ListBase *tracks, bool do_id_user)
 
struct NlaStripBKE_nlastrip_copy (struct Main *bmain, struct NlaStrip *strip, const bool use_same_action, const int flag)
 
struct NlaTrackBKE_nlatrack_copy (struct Main *bmain, struct NlaTrack *nlt, const bool use_same_actions, const int flag)
 
void BKE_nla_tracks_copy (struct Main *bmain, ListBase *dst, ListBase *src, const int flag)
 
struct NlaTrackBKE_nlatrack_add (struct AnimData *adt, struct NlaTrack *prev, bool is_liboverride)
 
struct NlaStripBKE_nlastrip_new (struct bAction *act)
 
struct NlaStripBKE_nlastack_add_strip (struct AnimData *adt, struct bAction *act, const bool is_liboverride)
 
struct NlaStripBKE_nla_add_soundstrip (struct Main *bmain, struct Scene *scene, struct Speaker *speaker)
 
void BKE_nla_strip_foreach_id (struct NlaStrip *strip, struct LibraryForeachIDData *data)
 
bool BKE_nlastrips_has_space (ListBase *strips, float start, float end)
 
void BKE_nlastrips_sort_strips (ListBase *strips)
 
bool BKE_nlastrips_add_strip (ListBase *strips, struct NlaStrip *strip)
 
void BKE_nlastrips_make_metas (ListBase *strips, bool is_temp)
 
void BKE_nlastrips_clear_metas (ListBase *strips, bool only_sel, bool only_temp)
 
void BKE_nlastrips_clear_metastrip (ListBase *strips, struct NlaStrip *strip)
 
bool BKE_nlameta_add_strip (struct NlaStrip *mstrip, struct NlaStrip *strip)
 
void BKE_nlameta_flush_transforms (struct NlaStrip *mstrip)
 
struct NlaTrackBKE_nlatrack_find_active (ListBase *tracks)
 
void BKE_nlatrack_set_active (ListBase *tracks, struct NlaTrack *nlt)
 
struct NlaTrackBKE_nlatrack_find_tweaked (struct AnimData *adt)
 
void BKE_nlatrack_solo_toggle (struct AnimData *adt, struct NlaTrack *nlt)
 
bool BKE_nlatrack_has_space (struct NlaTrack *nlt, float start, float end)
 
void BKE_nlatrack_sort_strips (struct NlaTrack *nlt)
 
bool BKE_nlatrack_add_strip (struct NlaTrack *nlt, struct NlaStrip *strip, const bool is_liboverride)
 
bool BKE_nlatrack_get_bounds (struct NlaTrack *nlt, float bounds[2])
 
bool BKE_nlatrack_is_nonlocal_in_liboverride (const struct ID *id, const struct NlaTrack *nlt)
 
struct NlaStripBKE_nlastrip_find_active (struct NlaTrack *nlt)
 
void BKE_nlastrip_set_active (struct AnimData *adt, struct NlaStrip *strip)
 
bool BKE_nlastrip_within_bounds (struct NlaStrip *strip, float min, float max)
 
void BKE_nlastrip_recalculate_bounds (struct NlaStrip *strip)
 
void BKE_nlastrip_recalculate_bounds_sync_action (struct NlaStrip *strip)
 
void BKE_nlastrip_validate_name (struct AnimData *adt, struct NlaStrip *strip)
 
bool BKE_nlatrack_has_animated_strips (struct NlaTrack *nlt)
 
bool BKE_nlatracks_have_animated_strips (ListBase *tracks)
 
void BKE_nlastrip_validate_fcurves (struct NlaStrip *strip)
 
bool BKE_nlastrip_has_curves_for_property (const struct PointerRNA *ptr, const struct PropertyRNA *prop)
 
void BKE_nla_validate_state (struct AnimData *adt)
 
bool BKE_nla_action_is_stashed (struct AnimData *adt, struct bAction *act)
 
bool BKE_nla_action_stash (struct AnimData *adt, const bool is_liboverride)
 
void BKE_nla_action_pushdown (struct AnimData *adt, const bool is_liboverride)
 
bool BKE_nla_tweakmode_enter (struct AnimData *adt)
 
void BKE_nla_tweakmode_exit (struct AnimData *adt)
 
float BKE_nla_tweakedit_remap (struct AnimData *adt, float cframe, short mode)
 
void BKE_nla_blend_write (struct BlendWriter *writer, struct ListBase *tracks)
 
void BKE_nla_blend_read_data (struct BlendDataReader *reader, struct ListBase *tracks)
 
void BKE_nla_blend_read_lib (struct BlendLibReader *reader, struct ID *id, struct ListBase *tracks)
 
void BKE_nla_blend_read_expand (struct BlendExpander *expander, struct ListBase *tracks)
 

Enumeration Type Documentation

◆ eNlaTime_ConvertModes

Enumerator
NLATIME_CONVERT_EVAL 
NLATIME_CONVERT_UNMAP 
NLATIME_CONVERT_MAP 

Definition at line 148 of file BKE_nla.h.

Function Documentation

◆ BKE_nla_action_is_stashed()

bool BKE_nla_action_is_stashed ( struct AnimData adt,
struct bAction act 
)

◆ BKE_nla_action_pushdown()

void BKE_nla_action_pushdown ( struct AnimData adt,
const bool  is_liboverride 
)

◆ BKE_nla_action_stash()

bool BKE_nla_action_stash ( struct AnimData adt,
const bool  is_liboverride 
)

◆ BKE_nla_add_soundstrip()

struct NlaStrip* BKE_nla_add_soundstrip ( struct Main bmain,
struct Scene scene,
struct Speaker speaker 
)

◆ BKE_nla_blend_read_data()

void BKE_nla_blend_read_data ( struct BlendDataReader reader,
struct ListBase tracks 
)

Definition at line 2284 of file nla.c.

References blend_data_read_nla_strips(), BLO_read_list(), LISTBASE_FOREACH, and tracks.

Referenced by BKE_animdata_blend_read_data().

◆ BKE_nla_blend_read_expand()

void BKE_nla_blend_read_expand ( struct BlendExpander expander,
struct ListBase tracks 
)

Definition at line 2308 of file nla.c.

References blend_read_expand_nla_strips(), LISTBASE_FOREACH, and tracks.

Referenced by BKE_animdata_blend_read_expand().

◆ BKE_nla_blend_read_lib()

void BKE_nla_blend_read_lib ( struct BlendLibReader reader,
struct ID id,
struct ListBase tracks 
)

◆ BKE_nla_blend_write()

void BKE_nla_blend_write ( struct BlendWriter writer,
struct ListBase tracks 
)

Definition at line 2272 of file nla.c.

References blend_write_nla_strips(), BLO_write_struct, LISTBASE_FOREACH, and tracks.

Referenced by BKE_animdata_blend_write().

◆ BKE_nla_strip_foreach_id()

void BKE_nla_strip_foreach_id ( NlaStrip strip,
LibraryForeachIDData data 
)

Callback used by lib_query to walk over all ID usages (mimics foreach_id callback of IDTypeInfo structure).

Definition at line 441 of file nla.c.

References NlaStrip::act, BKE_fcurve_foreach_id(), BKE_LIB_FOREACHID_PROCESS, BKE_nla_strip_foreach_id(), data, NlaStrip::fcurves, IDWALK_CB_USER, LISTBASE_FOREACH, and NlaStrip::strips.

Referenced by BKE_animdata_foreach_id(), and BKE_nla_strip_foreach_id().

◆ BKE_nla_tracks_copy()

void BKE_nla_tracks_copy ( Main bmain,
ListBase dst,
ListBase src,
const int  flag 
)

Copy all NLA data.

Parameters
flagControl ID pointers management, see LIB_ID_CREATE_.../LIB_ID_COPY_... flags in BKE_lib_id.h

Definition at line 257 of file nla.c.

References BKE_nlatrack_copy(), BLI_addtail(), BLI_listbase_clear(), ELEM, ListBase::first, NlaTrack::next, and NULL.

Referenced by BKE_animdata_copy(), and BKE_animdata_merge_copy().

◆ BKE_nla_tracks_free()

void BKE_nla_tracks_free ( ListBase tracks,
bool  do_id_user 
)

Definition at line 141 of file nla.c.

References BKE_nlatrack_free(), BLI_listbase_clear(), ELEM, ListBase::first, NlaTrack::next, NULL, and tracks.

Referenced by BKE_animdata_free().

◆ BKE_nla_tweakedit_remap()

float BKE_nla_tweakedit_remap ( struct AnimData adt,
float  cframe,
short  mode 
)

◆ BKE_nla_tweakmode_enter()

bool BKE_nla_tweakmode_enter ( struct AnimData adt)

◆ BKE_nla_tweakmode_exit()

void BKE_nla_tweakmode_exit ( struct AnimData adt)

◆ BKE_nla_validate_state()

void BKE_nla_validate_state ( struct AnimData adt)

◆ BKE_nlameta_add_strip()

bool BKE_nlameta_add_strip ( struct NlaStrip mstrip,
struct NlaStrip strip 
)

◆ BKE_nlameta_flush_transforms()

void BKE_nlameta_flush_transforms ( struct NlaStrip mstrip)

◆ BKE_nlastack_add_strip()

struct NlaStrip* BKE_nlastack_add_strip ( struct AnimData adt,
struct bAction act,
const bool  is_liboverride 
)

◆ BKE_nlastrip_copy()

struct NlaStrip* BKE_nlastrip_copy ( Main bmain,
NlaStrip strip,
const bool  use_same_action,
const int  flag 
)

Copy NLA strip

Parameters
use_same_actionWhen true, the existing action is used (instead of being duplicated)
flagControl ID pointers management, see LIB_ID_CREATE_.../LIB_ID_COPY_... flags in BKE_lib_id.h

Definition at line 169 of file nla.c.

References NlaStrip::act, BKE_fcurves_copy(), BKE_id_copy_ex(), BKE_nlastrip_copy(), BLI_addtail(), BLI_listbase_clear(), copy_fmodifiers(), NlaStrip::fcurves, ListBase::first, bAction::id, id_us_plus(), LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN, NlaStrip::modifiers, NlaStrip::next, NULL, NlaStrip::prev, and NlaStrip::strips.

Referenced by BKE_nlastrip_copy(), BKE_nlatrack_copy(), nlaedit_duplicate_exec(), and nlaedit_split_strip_actclip().

◆ BKE_nlastrip_find_active()

struct NlaStrip* BKE_nlastrip_find_active ( struct NlaTrack nlt)

◆ BKE_nlastrip_free()

void BKE_nlastrip_free ( ListBase strips,
struct NlaStrip strip,
bool  do_id_user 
)

◆ BKE_nlastrip_has_curves_for_property()

bool BKE_nlastrip_has_curves_for_property ( const struct PointerRNA ptr,
const struct PropertyRNA prop 
)

◆ BKE_nlastrip_new()

struct NlaStrip* BKE_nlastrip_new ( struct bAction act)

◆ BKE_nlastrip_recalculate_bounds()

void BKE_nlastrip_recalculate_bounds ( struct NlaStrip strip)

◆ BKE_nlastrip_recalculate_bounds_sync_action()

void BKE_nlastrip_recalculate_bounds_sync_action ( NlaStrip strip)

Recalculate the start and end frames for the strip to match the bounds of its action such that the overall NLA animation result is unchanged.

Definition at line 1389 of file nla.c.

References NlaStrip::act, NlaStrip::actend, NlaStrip::actstart, BKE_nlastrip_recalculate_bounds(), calc_action_range(), NLASTRIP_TYPE_CLIP, NULL, NlaStrip::scale, NlaStrip::start, and NlaStrip::type.

Referenced by animsys_create_tweak_strip(), BKE_nla_tweakmode_exit(), and nlaedit_sync_actlen_exec().

◆ BKE_nlastrip_set_active()

void BKE_nlastrip_set_active ( struct AnimData adt,
struct NlaStrip strip 
)

◆ BKE_nlastrip_validate_fcurves()

void BKE_nlastrip_validate_fcurves ( struct NlaStrip strip)

◆ BKE_nlastrip_validate_name()

void BKE_nlastrip_validate_name ( struct AnimData adt,
struct NlaStrip strip 
)

◆ BKE_nlastrip_within_bounds()

bool BKE_nlastrip_within_bounds ( struct NlaStrip strip,
float  min,
float  max 
)

◆ BKE_nlastrips_add_strip()

bool BKE_nlastrips_add_strip ( ListBase strips,
struct NlaStrip strip 
)

◆ BKE_nlastrips_clear_metas()

void BKE_nlastrips_clear_metas ( ListBase strips,
bool  only_sel,
bool  only_temp 
)

◆ BKE_nlastrips_clear_metastrip()

void BKE_nlastrips_clear_metastrip ( ListBase strips,
struct NlaStrip strip 
)

◆ BKE_nlastrips_has_space()

bool BKE_nlastrips_has_space ( ListBase strips,
float  start,
float  end 
)

◆ BKE_nlastrips_make_metas()

void BKE_nlastrips_make_metas ( ListBase strips,
bool  is_temp 
)

◆ BKE_nlastrips_sort_strips()

void BKE_nlastrips_sort_strips ( ListBase strips)

◆ BKE_nlatrack_add()

struct NlaTrack* BKE_nlatrack_add ( struct AnimData adt,
struct NlaTrack prev,
bool  is_liboverride 
)

◆ BKE_nlatrack_add_strip()

bool BKE_nlatrack_add_strip ( struct NlaTrack nlt,
struct NlaStrip strip,
const bool  is_liboverride 
)

◆ BKE_nlatrack_copy()

struct NlaTrack* BKE_nlatrack_copy ( Main bmain,
NlaTrack nlt,
const bool  use_same_actions,
const int  flag 
)

Copy a single NLA Track.

Parameters
flagControl ID pointers management, see LIB_ID_CREATE_.../LIB_ID_COPY_... flags in BKE_lib_id.h

Definition at line 223 of file nla.c.

References BKE_nlastrip_copy(), BLI_addtail(), BLI_listbase_clear(), ListBase::first, MEM_dupallocN, NlaStrip::next, NlaTrack::next, NULL, NlaTrack::prev, and NlaTrack::strips.

Referenced by BKE_nla_tracks_copy().

◆ BKE_nlatrack_find_active()

struct NlaTrack* BKE_nlatrack_find_active ( ListBase tracks)

Definition at line 995 of file nla.c.

References ELEM, ListBase::first, NlaTrack::flag, NlaTrack::next, NLATRACK_ACTIVE, NULL, and tracks.

Referenced by BKE_nla_tweakedit_remap().

◆ BKE_nlatrack_find_tweaked()

struct NlaTrack* BKE_nlatrack_find_tweaked ( struct AnimData adt)

◆ BKE_nlatrack_free()

void BKE_nlatrack_free ( ListBase tracks,
struct NlaTrack nlt,
bool  do_id_user 
)

◆ BKE_nlatrack_get_bounds()

bool BKE_nlatrack_get_bounds ( struct NlaTrack nlt,
float  bounds[2] 
)

◆ BKE_nlatrack_has_animated_strips()

bool BKE_nlatrack_has_animated_strips ( struct NlaTrack nlt)

◆ BKE_nlatrack_has_space()

bool BKE_nlatrack_has_space ( struct NlaTrack nlt,
float  start,
float  end 
)

◆ BKE_nlatrack_is_nonlocal_in_liboverride()

bool BKE_nlatrack_is_nonlocal_in_liboverride ( const struct ID id,
const struct NlaTrack nlt 
)

◆ BKE_nlatrack_set_active()

void BKE_nlatrack_set_active ( ListBase tracks,
struct NlaTrack nlt 
)

Definition at line 1091 of file nla.c.

References ELEM, ListBase::first, NlaTrack::flag, NlaTrack::next, NLATRACK_ACTIVE, NULL, and tracks.

Referenced by BKE_nlatrack_add().

◆ BKE_nlatrack_solo_toggle()

void BKE_nlatrack_solo_toggle ( struct AnimData adt,
struct NlaTrack nlt 
)

◆ BKE_nlatrack_sort_strips()

void BKE_nlatrack_sort_strips ( struct NlaTrack nlt)

Definition at line 1135 of file nla.c.

References BKE_nlastrips_sort_strips(), ELEM, ListBase::first, NULL, and NlaTrack::strips.

Referenced by special_aftertrans_update__nla().

◆ BKE_nlatracks_have_animated_strips()

bool BKE_nlatracks_have_animated_strips ( ListBase tracks)

Definition at line 1495 of file nla.c.

References BKE_nlatrack_has_animated_strips(), ELEM, ListBase::first, NlaTrack::next, NULL, and tracks.