Blender V5.0
ANIM_action_iterators.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
10
11#pragma once
12
13#include "BLI_function_ref.hh"
14#include "DNA_action_types.h"
15
16struct FCurve;
17namespace blender::animrig {
18class Action;
19class Layer;
20class Strip;
21class Channelbag;
22} // namespace blender::animrig
23
24namespace blender::animrig {
25
27
32void foreach_fcurve_in_action(Action &action, FunctionRef<void(FCurve &fcurve)> callback);
33
42 slot_handle_t handle,
43 FunctionRef<void(FCurve &fcurve)> callback);
44
61 const ID &animated_id,
62 FunctionRef<bool(const Action &action, slot_handle_t slot_handle)> callback);
63
79 ID &animated_id,
80 FunctionRef<bool(ID &animated_id,
81 bAction *&action_ptr_ref,
82 slot_handle_t &slot_handle_ref,
83 char *last_slot_identifier)> callback);
84
101 FunctionRef<bool(ID &animated_id,
102 bAction *action,
103 PointerRNA &action_slot_owner_ptr,
104 PropertyRNA &action_slot_prop,
105 char *last_slot_identifier)> callback);
106
107} // namespace blender::animrig
void foreach_fcurve_in_action_slot(Action &action, slot_handle_t handle, FunctionRef< void(FCurve &fcurve)> callback)
void foreach_fcurve_in_action(Action &action, FunctionRef< void(FCurve &fcurve)> callback)
decltype(::ActionSlot::handle) slot_handle_t
bool foreach_action_slot_use_with_rna(ID &animated_id, FunctionRef< bool(ID &animated_id, bAction *action, PointerRNA &action_slot_owner_ptr, PropertyRNA &action_slot_prop, char *last_slot_identifier)> callback)
bool foreach_action_slot_use_with_references(ID &animated_id, FunctionRef< bool(ID &animated_id, bAction *&action_ptr_ref, slot_handle_t &slot_handle_ref, char *last_slot_identifier)> callback)
bool foreach_action_slot_use(const ID &animated_id, FunctionRef< bool(const Action &action, slot_handle_t slot_handle)> callback)
Definition DNA_ID.h:414