Blender V4.3
action.cc File Reference
#include "DNA_action_defaults.h"
#include "DNA_action_types.h"
#include "DNA_anim_types.h"
#include "DNA_array_utils.hh"
#include "DNA_defaults.h"
#include "DNA_scene_types.h"
#include "BLI_listbase.h"
#include "BLI_listbase_wrapper.hh"
#include "BLI_map.hh"
#include "BLI_math_base.h"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_string_utils.hh"
#include "BLI_utildefines.h"
#include "BKE_action.hh"
#include "BKE_anim_data.hh"
#include "BKE_fcurve.hh"
#include "BKE_lib_id.hh"
#include "BKE_main.hh"
#include "BKE_nla.hh"
#include "BKE_preview_image.hh"
#include "BKE_report.hh"
#include "RNA_access.hh"
#include "RNA_path.hh"
#include "RNA_prototypes.hh"
#include "ED_keyframing.hh"
#include "MEM_guardedalloc.h"
#include "BLT_translation.hh"
#include "DEG_depsgraph_build.hh"
#include "ANIM_action.hh"
#include "ANIM_action_iterators.hh"
#include "ANIM_action_legacy.hh"
#include "ANIM_animdata.hh"
#include "ANIM_fcurve.hh"
#include "ANIM_nla.hh"
#include "action_runtime.hh"
#include "atomic_ops.h"
#include <cstdio>
#include <cstring>

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::animrig
 

Functions

static animrig::Layerblender::animrig::ActionLayer_alloc ()
 
template<typename T >
static void blender::animrig::grow_array (T **array, int *num, const int add_num)
 
template<typename T >
static void blender::animrig::grow_array_and_append (T **array, int *num, T item)
 
template<typename T >
static void blender::animrig::grow_array_and_insert (T **array, int *num, const int index, T item)
 
template<typename T >
static void blender::animrig::shrink_array (T **array, int *num, const int shrink_num)
 
template<typename T >
static void blender::animrig::shrink_array_and_remove (T **array, int *num, const int index)
 
template<typename T >
static void blender::animrig::shrink_array_and_swap_remove (T **array, int *num, const int index)
 
template<typename T >
static void blender::animrig::array_shift_range (T *array, const int num, const int range_start, const int range_end, const int to)
 
static void blender::animrig::layer_ptr_destructor (ActionLayer **dna_layer_ptr)
 
static void blender::animrig::slot_name_ensure_unique (Action &action, Slot &slot)
 
static void blender::animrig::slot_ptr_destructor (ActionSlot **dna_slot_ptr)
 
static float2 blender::animrig::get_frame_range_of_fcurves (Span< const FCurve * > fcurves, bool include_modifiers)
 
static void blender::animrig::strip_ptr_destructor (ActionStrip **dna_strip_ptr)
 
Actionblender::animrig::action_add (Main &bmain, StringRefNull name)
 
bool blender::animrig::assign_action (bAction *action, ID &animated_id)
 
bool blender::animrig::assign_action (bAction *action, OwnedAnimData owned_adt)
 
bool blender::animrig::assign_tmpaction (bAction *action, OwnedAnimData owned_adt)
 
bool blender::animrig::unassign_action (ID &animated_id)
 
bool blender::animrig::unassign_action (OwnedAnimData owned_adt)
 
Slotblender::animrig::assign_action_ensure_slot_for_keying (Action &action, ID &animated_id)
 
static bool blender::animrig::is_id_using_action_slot (const ID &animated_id, const Action &action, const slot_handle_t slot_handle)
 
bool blender::animrig::generic_assign_action (ID &animated_id, bAction *action_to_assign, bAction *&action_ptr_ref, slot_handle_t &slot_handle_ref, char *slot_name)
 
ActionSlotAssignmentResult blender::animrig::generic_assign_action_slot (Slot *slot_to_assign, ID &animated_id, bAction *&action_ptr_ref, slot_handle_t &slot_handle_ref, char *slot_name) ATTR_WARN_UNUSED_RESULT
 
ActionSlotAssignmentResult blender::animrig::generic_assign_action_slot_handle (slot_handle_t slot_handle_to_assign, ID &animated_id, bAction *&action_ptr_ref, slot_handle_t &slot_handle_ref, char *slot_name) ATTR_WARN_UNUSED_RESULT
 
bool blender::animrig::is_action_assignable_to (const bAction *dna_action, ID_Type id_code) ATTR_WARN_UNUSED_RESULT
 
ActionSlotAssignmentResult blender::animrig::assign_action_slot (Slot *slot_to_assign, ID &animated_id)
 
ActionSlotAssignmentResult blender::animrig::assign_action_and_slot (Action *action, Slot *slot_to_assign, ID &animated_id)
 
Actionblender::animrig::get_action (ID &animated_id)
 
std::optional< std::pair< Action *, Slot * > > blender::animrig::get_action_slot_pair (ID &animated_id)
 
static void blender::animrig::channelbag_ptr_destructor (ActionChannelBag **dna_channelbag_ptr)
 
static void blender::animrig::fcurve_ptr_destructor (FCurve **fcurve_ptr)
 
static void blender::animrig::fcurve_ptr_noop_destructor (FCurve **)
 
const animrig::ChannelBagblender::animrig::channelbag_for_action_slot (const Action &action, slot_handle_t slot_handle)
 
animrig::ChannelBagblender::animrig::channelbag_for_action_slot (Action &action, slot_handle_t slot_handle)
 
Span< FCurve * > blender::animrig::fcurves_for_action_slot (Action &action, slot_handle_t slot_handle)
 
Span< const FCurve * > blender::animrig::fcurves_for_action_slot (const Action &action, slot_handle_t slot_handle)
 
FCurveblender::animrig::fcurve_find_in_action (bAction *act, FCurveDescriptor fcurve_descriptor)
 
FCurveblender::animrig::fcurve_find_in_assigned_slot (AnimData &adt, FCurveDescriptor fcurve_descriptor)
 
FCurveblender::animrig::fcurve_find_in_action_slot (bAction *act, slot_handle_t slot_handle, FCurveDescriptor fcurve_descriptor)
 
bool blender::animrig::fcurve_matches_collection_path (const FCurve &fcurve, StringRefNull collection_rna_path, StringRefNull data_name)
 
Vector< FCurve * > blender::animrig::fcurves_in_action_slot_filtered (bAction *act, slot_handle_t slot_handle, FunctionRef< bool(const FCurve &fcurve)> predicate)
 
FCurveblender::animrig::action_fcurve_ensure (Main *bmain, bAction *act, const char group[], PointerRNA *ptr, FCurveDescriptor fcurve_descriptor)
 
bool blender::animrig::action_fcurve_remove (Action &action, FCurve &fcu)
 
bool blender::animrig::action_fcurve_detach (Action &action, FCurve &fcurve_to_detach)
 
void blender::animrig::action_fcurve_attach (Action &action, slot_handle_t action_slot, FCurve &fcurve_to_attach, std::optional< StringRefNull > group_name)
 
void blender::animrig::action_fcurve_move (Action &action_dst, slot_handle_t action_slot_dst, Action &action_src, FCurve &fcurve)
 
IDblender::animrig::action_slot_get_id_for_keying (Main &bmain, Action &action, slot_handle_t slot_handle, ID *primary_id)
 
IDblender::animrig::action_slot_get_id_best_guess (Main &bmain, Slot &slot, ID *primary_id)
 
slot_handle_t blender::animrig::first_slot_handle (const ::bAction &dna_action)
 
void blender::animrig::assert_baklava_phase_1_invariants (const Action &action)
 
void blender::animrig::assert_baklava_phase_1_invariants (const Layer &layer)
 
void blender::animrig::assert_baklava_phase_1_invariants (const Strip &strip)
 
Actionblender::animrig::convert_to_layered_action (Main &bmain, const Action &legacy_action)
 
static void blender::animrig::clone_slot (Slot &from, Slot &to)
 
void blender::animrig::move_slot (Main &bmain, Slot &slot, Action &from_action, Action &to_action)