Blender V4.3
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
11#pragma once
12
13#include <cstdint>
14
15#include "BLI_vector.hh"
16#include "DNA_action_types.h"
17
18struct FCurve;
19namespace blender::animrig {
20class Action;
21class Layer;
22class Strip;
23class ChannelBag;
24} // namespace blender::animrig
25
26namespace blender::animrig {
27
28using slot_handle_t = decltype(::ActionSlot::handle);
29
34void foreach_fcurve_in_action(Action &action, FunctionRef<void(FCurve &fcurve)> callback);
35
43void foreach_fcurve_in_action_slot(Action &action,
44 slot_handle_t handle,
45 FunctionRef<void(FCurve &fcurve)> callback);
46
63 const ID &animated_id,
64 FunctionRef<bool(const Action &action, slot_handle_t slot_handle)> callback);
65
75 ID &animated_id,
76 FunctionRef<bool(bAction *&action_ptr_ref, slot_handle_t &slot_handle_ref, char *slot_name)>
77 callback);
78
79} // namespace blender::animrig
DEGForeachIDComponentCallback callback
void foreach_fcurve_in_action_slot(Action &action, slot_handle_t handle, FunctionRef< void(FCurve &fcurve)> callback)
bool foreach_action_slot_use_with_references(ID &animated_id, FunctionRef< bool(bAction *&action_ptr_ref, slot_handle_t &slot_handle_ref, char *slot_name)> callback)
void foreach_fcurve_in_action(Action &action, FunctionRef< void(FCurve &fcurve)> callback)
decltype(::ActionSlot::handle) slot_handle_t
bool foreach_action_slot_use(const ID &animated_id, FunctionRef< bool(const Action &action, slot_handle_t slot_handle)> callback)
Definition DNA_ID.h:413