Blender V4.3
blender::animrig::StripKeyframeData Class Reference

#include <ANIM_action.hh>

Inherits ActionStripKeyframeData.

Public Member Functions

 StripKeyframeData ()=default
 StripKeyframeData (const StripKeyframeData &other)
 ~StripKeyframeData ()
blender::Span< const ChannelBag * > channelbags () const
blender::Span< ChannelBag * > channelbags ()
const ChannelBagchannelbag (int64_t index) const
ChannelBagchannelbag (int64_t index)
const ChannelBagchannelbag_for_slot (const Slot &slot) const
ChannelBagchannelbag_for_slot (const Slot &slot)
const ChannelBagchannelbag_for_slot (slot_handle_t slot_handle) const
ChannelBagchannelbag_for_slot (slot_handle_t slot_handle)
ChannelBagchannelbag_for_slot_add (const Slot &slot)
ChannelBagchannelbag_for_slot_ensure (const Slot &slot)
bool channelbag_remove (ChannelBag &channelbag_to_remove)
void slot_data_remove (slot_handle_t slot_handle)
int64_t find_channelbag_index (const ChannelBag &channelbag) const
SingleKeyingResult keyframe_insert (Main *bmain, const Slot &slot, FCurveDescriptor fcurve_descriptor, float2 time_value, const KeyframeSettings &settings, eInsertKeyFlags insert_key_flags=INSERTKEY_NOFLAGS)

Static Public Attributes

static constexpr Strip::Type TYPE = Strip::Type::Keyframe

Additional Inherited Members

Public Attributes inherited from ActionStripKeyframeData
struct ActionChannelBag ** channelbag_array
int channelbag_array_num
uint8_t _pad [4]

Detailed Description

Keyframe strips effectively contain a bag of F-Curves for each Slot.

Definition at line 737 of file ANIM_action.hh.

Constructor & Destructor Documentation

◆ StripKeyframeData() [1/2]

◆ StripKeyframeData() [2/2]

blender::animrig::StripKeyframeData::StripKeyframeData ( const StripKeyframeData & other)
explicit

◆ ~StripKeyframeData()

blender::animrig::StripKeyframeData::~StripKeyframeData ( )

Member Function Documentation

◆ channelbag() [1/2]

ChannelBag * blender::animrig::StripKeyframeData::channelbag ( int64_t index)

◆ channelbag() [2/2]

◆ channelbag_for_slot() [1/4]

ChannelBag * blender::animrig::StripKeyframeData::channelbag_for_slot ( const Slot & slot)

Definition at line 1623 of file animrig/intern/action.cc.

References channelbag_for_slot(), and ActionSlot::handle.

◆ channelbag_for_slot() [2/4]

◆ channelbag_for_slot() [3/4]

ChannelBag * blender::animrig::StripKeyframeData::channelbag_for_slot ( slot_handle_t slot_handle)

Definition at line 1613 of file animrig/intern/action.cc.

References StripKeyframeData().

◆ channelbag_for_slot() [4/4]

const ChannelBag * blender::animrig::StripKeyframeData::channelbag_for_slot ( slot_handle_t slot_handle) const

Definition at line 1595 of file animrig/intern/action.cc.

References channelbags(), and channels().

◆ channelbag_for_slot_add()

ChannelBag & blender::animrig::StripKeyframeData::channelbag_for_slot_add ( const Slot & slot)

◆ channelbag_for_slot_ensure()

ChannelBag & blender::animrig::StripKeyframeData::channelbag_for_slot_ensure ( const Slot & slot)

◆ channelbag_remove()

bool blender::animrig::StripKeyframeData::channelbag_remove ( ChannelBag & channelbag_to_remove)

Remove the ChannelBag from this slot.

After this call the reference is no longer valid, as the memory will have been freed.

Returns
true when the ChannelBag was found & removed, false if it wasn't found.

Definition at line 1657 of file animrig/intern/action.cc.

References ActionStripKeyframeData::channelbag_array, ActionStripKeyframeData::channelbag_array_num, blender::animrig::channelbag_ptr_destructor(), find_channelbag_index(), and blender::dna::array::remove_index().

Referenced by slot_data_remove(), and StripKeyframeData().

◆ channelbags() [1/2]

blender::Span< ChannelBag * > blender::animrig::StripKeyframeData::channelbags ( )

◆ channelbags() [2/2]

◆ find_channelbag_index()

int64_t blender::animrig::StripKeyframeData::find_channelbag_index ( const ChannelBag & channelbag) const

Return the channelbag's index, or -1 if there is none for this slot handle.

Definition at line 1604 of file animrig/intern/action.cc.

References channelbag(), and ActionStripKeyframeData::channelbag_array_num.

Referenced by channelbag_remove(), blender::animrig::move_slot(), and StripKeyframeData().

◆ keyframe_insert()

◆ slot_data_remove()

void blender::animrig::StripKeyframeData::slot_data_remove ( slot_handle_t slot_handle)

Remove all strip data for the given slot.

Typically only called from #Strip::slot_data_remove().

Definition at line 1673 of file animrig/intern/action.cc.

References channelbag(), channelbag_for_slot(), and channelbag_remove().

Referenced by StripKeyframeData().

Member Data Documentation

◆ TYPE

Strip::Type blender::animrig::StripKeyframeData::TYPE = Strip::Type::Keyframe
staticconstexpr

Definition at line 740 of file ANIM_action.hh.

Referenced by blender::animrig::Strip::data(), and blender::animrig::Strip::data().


The documentation for this class was generated from the following files: