Blender V4.3
ANIM_action.hh File Reference

Functions and classes to work with Actions. More...

#include "ANIM_fcurve.hh"
#include "ANIM_keyframing.hh"
#include "DNA_action_types.h"
#include "DNA_anim_types.h"
#include "BKE_anim_data.hh"
#include "BLI_math_vector.hh"
#include "BLI_span.hh"
#include "BLI_string_ref.hh"
#include "BLI_vector.hh"
#include "RNA_types.hh"
#include <utility>

Go to the source code of this file.

Classes

class  blender::animrig::Action
 
class  blender::animrig::Strip
 
class  blender::animrig::Layer
 
class  blender::animrig::Slot
 
class  blender::animrig::StripKeyframeData
 
class  blender::animrig::ChannelBag
 
class  blender::animrig::ChannelGroup
 

Namespaces

namespace  blender
 
namespace  blender::animrig
 

Typedefs

using blender::animrig::slot_handle_t = decltype(::ActionSlot::handle)
 

Enumerations

enum class  blender::animrig::ActionSlotAssignmentResult : int8_t { blender::animrig::OK = 0 , blender::animrig::SlotNotFromAction = 1 , blender::animrig::SlotNotSuitable = 2 , blender::animrig::MissingAction = 3 }
 

Functions

 blender::animrig::ENUM_OPERATORS (Layer::Flags, Layer::Flags::Enabled)
 
 blender::animrig::ENUM_OPERATORS (Slot::Flags, Slot::Flags::Active)
 
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)
 
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)
 
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::action_fcurve_ensure (Main *bmain, bAction *act, const char group[], PointerRNA *ptr, FCurveDescriptor fcurve_descriptor)
 
FCurveblender::animrig::fcurve_find_in_action (bAction *act, FCurveDescriptor fcurve_descriptor)
 
FCurveblender::animrig::fcurve_find_in_action_slot (bAction *act, slot_handle_t slot_handle, FCurveDescriptor fcurve_descriptor)
 
FCurveblender::animrig::fcurve_find_in_assigned_slot (AnimData &adt, 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)
 
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)
 
void blender::animrig::move_slot (Main &bmain, Slot &slot, Action &from_action, Action &to_action)
 
void blender::animrig::deselect_keys_actions (blender::Span< bAction * > actions)
 
void blender::animrig::action_deselect_keys (Action &action)
 

Detailed Description

Functions and classes to work with Actions.

Definition in file ANIM_action.hh.