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]

blender::animrig::StripKeyframeData::StripKeyframeData ( )
default

◆ 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 channelbag_for_slot().

◆ 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().

◆ 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(), and blender::animrig::move_slot().

◆ 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().

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: